Определение свойства из макроса уровня выражения
От: 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()
Re: github issue
От: Ziaw Россия  
Дата: 08.04.13 08:51
Оценка:
Здравствуйте, Ziaw, Вы писали:

https://github.com/rsdn/nemerle/issues/495
Re: Определение свойства из макроса уровня выражения
От: hardcase Пират http://nemerle.org
Дата: 09.04.13 07:27
Оценка:
Здравствуйте, Ziaw, Вы писали:

Цитата <[]> емнип раскрывается в null.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Определение свойства из макроса уровня выражения
От: Ziaw Россия  
Дата: 09.04.13 08:49
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Цитата <[]> емнип раскрывается в null.


Да нет, там все нормально. Проблема в компиляции свойства. Я уже нашел воркэраунд, избавившись от необходимости свойств, обошелся полями.
... << RSDN@Home 1.2.0 alpha 5 rev. 67>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.