org.compass.core.util.asm.util
Class ASMifierAbstractVisitor

java.lang.Object
  extended by org.compass.core.util.asm.util.AbstractVisitor
      extended by org.compass.core.util.asm.util.ASMifierAbstractVisitor
Direct Known Subclasses:
ASMifierClassVisitor, ASMifierFieldVisitor, ASMifierMethodVisitor

public class ASMifierAbstractVisitor
extends AbstractVisitor

An abstract ASMifier visitor.

Author:
Eric Bruneton

Field Summary
(package private)  Map labelNames
          The label names.
protected  String name
          The name of the variable for this visitor in the produced code.
 
Fields inherited from class org.compass.core.util.asm.util.AbstractVisitor
buf, OPCODES, text, TYPES
 
Constructor Summary
protected ASMifierAbstractVisitor(String name)
          Constructs a new ASMifierAbstractVisitor.
 
Method Summary
(package private)  void appendConstant(Object cst)
          Appends a string representation of the given constant to the given buffer.
(package private) static void appendConstant(StringBuffer buf, Object cst)
          Appends a string representation of the given constant to the given buffer.
 AnnotationVisitor visitAnnotation(String desc, boolean visible)
          Prints the ASM code that generates the given annotation.
 void visitAttribute(Attribute attr)
          Prints the ASM code that generates the given attribute.
 void visitEnd()
          Prints the ASM code to end the visit.
 
Methods inherited from class org.compass.core.util.asm.util.AbstractVisitor
appendString, getDefaultAttributes, getText, print, printList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected String name
The name of the variable for this visitor in the produced code.


labelNames

Map labelNames
The label names. This map associates String values to Label keys. It is used only in ASMifierMethodVisitor.

Constructor Detail

ASMifierAbstractVisitor

protected ASMifierAbstractVisitor(String name)
Constructs a new ASMifierAbstractVisitor.

Parameters:
name - the name of the variable for this visitor in the produced code.
Method Detail

visitAnnotation

public AnnotationVisitor visitAnnotation(String desc,
                                         boolean visible)
Prints the ASM code that generates the given annotation.

Parameters:
desc - the class descriptor of the annotation class.
visible - true if the annotation is visible at runtime.
Returns:
a visitor to visit the annotation values.

visitAttribute

public void visitAttribute(Attribute attr)
Prints the ASM code that generates the given attribute.

Parameters:
attr - an attribute.

visitEnd

public void visitEnd()
Prints the ASM code to end the visit.


appendConstant

void appendConstant(Object cst)
Appends a string representation of the given constant to the given buffer.

Parameters:
cst - an Integer, Float, Long, Double or String object. May be null.

appendConstant

static void appendConstant(StringBuffer buf,
                           Object cst)
Appends a string representation of the given constant to the given buffer.

Parameters:
buf - a string buffer.
cst - an Integer, Float, Long, Double or String object. May be null.


Copyright (c) 2004-2008 The Compass Project.