Что означает свойство ParsedTree.PExpr.TypedObject ?
От: Jack128  
Дата: 13.12.10 08:24
Оценка:
Собственно сабж
Re: Что означает свойство ParsedTree.PExpr.TypedObject ?
От: hardcase Пират http://nemerle.org
Дата: 13.12.10 08:30
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Собственно сабж


Туда складывается TExpr после типизации соответствующего PExpr.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Что означает свойство ParsedTree.PExpr.TypedObject ?
От: Jack128  
Дата: 13.12.10 08:55
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, Jack128, Вы писали:


J>>Собственно сабж


H>Туда складывается TExpr после типизации соответствующего PExpr.


а если это свойство == null, как его получить???
Re[3]: Что означает свойство ParsedTree.PExpr.TypedObject ?
От: hardcase Пират http://nemerle.org
Дата: 13.12.10 09:15
Оценка:
Здравствуйте, Jack128, Вы писали:

J>а если это свойство == null, как его получить???


А что хочется сделать? Выражения типизировать можно напрямую, например как тут (см вызов TransformWhenAllTypesWouldBeInfered).
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: Что означает свойство ParsedTree.PExpr.TypedObject ?
От: Jack128  
Дата: 13.12.10 09:36
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, Jack128, Вы писали:


J>>а если это свойство == null, как его получить???


H>А что хочется сделать?

Но вообще — хочется, чтоб рефакторинг Rename работал. а то даже в таком простом примере нельзя переименовать TestModule

using Nemerle.Collections;
using Nemerle.Text;
using Nemerle.Utility;

using System;
using System.Collections.Generic;
using System.Console;
using System.Linq;

module Program
{
  Main() : void
  {
    TestModule.TestMethod();
    WriteLine("Hi!");
    _ = ReadLine();
  }
  
  module TestModule
  {
      public TestMethod(): void {}
  }
}


соответственно потихоньку в коде разбираюсь..

H>Выражения типизировать можно напрямую, например как тут (см вызов TransformWhenAllTypesWouldBeInfered).


угу, сенкс, гляну.
Re: Что означает свойство ParsedTree.PExpr.TypedObject ?
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.12.10 11:15
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Собственно сабж


В TypedObject помещается ветка типизированного АСТ соответствующая текущей неттипизированной ветке. Компилятором это свойство не используется, но может быть использовано в макросах. Реально его добавили для поддержки IDE.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Что означает свойство ParsedTree.PExpr.TypedObject ?
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.12.10 11:45
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Но вообще — хочется, чтоб рефакторинг Rename работал. а то даже в таком простом примере нельзя переименовать TestModule


К сожалению информация для пространств имен и некоторых типов часто теряется. Так уж написан компилятор (не рассчитывали они на использование его в IDE).

Так что без серьезного рефакторинга компилятора тут ничего не поделаешь.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.