Size: a a a

Чат подкаста «Разбор Полётов»

2020 March 12

J🎩

JBaruch 🎩 in Чат подкаста «Разбор Полётов»
Alexey Abashev
Есть общие стулья на которых сидят во время молитвы?
в смысле "общие"? Несколько человек на одном стуле? Нет
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Sergey Kapralov
Об аннотейшн процессорах? Которые процессят аннотации в сорцах? Причем c ретеншеном SRC аннотации, даже не CLASS?
но спасибо, этот вопрос значительно упростил нашу беседу.
источник

SK

Sergey Kapralov in Чат подкаста «Разбор Полётов»
Sergei Egorov
Там выше есть ссылка, советую пойти почитать, как работает annotation processing, где он происходит, что такое компиляция, и вот это вот всё
Не, ну я в курсе что процессинг это один из степов который делает javac (если отсылка к этому), но все же.
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Sergey Kapralov
Не, ну я в курсе что процессинг это один из степов который делает javac (если отсылка к этому), но все же.
т.е. мы всё же о компиляции говорим?
источник

SK

Sergey Kapralov in Чат подкаста «Разбор Полётов»
Sergei Egorov
т.е. мы всё же о компиляции говорим?
Ну, я ментально разделил генерацию байткода и процессинг сорцов, и первое implicitly назвал компиляцией. Расхождение в терминологии значит
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Sergey Kapralov
Ну, я ментально разделил генерацию байткода и процессинг сорцов, и первое implicitly назвал компиляцией. Расхождение в терминологии значит
забавно как, мне вот показалось что терминология одна, а проблема в другом. Ну да ладно...
источник

KT

Kirill Tolkachev in Чат подкаста «Разбор Полётов»
JBaruch 🎩
ну вот я про это. Женька провёл пол часа в сорцах, и всё понял.
Даже не в сорцах ломбока. Идея и её декомпилятор помогли найти заветную "магию" :)
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
особенно интересно что такое "процессинг сорцов"
источник

J🎩

JBaruch 🎩 in Чат подкаста «Разбор Полётов»
Kirill Tolkachev
Даже не в сорцах ломбока. Идея и её декомпилятор помогли найти заветную "магию" :)
точно
источник

J🎩

JBaruch 🎩 in Чат подкаста «Разбор Полётов»
в результатах
источник

SK

Sergey Kapralov in Чат подкаста «Разбор Полётов»
Sergei Egorov
особенно интересно что такое "процессинг сорцов"
Ну то есть модификация AST через процессоры — легально?
источник

AA

Alexey Abashev in Чат подкаста «Разбор Полётов»
Jktu
Алексей направьте куда посмотреть async с  transactional. Имею такой кейс сейчас
ну так куда направлять - только архитектурно разруливать разбиваешь на отдельные слои и в каждом слое делать своё, потому что поведение недетрминировано
источник

SP

Sam Panza in Чат подкаста «Разбор Полётов»
Sergey Kapralov
Ну то есть модификация AST через процессоры — легально?
Абсолютли
источник

SK

Sergey Kapralov in Чат подкаста «Разбор Полётов»
Ну хз. Визуально выглядит как хак.
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Sergey Kapralov
Ну хз. Визуально выглядит как хак.
https://github.com/JCTools/JCTools/blob/aabd96a526402c5e8f5fe92112fb3b2a33b9c628/jctools-core/src/main/java/org/jctools/queues/MpmcArrayQueue.java#L25


а такое не вызывает ощущение что выглядит как хак, например?
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
*визуально*
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
(чтобы это не значило)
источник

SK

Sergey Kapralov in Чат подкаста «Разбор Полётов»
Sergei Egorov
*визуально*
Да хватит к словам цепляться блин. Че вы все блин хотите от меня? Одни твердят по тридцать раз со сцены "не юзайте ансейф в коде, это нелегальный апи", а другой тут кидает ссылки на код с ансейфами и допытывается к ощущениям. Какой блеать ответ то правильный?!

Если имплементировать AbstractProcessor, никакого доступа к артефактам из com.sun он сам не даст, пока сам не прикастишь. Если это такой легальный апи, почему он недоступен по умолчанию тогда? Наивный я видите ли...
источник

SK

Sergey Kapralov in Чат подкаста «Разбор Полётов»
Ну нахер кароч
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
Просто если б ты посмотрел на сорцы Lombok-а, то обнаружил бы, что он регистрирует себя как annotation processor, но на самом деле он работает с деревом AST. Простейший пример:
https://github.com/rzwitserloot/lombok/blob/e95680a76733c22ee5937a586ee50c703d5ba621/src/core/lombok/javac/handlers/HandleToString.java


Никакие сорцы не заменяются, ничего такого.
источник