Как стать автором
Обновить

Комментарии 3

Потому что к моменту вызова функции виртуальная машина уже совершенно не в курсе, где функция была создана.

В отладчике IDEA есть возможность промаркировать значение (контекстное меню переменной во вкладке «Variables» ⇒ Mark Object... F11). Нельзя ли этот механизм задействовать для улучшения Step Into?


Для тех кто не знает, выглядит примерно так:

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

Если правильно оформить JEP и еще немного подумать как сделать красиво, то вполне наверно можно было бы решение задачи "понять откуда ссылка на метод" засунуть в апстрим OpenJDK. Но понятно это время потребует поболее чем давай-ка побыстрому захачим (с другой стороны ты же уже потратил время на статью :). Если вдруг патч станет популярным сам по себе может и JEP появиться сам по себе.

Это ограничивает возможности для дедупликации рантайм-представлений. Была такая инициатива condy-folding по склейке одинаковых метод-референсов (а потенциально и лямбд) в пределах класса в одну константу. Что-то заглохло оно, но может кто-то хотел бы к ней вернуться. Ну и придётся делать какое-то исключение для скрытых классов в стек-трейсах (например, показывать, если там дебаг-инфо есть), то есть уже изменения в хотспотовском рантайме.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории