public class ASMContentHandler extends org.xml.sax.helpers.DefaultHandler implements Opcodes
ContentHandler
that transforms XML
document into Java class file. This class can be feeded by any kind of SAX
2.0 event producers, e.g. XML parser, XSLT or XPath engines, or custom code.SAXClassAdapter
,
Processor
Modifier and Type | Class and Description |
---|---|
protected class |
ASMContentHandler.Rule
Rule
|
Modifier and Type | Field and Description |
---|---|
protected ClassVisitor |
cv
Current instance of the
ClassVisitor used to visit
classfile bytecode. |
protected Map<Object,Label> |
labels
Map of the active
Label instances for current method. |
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8
Constructor and Description |
---|
ASMContentHandler(ClassVisitor cv)
Constructs a new
ASMContentHandler object. |
Modifier and Type | Method and Description |
---|---|
void |
endElement(String ns,
String lName,
String qName)
Process notification of the end of an XML element being reached.
|
void |
startElement(String ns,
String lName,
String qName,
Attributes list)
Process notification of the start of an XML element being reached.
|
characters, endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
protected ClassVisitor cv
ClassVisitor
used to visit
classfile bytecode.public ASMContentHandler(ClassVisitor cv)
ASMContentHandler
object.cv
- class visitor that will be called to reconstruct the classfile
using the XML stream.public final void startElement(String ns, String lName, String qName, Attributes list) throws SAXException
startElement
in interface ContentHandler
startElement
in class org.xml.sax.helpers.DefaultHandler
ns
- - The Namespace URI, or the empty string if the element has no
Namespace URI or if Namespace processing is not being
performed.lName
- - The local name (without prefix), or the empty string if
Namespace processing is not being performed.qName
- - The qualified name (with prefix), or the empty string if
qualified names are not available.list
- - The attributes attached to the element. If there are no
attributes, it shall be an empty Attributes object.SAXException
- if a parsing error is to be reportedpublic final void endElement(String ns, String lName, String qName) throws SAXException
endElement
in interface ContentHandler
endElement
in class org.xml.sax.helpers.DefaultHandler
ns
- - The Namespace URI, or the empty string if the element has no
Namespace URI or if Namespace processing is not being
performed.lName
- - The local name (without prefix), or the empty string if
Namespace processing is not being performed.qName
- - The qualified XML 1.0 name (with prefix), or the empty
string if qualified names are not available.SAXException
- if a parsing error is to be reported