Определение свойства из макроса уровня выражения
От: Ziaw Россия  
Дата: 08.04.13 08:49
Оценка:
Вызов макры вызывает ICE. Хотя и поле и метод таким образом определяются нормально.
  public macro Macro1()
  {
      Test.test(ImplicitCTX());
      <[]>
  }

  module Test
  {
    public test(t: Typer): void
    {
        t.CurrentTypeBuilder.Define(
            <[decl: Prop : int { get {1} } ]>
        );
    }
  }


  Скрытый текст
internal compiler error: assertion ``method_base != null && !method_base.IsConstructor'' failed in file ncc\hierarchy\ClassMembers.n, line 905: Program.get_Prop
в Nemerle.Compiler.MethodBuilder.GetMethodInfo()
в Nemerle.Compiler.PropertyBuilder.Compile()
в Nemerle.Compiler.TypesManager._N__N_lambda__61444__61460.apply_void()
в Nemerle.Compiler.TypeBuilder.BeforeFinalizeType()
в Nemerle.Compiler.TypeBuilder.EmitImplementation()
в Nemerle.Compiler.TypesManager._N_emit_impl__61365.apply_void(TypeBuilder ti)
в Nemerle.Compiler.TypesManager._N_maybe_f__61616.apply_void(TypeBuilder ti)
в Nemerle.Collections.NList.Iter[T](list`1 l, FunctionVoid`1 f)
в Nemerle.Compiler.TypesManager.Iter(list`1 builders, FunctionVoid`1 f)
в Nemerle.Compiler.TypesManager.compile_all_tyinfos(Boolean aux_phase)
в Nemerle.Compiler.TypesManager._N__N_lambda__60789__60892.apply_void()
в Nemerle.Compiler.Solver.Enqueue(FunctionVoid action)
в Nemerle.Compiler.TypesManager.EmitDecls()
в Nemerle.Compiler.ManagerClass.Run()
в Nemerle.CommandlineCompiler.MainClass.main_with_catching()
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.