Немного изучив источники Byte Buddy, я мог бы найти решение, но это очень нахально, и, надеюсь, кто-то знает лучший способ ...
К счастью для меня, поле KEYWORDS
вnet.bytebuddy.dynamic.scaffold.InstrumentedType.Default
использует просто обычный изменяемый HashSet
вместо Collections.unmodifiableSet
, поэтому с помощью следующего хака я смог удалить проверку ключевых слов Java:
val Field KEYWORDS = Default.getDeclaredField("KEYWORDS")
KEYWORDS.setAccessible(true)
val Set<String> keywords = KEYWORDS.get(null) as Set<String>
keywords.clear
(код написан на Xtend синтаксис, но вы поняли идею)
При этом я первый признаю, что использую Java Reflection для поиска в final
static
полях других библиотекне совсем лучшая практика. Итак, хотя мой непосредственный блокировщик удален, я надеюсь, что есть более ортодоксальное решение этой проблемы ...