Здравствуйте, nikov, Вы писали:
VD>>Не понял... Это кто-то из наших плагин написал, или это в JetBrains народ так крут?
N>Это в JetBrains народ так крут, что смог по PDB найти и открыть исходник.
Ну, вот вечно ты всю малине испортишь Я уже было дело поверил в чудо.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, VladD2, Вы писали:
VD>>Не понял... Это кто-то из наших плагин написал, или это в JetBrains народ так крут?
N>Это в JetBrains народ так крут, что смог по PDB найти и открыть исходник.
Но ни ilspy ни reflector этого не умеют. Я ж и говорю, мелочь, но приятно.
А вообще — молодцы, очень хороший продукт. Ну... как и все от jb Ты случайно не знаешь, планируется API для поддержки сторонних языков?
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Ты случайно не знаешь, планируется API для поддержки сторонних языков?
Оно по сути есть. Только толку с него — 0, поскольку основная фишка dotPeek — навигация по декомпилированному коду, и, как следствие, необходимость почти полной поддержки CodeModel для целевого языка
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Здравствуйте, xvost, Вы писали:
X>Оно по сути есть. Только толку с него — 0, поскольку основная фишка dotPeek — навигация по декомпилированному коду, и, как следствие, необходимость почти полной поддержки CodeModel для целевого языка
Рефлектор же это делает для любого языка. Там только навигация всегда делается через декомпиляцию. Переходишь на метод... Рефлктор находит его метаданные и IL и декомпилирует их.
Я правильно понимаю, что у вас сложность в том, что вы всегда декомпилируете большой объем кода (целый класс, например) и для навигации внутри него нужно знать его структуру?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>А вообще — молодцы, очень хороший продукт. Ну... как и все от jb
Спасибо
KV>Ты случайно не знаешь, планируется API для поддержки сторонних языков?
API там точно такой же как у ReSharper, т.е. плагин поддержки Nemerle буде написан для ReSharper будет работать в дотпике (по модулю совместимости версий). Ну плюс разбор IL в конструкции Nemerle и генерация текста.
Тут ведь в чём дело, мало сгенерировать текст. Чтобы работали все фичи, нужно изготовить AST по правилам ReSharper-ного движка, и порезолвить всё (типировать). А это уже половина кодмодели ReSharper, так и до модификации кода, а значит и рефакторингов, недалеко.
Правда, без сворачивания макросов всё это чуть менее чем совершенно бессмысленно, имхо.
Здравствуйте, VladD2, Вы писали:
VD>Я правильно понимаю, что у вас сложность в том, что вы всегда декомпилируете большой объем кода (целый класс, например) и для навигации внутри него нужно знать его структуру?
нет.
Рефлектор при декомпиляции запоминает по оффсетам метадата-токены символов. Поэтому ему даже парсер не нужен того языка, в который он декомпилирует.
Мы,после декомпиляции, строим полную модель кода по исходнику
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Здравствуйте, xvost, Вы писали:
VD>>Я правильно понимаю, что у вас сложность в том, что вы всегда декомпилируете большой объем кода (целый класс, например) и для навигации внутри него нужно знать его структуру?
X>нет.
X>Рефлектор при декомпиляции запоминает по оффсетам метадата-токены символов. Поэтому ему даже парсер не нужен того языка, в который он декомпилирует.
X>Мы,после декомпиляции, строим полную модель кода по исходнику
Ну, так я о том и говорил в общем-то.
Вообще подход Рефлектора, с точки зрения расширяемости, более правильный. Надо меньше телодвижений для поддержки нового языка.
Я правильно понимаю что в dotPeek симулирует работу в студии (подсветка мест использования и т.п.)?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.