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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.