/** * @param bytes * @return * @throws IOException * @throws Exception */ private byte[] process(byte[] bytes) throws Exception { ClassReader reader = new ClassReader(new ByteArrayInputStream(bytes)); String name[] = ClassNameReader.getClassInfo(reader); DebuggingClassWriter w = new DebuggingClassWriter(ClassWriter.COMPUTE_FRAMES); ClassTransformer t = getClassTransformer(name); if (t != null) { if (verbose) { log("processing " + name[0]); } new TransformingClassGenerator(new ClassReaderGenerator( new ClassReader(new ByteArrayInputStream(bytes)), attributes(), getFlags()), t).generateClass(w); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(w.toByteArray()); return out.toByteArray(); } return bytes; }
protected DebuggingClassWriter getClassVisitor() throws Exception { return new DebuggingClassWriter(ClassWriter.COMPUTE_FRAMES); }
public byte[] generate(ClassGenerator cg) throws Exception { DebuggingClassWriter cw = getClassVisitor(); transform(cg).generateClass(cw); return transform(cw.toByteArray()); }
protected DebuggingClassWriter getClassVisitor() throws Exception { return new DebuggingClassWriter(ClassWriter.COMPUTE_FRAMES); }
public byte[] generate(ClassGenerator cg) throws Exception { DebuggingClassWriter cw = getClassVisitor(); transform(cg).generateClass(cw); return transform(cw.toByteArray()); }
/** * @param bytes * @return * @throws IOException * @throws Exception */ private byte[] process(byte[] bytes) throws Exception { ClassReader reader = new ClassReader(new ByteArrayInputStream(bytes)); String name[] = ClassNameReader.getClassInfo(reader); DebuggingClassWriter w = new DebuggingClassWriter(ClassWriter.COMPUTE_FRAMES); ClassTransformer t = getClassTransformer(name); if (t != null) { if (verbose) { log("processing " + name[0]); } new TransformingClassGenerator(new ClassReaderGenerator( new ClassReader(new ByteArrayInputStream(bytes)), attributes(), getFlags()), t).generateClass(w); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(w.toByteArray()); return out.toByteArray(); } return bytes; }
protected DebuggingClassWriter getClassVisitor() throws Exception { return new DebuggingClassWriter(ClassWriter.COMPUTE_MAXS); }
public byte[] generate(ClassGenerator cg) throws Exception { DebuggingClassWriter cw = getClassVisitor(); transform(cg).generateClass(cw); return transform(cw.toByteArray()); }
new DebuggingClassWriter(ClassWriter.COMPUTE_FRAMES); getGenerator(r).generateClass(w); byte[] b = w.toByteArray(); Class c = super.defineClass(name, b, 0, b.length, DOMAIN); postProcess(c);
protected ClassWriter getClassWriter() throws Exception { return new DebuggingClassWriter(ClassWriter.COMPUTE_MAXS); }
new DebuggingClassWriter(ClassWriter.COMPUTE_FRAMES); getGenerator(r).generateClass(w); byte[] b = w.toByteArray(); Class c = super.defineClass(name, b, 0, b.length, DOMAIN); postProcess(c);
protected ClassWriter getClassWriter() throws Exception { return new DebuggingClassWriter(ClassWriter.COMPUTE_MAXS); }
/** * @param file * @throws Exception * @throws FileNotFoundException * @throws IOException * @throws MalformedURLException */ private void processClassFile(File file) throws Exception, FileNotFoundException, IOException, MalformedURLException { ClassReader reader = getClassReader(file); String name[] = ClassNameReader.getClassInfo(reader); DebuggingClassWriter w = new DebuggingClassWriter(ClassWriter.COMPUTE_FRAMES); ClassTransformer t = getClassTransformer(name); if (t != null) { if (verbose) { log("processing " + file.toURI()); } new TransformingClassGenerator(new ClassReaderGenerator( getClassReader(file), attributes(), getFlags()), t) .generateClass(w); FileOutputStream fos = new FileOutputStream(file); try { fos.write(w.toByteArray()); } finally { fos.close(); } } }
/** * @param bytes * @return * @throws IOException * @throws Exception */ private byte[] process(byte[] bytes) throws Exception { ClassReader reader = new ClassReader(new ByteArrayInputStream(bytes)); String name[] = ClassNameReader.getClassInfo(reader); ClassWriter w = new DebuggingClassWriter(ClassWriter.COMPUTE_MAXS); ClassTransformer t = getClassTransformer(name); if (t != null) { if (verbose) { log("processing " + name[0]); } new TransformingClassGenerator(new ClassReaderGenerator( new ClassReader(new ByteArrayInputStream(bytes)), attributes(), getFlags()), t).generateClass(w); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(w.toByteArray()); return out.toByteArray(); } return bytes; }
/** * @param file * @throws Exception * @throws FileNotFoundException * @throws IOException * @throws MalformedURLException */ private void processClassFile(File file) throws Exception, FileNotFoundException, IOException, MalformedURLException { ClassReader reader = getClassReader(file); String name[] = ClassNameReader.getClassInfo(reader); DebuggingClassWriter w = new DebuggingClassWriter(ClassWriter.COMPUTE_FRAMES); ClassTransformer t = getClassTransformer(name); if (t != null) { if (verbose) { log("processing " + file.toURI()); } new TransformingClassGenerator(new ClassReaderGenerator( getClassReader(file), attributes(), getFlags()), t) .generateClass(w); FileOutputStream fos = new FileOutputStream(file); try { fos.write(w.toByteArray()); } finally { fos.close(); } } }
ClassWriter w = new DebuggingClassWriter( true ); ClassTransformer t = getClassTransformer( names ); if ( t != null ) {
/** * @param bytes * @return * @throws IOException * @throws Exception */ private byte[] process(byte[] bytes) throws Exception { ClassReader reader = new ClassReader(new ByteArrayInputStream(bytes)); String name[] = ClassNameReader.getClassInfo(reader); DebuggingClassWriter w = new DebuggingClassWriter(ClassWriter.COMPUTE_MAXS); ClassTransformer t = getClassTransformer(name); if (t != null) { if (verbose) { log("processing " + name[0]); } new TransformingClassGenerator(new ClassReaderGenerator( new ClassReader(new ByteArrayInputStream(bytes)), attributes(), getFlags()), t).generateClass(w); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(w.toByteArray()); return out.toByteArray(); } return bytes; }
ClassWriter w = new DebuggingClassWriter(ClassWriter.COMPUTE_MAXS); getGenerator(r).generateClass(w); byte[] b = w.toByteArray();
new DebuggingClassWriter(ClassWriter.COMPUTE_MAXS); getGenerator(r).generateClass(w); byte[] b = w.toByteArray(); Class c = super.defineClass(name, b, 0, b.length, DOMAIN); postProcess(c);
/** * @param bytes * @return * @throws IOException * @throws Exception */ private byte[] process(byte[] bytes) throws Exception { ClassReader reader = new ClassReader(new ByteArrayInputStream(bytes)); String name[] = ClassNameReader.getClassInfo(reader); ClassWriter w = new DebuggingClassWriter(ClassWriter.COMPUTE_MAXS); ClassTransformer t = getClassTransformer(name); if (t != null) { if (verbose) { log("processing " + name[0]); } new TransformingClassGenerator(new ClassReaderGenerator( new ClassReader(new ByteArrayInputStream(bytes)), attributes(), getFlags()), t).generateClass(w); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(w.toByteArray()); return out.toByteArray(); } return bytes; }