Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Artmal
87 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,036
1

Возможно ли изменить байт-код класса потомка на этапе компиляции?

11.02.2020, 18:22. Просмотров 174. Ответов 2
Метки нет (Все метки)

Стало интересно, возможно ли, например, написать аннотацию и процессор к ней, которая будет применятся к родительскому классу и любым(хоть каким-нибудь) образом менять классы потомки(рефлексией), чтобы на этапе компиляции как-то изменить класс?

Я знаю, например, про @Inherited для аннотаций, которая должна работать очень похожим образом(если у предка есть определенная аннотация, добавить на этапе компиляции ее и потомкам). Но не могу найти сорс кода процессора для @Inherited. Есть ли он вообще? Или эти процессоры(встроенные по типу @Override и тд) реализованы на уровне javac и подобное кастомным annotation процессором не повторишь?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2020, 18:22
Ответы с готовыми решениями:

Включение/выключение try/catch по условию на этапе компиляции. Возможно ли это?
Всем доброго дня. При доработке и тестировании довольно большого проекта на ASP.NET (C#) возник...

Как добавить анонимный тип в объект не на этапе компиляции, а на этапе выполнения программы? Надо для routes.MapRoute
В приложении ASP.NET MVC у меня есть xml файл с маршрутами типа: <route url="Home/{par1}/{par2}"...

Вызов специфических для потомка функций, не зная класса потомка
Доброго времени суток. Когда-то давно делал работу в C#, а сейчас захотел повторить то же в C++....

Как изменить код чтобы он отображал количество прочитанных байт
В книге есть код H = waitbar(0); For i=1:100 S=int2str(i); S=strcat(s,'%'); For j=1:1000000...

[Интересно] Необходимо изменить тело метода другого класса в runtime. Модификация байт-кода, ASM
Здравствуйте. Имеется множество скомпилированных классов другой программы, которые нужно загрузить...

2
korvin_
2854 / 2096 / 382
Регистрация: 28.04.2012
Сообщений: 7,081
11.02.2020, 19:28 2
Artmal, посмотри Lombok, например.
0
Artmal
87 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,036
11.02.2020, 20:18  [ТС] 3
korvin_, так ломбок же javac internal api использует. Меня интересует возможно ли подобное написать на vanilla java.
0
11.02.2020, 20:18
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2020, 20:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вызов слота класса потомка при вызове сигнала класса родителя
Всем привет. Ситуация следующая. Есть класс родитель "class1". В нём объявлен и вызывается...

Передача управления из конструктора класса-родителя в конструктор класса-потомка
Здравствуйте. Возможно ли передать управление из конструктора класса-родителя в конструктор...

Реализовать оператор= для присваивания объекта класса-потомка объекту базового класса
Есть два класса A и B, причем класс B является потомком A. Как реализовать следующее: obj_A = obj_B...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.