Отладка/макросы
От: Denom Украина  
Дата: 17.09.09 10:53
Оценка:
Обновил исходники до ревизии 8292 — чтобы пользовать интеграцию и более позднюю версию компилятора.
Собрал/установил интерацию и компилятор в отладочном режиме.
Запустил из под Experemental Hive

собственно ошибка:

def processMokItfDefinitions(tyAst)
    {
            
      def bindTy = typer.BindType(tyAst, true, false);
                 
      match (bindTy.Hint)
      {
        | Some(ty) => 
          // В случае если произошла ошибка при привязке типа тип будет "object".
          // При этом, сообщение об ошибке уже должно быть выдано компилятором.
          // Так что просто игнорируем "object". Это можно сделать более цивильно, но мне в лом.
          if (!ty.IsInterface && ty.ToString() != "object")
            // При выдаче сообщения об ошибке указываем Location, чтобы было ясно, для 
            // какого типа выдается это сообщение.
            Message.Error(tyAst.Location, $"Type $ty is not a interface type");
            
          else Util.locate(tyAst.Location, makeMoke(ty)); // Util.locate задает локешон используемый по умолчанию
              
        | None => Message.Error(tyAst.Location, "Type inference not allowed here"); // выдается, например, на "_" или на _[_].
      }
    }

на этой строке

          else Util.locate(tyAst.Location, makeMoke(ty)); // Util.locate задает локешон используемый по умолчанию


ошибка
Error 1 unbound name 'LocationStack' in 'ManagerClass.Instance'. Unbound name 'LocationStack' in 'ManagerClass.Instance'. Unbound name 'LocationStack' in 'ManagerClass.Instance' C:\devel\Nemerle_test\MockMacroLibrary\MockObjectGenerator.n 86 16 MockMacroLibrary

как найти причину/исправить/использовать воркэраунд?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re: Отладка/макросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.09 11:44
Оценка:
Здравствуйте, Denom, Вы писали:

На первый взгляд похоже на то, что что-то не скомпилировалось как надо.

Чтобы проверить это мне нужны исходники макросов. Пришли, плиз мне их на мыло.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Отладка/макросы
От: Denom Украина  
Дата: 17.09.09 12:02
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Чтобы проверить это мне нужны исходники макросов. Пришли, плиз мне их на мыло.


потерял твой мэил...
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[3]: Отладка/макросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.09 13:19
Оценка:
Здравствуйте, Denom, Вы писали:

D>потерял твой мэил...


Он в профайле указан.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Отладка/макросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.09 13:37
Оценка:
Здравствуйте, Denom, Вы писали:

Я чекаутнул 8292. Собрал ее. Собрал интеграцию. Собрал присланный мне на почту проект.
Все ОК.

Так что проблема именно в некорректной сборке. Возможно, что где-то завалялась старая сборка компилятора.

Сделай следующее:
1. Сотри все вхождения сборок Nemerle.*.dll.
2. Удали все исходники (https://nemerle.googlecode.com/svn/nemerle/trunk) и заново сделай Checkupt.
3. Собери компилятор с помощью BuildAndReg-1-phase.cmd или BuildAndReg.cmd.
4. Собери интеграцию с помощью build_dev.cmd.
5. Перекомпилируй свой проект.

Все должно заработать.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Отладка/макросы
От: Denom Украина  
Дата: 17.09.09 14:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Все должно заработать.


по умолчанию компилятор собирается солюшеном от 2005-й студии(как default target), так и должно быть?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[3]: Отладка/макросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.09 14:23
Оценка:
Здравствуйте, Denom, Вы писали:

D>по умолчанию компилятор собирается солюшеном от 2005-й студии(как default target), так и должно быть?


Компилятор собирается MSBuild-ом от второго фрэймворка. Ему соответствует формат солюшена 2005-ой студии (если мне не изменяет память).
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Отладка/макросы
От: Denom Украина  
Дата: 17.09.09 14:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Все должно заработать.


Даки — да, заработало.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[3]: Отладка/макросы
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 18.09.09 21:43
Оценка:
Здравствуйте, Denom, Вы писали:

D>Даки — да, заработало.


Интересно, проблему с indent это тоже решило?
Ce n'est que pour vous dire ce que je vous dis.
Re[4]: Отладка/макросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.09.09 21:53
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Интересно, проблему с indent это тоже решило?


Не уверен, но новый подход ко обработке исходников делает это возможным. Теперь исходник всегда парсится при каждом вводе. Так что должна срабатывать вся химия организованная на исключениях которую налепили авторы.

Но может быть много мест где не учитываются особенности отсупного синтаксиса.

В общем, пробуйте и пишите сюда о результатах...
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.