List of usage examples for org.objectweb.asm.util Printer getText
public List<Object> getText()
From source file:com.triage.bytecodemaster.BaseWeaverTest.java
protected String printNode(AbstractInsnNode insnNode) { /* Create a "printer" that renders text versions of instructions */ Printer printer = new Textifier(); TraceMethodVisitor methodPrinter = new TraceMethodVisitor(printer); /* render the instruction as a string and add it to printer's internal buffer */ insnNode.accept(methodPrinter);/*from w w w. j av a 2 s . c o m*/ /* convert printer's internal buffer to string and clear the buffer (so we can reuse it later) */ StringWriter sw = new StringWriter(); printer.print(new PrintWriter(sw)); printer.getText().clear(); return sw.toString(); }
From source file:de.tuberlin.uebb.jbop.optimizer.utils.NodeHelper.java
License:Open Source License
/** * Prints the method.// w ww . j av a2 s . c o m * * @param node * the node * @param stream * the stream */ public static void printMethod(final MethodNode node, final ClassNode classNode, final PrintStream stream, final boolean build) { final Printer p; if (build) { p = new ClassNodeBuilderTextifier(node, classNode); } else { p = new ExtendedTextifier(node, classNode); } final TraceMethodVisitor traceMethodVisitor = new TraceMethodVisitor(p); node.accept(traceMethodVisitor); stream.println(StringUtils.join(p.getText(), "")); }
From source file:net.malisis.core.asm.AsmUtils.java
License:Open Source License
public static String getMethodNodeAsString(MethodNode methodNode) { Printer printer = new Textifier(); TraceMethodVisitor methodPrinter = new TraceMethodVisitor(printer); methodNode.accept(methodPrinter);/* w ww. java2 s . c o m*/ StringWriter sw = new StringWriter(); printer.print(new PrintWriter(sw)); printer.getText().clear(); return sw.toString(); }
From source file:org.brutusin.instrumentation.utils.Helper.java
License:Apache License
public static void viewByteCode(byte[] bytecode) { ClassReader cr = new ClassReader(bytecode); ClassNode cn = new ClassNode(); cr.accept(cn, 0);//from www. ja v a 2 s . c o m final List<MethodNode> mns = cn.methods; Printer printer = new Textifier(); TraceMethodVisitor mp = new TraceMethodVisitor(printer); for (MethodNode mn : mns) { InsnList inList = mn.instructions; System.out.println(mn.name); for (int i = 0; i < inList.size(); i++) { inList.get(i).accept(mp); StringWriter sw = new StringWriter(); printer.print(new PrintWriter(sw)); printer.getText().clear(); System.out.print(sw.toString()); } } }
From source file:org.jooby.internal.apitool.Insn.java
License:Apache License
@Override public String toString() { Printer printer = new ASMifier(); TraceMethodVisitor visitor = new TraceMethodVisitor(printer); node.accept(visitor);/*w w w. j ava2s .co m*/ return printer.getText().toString(); }
From source file:vazkii.quark.base.asm.ClassTransformer.java
License:Creative Commons License
private static String getNodeString(AbstractInsnNode node) { Printer printer = new Textifier(); TraceMethodVisitor visitor = new TraceMethodVisitor(printer); node.accept(visitor);// w w w . j a v a2 s. com StringWriter sw = new StringWriter(); printer.print(new PrintWriter(sw)); printer.getText().clear(); return sw.toString().replaceAll("\n", "").trim(); }