Здравствуйте, _NN_, Вы писали:
_NN>Пытаюсь сделать простой макрос, который вычислит тип поля и добавит родителя в класс.
_NN>Но что-то не работает, выдает NullReferenceException в недрах компилятора.
_NN>Может я не правильно делаю ?
_NN> def c = typeBuilder.Ast :> TopDeclaration.Class;
_NN> def typedVariable = typer.TypeExpr(variable);
_NN> when (!typedVariable.ty.IsFree)
_NN> Message.Error(variable.Location, "expected expression with inferred type");
_NN> c.t_extends ::= PExpr.TypedType(typedVariable.Type.Fix());
_NN> }
_NN>}
Че то ты здесь намудрил, пытаешься добавить на этапе BeforeInheritance а задействуешь типизацию, немудрено NRE получить, обычно на этой фазе добавляют с помощью метода AddImplementedInterface, через обычный PExpr:
typeBuilder.AddImplementedInterface(<[ BaseType[TType] ]>);