Javassist: отсутствует атрибут BootstrapMethods в файле класса - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь скопировать метод из другого класса, используя Javassist:

CtMethod my = ctCodeSnippets.getDeclaredMethod("my");
CtMethod myCopy = CtNewMethod.copy(my, targetClass, null);
targetClass.addMethod(myCopy);

Когда тело метода содержит лямбду, сгенерированный класс не может быть обработан с ошибкой:

java.lang.ClassFormatError: Missing BootstrapMethods attribute in class file

Возможно, мне также нужно скопировать BootstrapMethodsAttribute, но я не могу найти ссылку на это. Итак, что является правильным способом скопировать метод из другого класса, который имеет лямбда-выражения в своем теле?

Большое спасибо

P.S. Javassist 3.24.1-GA

...