Package org.objectweb.asm

Examples of org.objectweb.asm.ClassReader.accept()


    throws Exception
  {
    ClassReader cr = new ClassReader(is);
    ClassWriter cw = new ClassWriter(compute);
    ClassAdapter ca = new ClassAdapter(cw);
    cr.accept(ca, skipDebug);
    return cw.toByteArray();
  }

  byte[] counterAdaptClass (final InputStream is, final String name)
    throws Exception
View Full Code Here


    throws Exception
  {
    ClassReader cr = new ClassReader(is);
    ClassWriter cw = new ClassWriter(false);
    ClassAdapter ca = new CounterClassAdapter(cw);
    cr.accept(ca, false);
    return cw.toByteArray();
  }

  static class CounterClassAdapter extends ClassAdapter implements Constants {
View Full Code Here

  public static void main (final String args[]) throws Exception {
    // loads the original class and adapts it
    ClassReader cr = new ClassReader("CommentAttribute");
    ClassWriter cw = new ClassWriter(false);
    ClassVisitor cv = new AddCommentClassAdapter(cw);
    cr.accept(cv, new Attribute[] { new CommentAttribute("") }, false);
    byte[] b = cw.toByteArray();

    // stores the adapted class on disk
    FileOutputStream fos = new FileOutputStream("CommentAttribute.class.new");
    fos.write(b);
View Full Code Here

    fos.close();

    // "disassembles" the adapted class
    cr = new ClassReader(b);
    cv = new TraceClassVisitor(null, new PrintWriter(System.out));
    cr.accept(cv, new Attribute[] { new CommentAttribute("") }, false);
  }
}

class AddCommentClassAdapter extends ClassAdapter implements Constants {
View Full Code Here

        cr.accept( new TraceClassVisitor( null, new PrintWriter( os)), false);
      */
      boolean singleInputDocument = inRepresentation==SINGLE_XML;
      if( inRepresentation==BYTECODE) {  // read bytecode and process it with handler
        ClassReader cr = new ClassReader( readEntry( zis, ze));
        cr.accept( new SAXClassAdapter( handler, singleInputDocument), false);
     
      } else // read XML and process it with handler 
        XMLReader reader = XMLReaderFactory.createXMLReader();
        reader.setContentHandler( handler);       
        reader.parse( new InputSource( singleInputDocument ?
View Full Code Here

    // TransformerHandler handler = saxtf.newTransformerHandler( templates);
    TransformerHandler handler = saxtf.newTransformerHandler();
    handler.setResult( new SAXResult( new ASMContentHandler( bos, false)));
    handler.startDocument();
    ClassReader cr = new ClassReader( classData);
    cr.accept( new SAXClassAdapter( handler, false), false);
    handler.endDocument();
   
    byte[] newData = bos.toByteArray();

    try {
View Full Code Here

  }
 
  private static void traceBytecode( byte[] classData, PrintWriter pw) {
    ClassReader cr = new ClassReader( classData);
    // cr.accept( new TraceClassVisitor( cw, new PrintWriter( System.out)),
    cr.accept( new TraceClassVisitor( null, pw), false);
  }

  private static byte[] getCode( InputStream is) throws IOException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    byte[] buff = new byte[ 1024];
View Full Code Here

    // adapts the class on the fly
    try {
      ClassReader cr = new ClassReader(is);
      ClassWriter cw = new ClassWriter(false);
      ClassVisitor cv = new TraceFieldClassAdapter(cw);
      cr.accept(cv, false);
      b = cw.toByteArray();
    } catch (Exception e) {
      throw new ClassNotFoundException(name, e);
    }
View Full Code Here

    } else {
      cr = new ClassReader(args[0]);
    }
   
    TreeClassAdapter ca = new TreeClassAdapter(null);
    cr.accept(new CheckClassAdapter(ca), true);
   
    List methods = ca.classNode.methods;
    for (int i = 0; i < methods.size(); ++i) {
      MethodNode method = (MethodNode)methods.get(i);
      if (method.instructions.size() > 0) {
View Full Code Here

    if (args[i].endsWith(".class")) {
      cr = new ClassReader(new FileInputStream(args[i]));
    } else {
      cr = new ClassReader(args[i]);
    }
    cr.accept(new TraceClassVisitor(
      null, new PrintWriter(System.out)), getDefaultAttributes(), skipDebug);
  }
 
  private static void printUsage () {
    System.err.println("Prints a disassembled view of the given class.");
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.