Я выполняю повторение одного класса с использованием кода ASM без использования какого-либо байтового кода. Но когда я конвертирую классный класс в bytearray (cw.toByteArray()), я получаю Слишком большой код метода! исключение.Код метода слишком большой! исключение с использованием ASM
Может кто-нибудь сказать мне, когда это происходит ..
Мой фрагмент кода выглядит следующим образом ---
InputStream in= new FileInputStream("D:/AshiqWorkspace/RandD/ByteCodeStudy/temp/GameManager.class");
ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS|ClassWriter.COMPUTE_FRAMES);
ClassVisitor ca = null;
ca = new CustomClassNode(cw); // CustomClassNode class extends ClassNode implements Opcodes
cr.accept(ca, 0);
File outputDir=new File("D:/AshiqWorkspace/RandD/ByteCodeStudy/out");
outputDir.mkdirs();
DataOutputStream dout=new DataOutputStream(new FileOutputStream(new File(outputDir,"GameManager.class")));
dout.write(cw.toByteArray()); // on this line "method code too large exception coming"
Я проверил вышеуказанную ссылку. Нужно ли сделать файл asm jar из вышеупомянутого проекта ссылки, чтобы импортировать его в проект ... –
Мне никогда не приходилось использовать этот проект как таковой ... но то, что вы говорите, звучит правильно. – vijay