private void writeClass(String classname, File destination, ClassWriter writer) throws IOException { // verify the class byte[] bytecode = writer.toByteArray(); if (VERIFY_CLASSFILES) CheckClassAdapter.verify(new ClassReader(bytecode), false, new PrintWriter(System.err)); writeClassFile(destination, bytecode, classname); }
private void writeClass(String classname, File destination, ClassWriter writer) throws IOException { // verify the class byte[] bytecode = writer.toByteArray(); if (VERIFY_CLASSFILES) CheckClassAdapter.verify(new ClassReader(bytecode), false, new PrintWriter(System.err)); writeClassFile(destination, bytecode, classname); }
public void dumpClass(PrintStream out) { PrintWriter pw = new PrintWriter(out); try { TraceClassVisitor tcv = new TraceClassVisitor(pw); new ClassReader(classWriter.toByteArray()).accept(tcv, 0); } finally { pw.close(); } }
private String getClassName() { if (cv instanceof ClassWriter) { return new ClassReader(((ClassWriter) cv).toByteArray()).getClassName(); } return "(unknown class)"; }
private static Class loadCompiledScriptFromClass(Ruby runtime, InputStream in) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buf = new byte[8192]; int read; while ((read = in.read(buf)) != -1) { baos.write(buf, 0, read); } buf = baos.toByteArray(); JRubyClassLoader jcl = runtime.getJRubyClassLoader(); OneShotClassLoader oscl = new OneShotClassLoader(jcl); ClassReader cr = new ClassReader(buf); String className = cr.getClassName().replace('/', '.'); return oscl.defineClass(className, buf); }
private String getClassName() { if (cv instanceof ClassWriter) { return new ClassReader(((ClassWriter) cv).toByteArray()).getClassName(); } return "(unknown class)"; }
public void dumpClass(PrintStream out) { PrintWriter pw = new PrintWriter(out); try { TraceClassVisitor tcv = new TraceClassVisitor(pw); new ClassReader(classWriter.toByteArray()).accept(tcv, 0); } finally { pw.close(); } }
private static Class loadCompiledScriptFromClass(Ruby runtime, InputStream in) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buf = new byte[8192]; int read; while ((read = in.read(buf)) != -1) { baos.write(buf, 0, read); } buf = baos.toByteArray(); JRubyClassLoader jcl = runtime.getJRubyClassLoader(); OneShotClassLoader oscl = new OneShotClassLoader(jcl); ClassReader cr = new ClassReader(buf); String className = cr.getClassName().replace('/', '.'); return oscl.defineClass(className, buf); }
public void end(Runnable locals) { if (DEBUG) { PrintWriter pw = new PrintWriter(System.out); String className = "(unknown class)"; if (cv instanceof ClassWriter) { className = new ClassReader(((ClassWriter)cv).toByteArray()).getClassName(); } if (name != null) { pw.write("*** Dumping " + className + "." + name + " ***\n"); } else { pw.write("*** Dumping ***\n"); } printer.print(pw); pw.flush(); } getMethodVisitor().visitLabel(end); locals.run(); getMethodVisitor().visitMaxs(1, 1); getMethodVisitor().visitEnd(); }
public void end(Runnable locals) { if (DEBUG) { PrintWriter pw = new PrintWriter(System.out); String className = "(unknown class)"; if (cv instanceof ClassWriter) { className = new ClassReader(((ClassWriter)cv).toByteArray()).getClassName(); } if (name != null) { pw.write("*** Dumping " + className + "." + name + " ***\n"); } else { pw.write("*** Dumping ***\n"); } printer.print(pw); pw.flush(); } getMethodVisitor().visitLabel(end); locals.run(); getMethodVisitor().visitMaxs(1, 1); getMethodVisitor().visitEnd(); }
OneShotClassLoader oscl = new OneShotClassLoader(jcl); ClassReader cr = new ClassReader(buf); String className = cr.getClassName().replace('/', '.');
OneShotClassLoader oscl = new OneShotClassLoader(jcl); ClassReader cr = new ClassReader(buf); String className = cr.getClassName().replace('/', '.');
descriptor.getLine()); if (VERIFY_CLASSFILES) CheckClassAdapter.verify(new ClassReader(invokerBytes), false, new PrintWriter(System.err)); descriptor.getLine()); if (VERIFY_CLASSFILES) CheckClassAdapter.verify(new ClassReader(callbackBytes), false, new PrintWriter(System.err)); descriptor.getLine()); if (VERIFY_CLASSFILES) CheckClassAdapter.verify(new ClassReader(callbackBytes), false, new PrintWriter(System.err));
if (config.isShowBytecode()) { TraceClassVisitor tracer = new TraceClassVisitor(new PrintWriter(System.err)); ClassReader reader = new ClassReader(scriptAndCode.bytecode()); reader.accept(tracer, 0); return getNil();
descriptor.getLine()); if (VERIFY_CLASSFILES) CheckClassAdapter.verify(new ClassReader(invokerBytes), false, new PrintWriter(System.err)); descriptor.getLine()); if (VERIFY_CLASSFILES) CheckClassAdapter.verify(new ClassReader(callbackBytes), false, new PrintWriter(System.err)); descriptor.getLine()); if (VERIFY_CLASSFILES) CheckClassAdapter.verify(new ClassReader(callbackBytes), false, new PrintWriter(System.err));
if (config.isShowBytecode()) { TraceClassVisitor tracer = new TraceClassVisitor(new PrintWriter(System.err)); ClassReader reader = new ClassReader(scriptAndCode.bytecode()); reader.accept(tracer, 0); return getNil();
if (DEBUG) { ClassVisitor trace = newTraceClassVisitor(new PrintWriter(System.err)); new ClassReader(bytes).accept(trace, 0);
if (DEBUG) { ClassVisitor trace = newTraceClassVisitor(new PrintWriter(System.err)); new ClassReader(bytes).accept(trace, 0);
if (DEBUG) { ClassVisitor trace = newTraceClassVisitor(new PrintWriter(System.err)); new ClassReader(bytes).accept(trace, 0);
if (DEBUG) { ClassVisitor trace = newTraceClassVisitor(new PrintWriter(System.err)); new ClassReader(bytes).accept(trace, 0);