LINUX.ORG.RU

Утилита для просмотра AST Java-классов

 , ,


0

0
Тим Бодро написал на Swing удобную утилиту, не пока имеющую названия. Он предлагает использовать ее для просмотра в графическом виде AST байткода, сгенерированного компилятором javac, что поможет разработчику лучше понимать, как работает его программа. Помимо ссылок на скачивание в блоге, утилита вошла в CVS NetBeans http://www.netbeans.org/comm... в ветку contrib/SyntaxTreeNavigator.

>>> Подробности

anonymous

Проверено: anonymous_incognito ()
Хорошо, что придумал, что она делает. А то как бы звучало: программист написал утилиту, но не придумал пока, как назвать, и не знает, что она делает!
anonymous
()
> что поможет разработчику лучше понимать, как работает его программа

Имея исходный код, программист не понимал, как работает его программа, а после компиляции и декомпиляции сразу все встает на свои места!

Похоже, корованы в опасности.

DOKA
()
Ответ на: комментарий от DOKA
1) программа может быть чужой.

2) бывают странности в компиляторе. Иногда интересно понять, что он делает с одним и тем же исходником, но разными опциями.

AVL2 ★★★★★
()
Имхо не сильно надо, т.к. реальный код выполняется после компиляции байт-кода, а она может вносить очень сильные коррективы в производительность.
Legioner ★★★★★
()
Я вот только не понял, какой такой AST у плоского байткода?

Разве что try-catch блоки выделяются.

anonymous
()
Ответ на: комментарий от Legioner
Надо, если ты компилятор пишешь. Но в таком случае ты и так всегда можешь посмотреть, что за код ты гонишь.
anonymous
()
Ответ на: комментарий от Deleted
Присоединяюсь к предыдущему оратору - что есть скавивание?
Diffor
()
Подскажите чем можно внутри скомпилированного java-класса поменять значение, которое передаётся в метод с false на true?
Bohtvaroh ★★★★
()
сходил по ссылке(каюсь). спешу доложить - это смотрелка исходного кода(в виде AST), байткод тут ни при чём.
anonymous
()
Ответ на: комментарий от Bohtvaroh
>> google-> java hex editor

>И?

Ты зачем гугл-бота теребишь? Он всем так отвечает. Какой вопрос не задай - ответ google->blablabla. Еще под человека замаскировали-то как :-)

kost-bebix ★★
()
Ответ на: комментарий от Bohtvaroh
>Подскажите чем можно внутри скомпилированного java-класса поменять значение, которое передаётся в метод с false на true?

jad - java decompiler

Разбери и собери.

r ★★★★★
()
Ответ на: комментарий от r
> Разбери и собери.

Дык это всё понятно, jad-ом я пользоваться У-М-Е-Ю, мне интересно в бинарном виде. С декомпайлерами трабла, когда в классе есть вложенные классы, анонимные классы, и вообще, когда объектная модель запутанная - чёрт ногу сломит, в таких случаях прикольно бы было прямо в бинарнике поменять. Короче, надо разбираться в устройстве класс-файлов. :)

Bohtvaroh ★★★★
()
Ответ на: комментарий от r
> jad - java decompiler

Кстати оно уже unsupported, java5 не умеет, генерит какие-то левые goto которые потом тупо не собираются...

Bohtvaroh ★★★★
()
Ответ на: комментарий от Bohtvaroh
> в таких случаях прикольно бы было прямо в бинарнике поменять. Короче, надо разбираться в устройстве класс-файлов. :)

Когда коту делать нечего он яйца вылизывает.

anonymous
()
Посмотрел на скриншот на ссылке.

К сожалению, не умеет данный господин корректно под макось под свинг писАть.

Bioreactor ★★★★★
()
Ответ на: комментарий от Bohtvaroh
Дык!:) Я всегда говорил, что лучше быть теоретиком-преподавателем языка [подставить_имя_языка]. Чем "[подставить_имя_языка]быдокодером", которому "капо"-манагер_проекта все время говорит, что надо "арбайтен, арбайтен унд арбайтен" ибо "арбайт махт фрай!".:))

Так что господину автору утилиты можно позавидовать. (И пожелать выйчить Apple Human Interface Guidelines.)

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor
Это в смысле .plist не освоил и -Dapple.laf.useScreenMenuBar ?
r ★★★★★
()
Ответ на: комментарий от mutable
>погляди на AspectJ

эээээ - это уже лизание яиц через не знаю что.

r ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.