| <!-- |
| ASM XML Adapter |
| Copyright (c) 2004-2011, Eugene Kuleshov |
| All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions |
| are met: |
| 1. Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| 2. Redistributions in binary form must reproduce the above copyright |
| notice, this list of conditions and the following disclaimer in the |
| documentation and/or other materials provided with the distribution. |
| 3. Neither the name of the copyright holders nor the names of its |
| contributors may be used to endorse or promote products derived from |
| this software without specific prior written permission. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
| THE POSSIBILITY OF SUCH DAMAGE. |
| --> |
| |
| <!-- |
| This DTD must be used to create XML documents to be processed by |
| org.objectweb.asm.xml.ASMContentHandler |
| --> |
| |
| <!-- |
| Root element used to aggregate multiple classes into single document. |
| --> |
| <!ELEMENT classes ( class+ )> |
| |
| <!-- |
| Root element for a single class. |
| --> |
| <!ELEMENT class ( interfaces, module?, ( field | innerclass | method )*)> |
| <!ATTLIST class access CDATA #REQUIRED> |
| <!ATTLIST class name CDATA #REQUIRED> |
| <!ATTLIST class parent CDATA #REQUIRED> |
| <!ATTLIST class major CDATA #REQUIRED> |
| <!ATTLIST class minor CDATA #REQUIRED> |
| <!ATTLIST class source CDATA #IMPLIED> |
| |
| <!ELEMENT interfaces ( interface* )> |
| <!ELEMENT interface EMPTY> |
| <!ATTLIST interface name CDATA #REQUIRED> |
| |
| <!ELEMENT module ( requires*, exports*, uses*, provides* )> |
| <!ELEMENT requires EMPTY> |
| <!ATTLIST requires module CDATA #REQUIRED> |
| <!ATTLIST requires access CDATA #REQUIRED> |
| <!ELEMENT exports ( to* )> |
| <!ATTLIST exports name CDATA #REQUIRED> |
| <!ELEMENT to EMPTY> |
| <!ATTLIST to module CDATA #REQUIRED> |
| <!ELEMENT uses EMPTY> |
| <!ATTLIST uses service CDATA #REQUIRED> |
| <!ELEMENT provides EMPTY> |
| <!ATTLIST provides service CDATA #REQUIRED> |
| <!ATTLIST provides impl CDATA #REQUIRED> |
| |
| <!ELEMENT field EMPTY> |
| <!ATTLIST field access CDATA #REQUIRED> |
| <!ATTLIST field desc CDATA #REQUIRED> |
| <!ATTLIST field name CDATA #REQUIRED> |
| <!-- |
| All characters out of interval 0x20 to 0x7f (inclusive) must |
| be encoded (\uXXXX) and character '\' must be replaced by "\\" |
| --> |
| <!ATTLIST field value CDATA #IMPLIED> |
| |
| <!ELEMENT innerclass EMPTY> |
| <!ATTLIST innerclass access CDATA #REQUIRED> |
| <!ATTLIST innerclass innerName CDATA #IMPLIED> |
| <!ATTLIST innerclass name CDATA #REQUIRED> |
| <!ATTLIST innerclass outerName CDATA #IMPLIED> |
| |
| <!-- |
| Root element for method definition. |
| --> |
| <!ELEMENT method ( exceptions, code? )> |
| <!ATTLIST method access CDATA #REQUIRED> |
| <!ATTLIST method desc CDATA #REQUIRED> |
| <!ATTLIST method name CDATA #REQUIRED> |
| |
| <!ELEMENT exceptions ( exception* )> |
| <!ELEMENT exception EMPTY> |
| <!ATTLIST exception name CDATA #REQUIRED> |
| |
| <!-- |
| code element contains bytecode instructions and definitions for labels, line numbers, try/catch and max |
| --> |
| <!ELEMENT code (( AALOAD | AASTORE | ACONST_NULL | ALOAD | ANEWARRAY | ARETURN | ARRAYLENGTH | ASTORE | ATHROW | BALOAD | BASTORE | BIPUSH | CALOAD | CASTORE | CHECKCAST | D2F | D2I | D2L | DADD | DALOAD | DASTORE | DCMPG | DCMPL | DCONST_0 | DCONST_1 | DDIV | DLOAD | DMUL | DNEG | DREM | DRETURN | DSTORE | DSUB | DUP | DUP2 | DUP2_X1 | DUP2_X2 | DUP_X1 | DUP_X2 | SWAP | F2D | F2I | F2L | FADD | FALOAD | FASTORE | FCMPG | FCMPL | FCONST_0 | FCONST_1 | FCONST_2 | FDIV | FLOAD | FMUL | FNEG | FREM | FRETURN | FSTORE | FSUB | GETFIELD | GETSTATIC | GOTO | 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 | IFEQ | IFGE | IFGT | IFLE | IFLT | IFNE | IFNONNULL | IFNULL | IF_ACMPEQ | IF_ACMPNE | IF_ICMPEQ | IF_ICMPGE | IF_ICMPGT | IF_ICMPLE | IF_ICMPLT | IF_ICMPNE | IINC | ILOAD | IMUL | INEG | INSTANCEOF | 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 | LOOKUPSWITCH | LOR | LREM | LRETURN | LSHL | LSHR | LSTORE | LSUB | LUSHR | LXOR | MONITORENTER | MONITOREXIT | MULTIANEWARRAY | NEW | NEWARRAY | NOP | POP | POP2 | PUTFIELD | PUTSTATIC | RET | RETURN | SALOAD | SASTORE | SIPUSH | TABLESWITCH | Label | LineNumber | TryCatch )*, Max)> |
| |
| <!ELEMENT Label EMPTY> |
| <!ATTLIST Label name CDATA #REQUIRED> |
| |
| <!ELEMENT TryCatch EMPTY> |
| <!ATTLIST TryCatch end CDATA #REQUIRED> |
| <!ATTLIST TryCatch handler CDATA #REQUIRED> |
| <!ATTLIST TryCatch start CDATA #REQUIRED> |
| <!ATTLIST TryCatch type CDATA #IMPLIED> |
| |
| <!ELEMENT LineNumber EMPTY> |
| <!ATTLIST LineNumber line CDATA #REQUIRED> |
| <!ATTLIST LineNumber start CDATA #REQUIRED> |
| |
| <!ELEMENT Max EMPTY> |
| <!ATTLIST Max maxLocals CDATA #REQUIRED> |
| <!ATTLIST Max maxStack CDATA #REQUIRED> |
| |
| <!ELEMENT AALOAD EMPTY> |
| <!ELEMENT AASTORE EMPTY> |
| <!ELEMENT ACONST_NULL EMPTY> |
| <!ELEMENT ALOAD EMPTY> |
| <!ATTLIST ALOAD var CDATA #REQUIRED> |
| <!ELEMENT ANEWARRAY EMPTY> |
| <!ATTLIST ANEWARRAY desc CDATA #REQUIRED> |
| <!ELEMENT ARETURN EMPTY> |
| <!ELEMENT ARRAYLENGTH EMPTY> |
| <!ELEMENT ASTORE EMPTY> |
| <!ATTLIST ASTORE var CDATA #REQUIRED> |
| <!ELEMENT ATHROW EMPTY> |
| <!ELEMENT BALOAD EMPTY> |
| <!ELEMENT BASTORE EMPTY> |
| <!ELEMENT BIPUSH EMPTY> |
| <!ATTLIST BIPUSH value CDATA #REQUIRED> |
| <!ELEMENT CALOAD EMPTY> |
| <!ELEMENT CASTORE EMPTY> |
| <!ELEMENT CHECKCAST EMPTY> |
| <!ATTLIST CHECKCAST desc CDATA #REQUIRED> |
| <!ELEMENT D2F EMPTY> |
| <!ELEMENT D2I EMPTY> |
| <!ELEMENT D2L EMPTY> |
| <!ELEMENT DADD EMPTY> |
| <!ELEMENT DALOAD EMPTY> |
| <!ELEMENT DASTORE EMPTY> |
| <!ELEMENT DCMPG EMPTY> |
| <!ELEMENT DCMPL EMPTY> |
| <!ELEMENT DCONST_0 EMPTY> |
| <!ELEMENT DCONST_1 EMPTY> |
| <!ELEMENT DDIV EMPTY> |
| <!ELEMENT DLOAD EMPTY> |
| <!ATTLIST DLOAD var CDATA #REQUIRED> |
| <!ELEMENT DMUL EMPTY> |
| <!ELEMENT DNEG EMPTY> |
| <!ELEMENT DREM EMPTY> |
| <!ELEMENT DRETURN EMPTY> |
| <!ELEMENT DSTORE EMPTY> |
| <!ATTLIST DSTORE var CDATA #REQUIRED> |
| <!ELEMENT DSUB EMPTY> |
| <!ELEMENT DUP EMPTY> |
| <!ELEMENT DUP2 EMPTY> |
| <!ELEMENT DUP2_X1 EMPTY> |
| <!ELEMENT DUP2_X2 EMPTY> |
| <!ELEMENT DUP_X1 EMPTY> |
| <!ELEMENT DUP_X2 EMPTY> |
| <!ELEMENT SWAP EMPTY> |
| <!ELEMENT F2D EMPTY> |
| <!ELEMENT F2I EMPTY> |
| <!ELEMENT F2L EMPTY> |
| <!ELEMENT FADD EMPTY> |
| <!ELEMENT FALOAD EMPTY> |
| <!ELEMENT FASTORE EMPTY> |
| <!ELEMENT FCMPG EMPTY> |
| <!ELEMENT FCMPL EMPTY> |
| <!ELEMENT FCONST_0 EMPTY> |
| <!ELEMENT FCONST_1 EMPTY> |
| <!ELEMENT FCONST_2 EMPTY> |
| <!ELEMENT FDIV EMPTY> |
| <!ELEMENT FLOAD EMPTY> |
| <!ATTLIST FLOAD var CDATA #REQUIRED> |
| <!ELEMENT FMUL EMPTY> |
| <!ELEMENT FNEG EMPTY> |
| <!ELEMENT FREM EMPTY> |
| <!ELEMENT FRETURN EMPTY> |
| <!ELEMENT FSTORE EMPTY> |
| <!ATTLIST FSTORE var CDATA #REQUIRED> |
| <!ELEMENT FSUB EMPTY> |
| <!ELEMENT GETFIELD EMPTY> |
| <!ATTLIST GETFIELD desc CDATA #REQUIRED> |
| <!ATTLIST GETFIELD name CDATA #REQUIRED> |
| <!ATTLIST GETFIELD owner CDATA #REQUIRED> |
| <!ELEMENT GETSTATIC EMPTY> |
| <!ATTLIST GETSTATIC desc CDATA #REQUIRED> |
| <!ATTLIST GETSTATIC name CDATA #REQUIRED> |
| <!ATTLIST GETSTATIC owner CDATA #REQUIRED> |
| <!ELEMENT GOTO EMPTY> |
| <!ATTLIST GOTO label CDATA #REQUIRED> |
| <!ELEMENT I2B EMPTY> |
| <!ELEMENT I2C EMPTY> |
| <!ELEMENT I2D EMPTY> |
| <!ELEMENT I2F EMPTY> |
| <!ELEMENT I2L EMPTY> |
| <!ELEMENT I2S EMPTY> |
| <!ELEMENT IADD EMPTY> |
| <!ELEMENT IALOAD EMPTY> |
| <!ELEMENT IAND EMPTY> |
| <!ELEMENT IASTORE EMPTY> |
| <!ELEMENT ICONST_0 EMPTY> |
| <!ELEMENT ICONST_1 EMPTY> |
| <!ELEMENT ICONST_2 EMPTY> |
| <!ELEMENT ICONST_3 EMPTY> |
| <!ELEMENT ICONST_4 EMPTY> |
| <!ELEMENT ICONST_5 EMPTY> |
| <!ELEMENT ICONST_M1 EMPTY> |
| <!ELEMENT IDIV EMPTY> |
| <!ELEMENT IFEQ EMPTY> |
| <!ATTLIST IFEQ label CDATA #REQUIRED> |
| <!ELEMENT IFGE EMPTY> |
| <!ATTLIST IFGE label CDATA #REQUIRED> |
| <!ELEMENT IFGT EMPTY> |
| <!ATTLIST IFGT label CDATA #REQUIRED> |
| <!ELEMENT IFLE EMPTY> |
| <!ATTLIST IFLE label CDATA #REQUIRED> |
| <!ELEMENT IFLT EMPTY> |
| <!ATTLIST IFLT label CDATA #REQUIRED> |
| <!ELEMENT IFNE EMPTY> |
| <!ATTLIST IFNE label CDATA #REQUIRED> |
| <!ELEMENT IFNONNULL EMPTY> |
| <!ATTLIST IFNONNULL label CDATA #REQUIRED> |
| <!ELEMENT IFNULL EMPTY> |
| <!ATTLIST IFNULL label CDATA #REQUIRED> |
| <!ELEMENT IF_ACMPEQ EMPTY> |
| <!ATTLIST IF_ACMPEQ label CDATA #REQUIRED> |
| <!ELEMENT IF_ACMPNE EMPTY> |
| <!ATTLIST IF_ACMPNE label CDATA #REQUIRED> |
| <!ELEMENT IF_ICMPEQ EMPTY> |
| <!ATTLIST IF_ICMPEQ label CDATA #REQUIRED> |
| <!ELEMENT IF_ICMPGE EMPTY> |
| <!ATTLIST IF_ICMPGE label CDATA #REQUIRED> |
| <!ELEMENT IF_ICMPGT EMPTY> |
| <!ATTLIST IF_ICMPGT label CDATA #REQUIRED> |
| <!ELEMENT IF_ICMPLE EMPTY> |
| <!ATTLIST IF_ICMPLE label CDATA #REQUIRED> |
| <!ELEMENT IF_ICMPLT EMPTY> |
| <!ATTLIST IF_ICMPLT label CDATA #REQUIRED> |
| <!ELEMENT IF_ICMPNE EMPTY> |
| <!ATTLIST IF_ICMPNE label CDATA #REQUIRED> |
| <!ELEMENT IINC EMPTY> |
| <!ATTLIST IINC inc CDATA #REQUIRED> |
| <!ATTLIST IINC var CDATA #REQUIRED> |
| <!ELEMENT ILOAD EMPTY> |
| <!ATTLIST ILOAD var CDATA #REQUIRED> |
| <!ELEMENT IMUL EMPTY> |
| <!ELEMENT INEG EMPTY> |
| <!ELEMENT INSTANCEOF EMPTY> |
| <!ATTLIST INSTANCEOF desc CDATA #REQUIRED> |
| <!ELEMENT INVOKEINTERFACE EMPTY> |
| <!ATTLIST INVOKEINTERFACE desc CDATA #REQUIRED> |
| <!ATTLIST INVOKEINTERFACE name CDATA #REQUIRED> |
| <!ATTLIST INVOKEINTERFACE owner CDATA #REQUIRED> |
| <!ELEMENT INVOKESPECIAL EMPTY> |
| <!ATTLIST INVOKESPECIAL desc CDATA #REQUIRED> |
| <!ATTLIST INVOKESPECIAL name CDATA #REQUIRED> |
| <!ATTLIST INVOKESPECIAL owner CDATA #REQUIRED> |
| <!ELEMENT INVOKESTATIC EMPTY> |
| <!ATTLIST INVOKESTATIC desc CDATA #REQUIRED> |
| <!ATTLIST INVOKESTATIC name CDATA #REQUIRED> |
| <!ATTLIST INVOKESTATIC owner CDATA #REQUIRED> |
| <!ELEMENT INVOKEVIRTUAL EMPTY> |
| <!ATTLIST INVOKEVIRTUAL desc CDATA #REQUIRED> |
| <!ATTLIST INVOKEVIRTUAL name CDATA #REQUIRED> |
| <!ATTLIST INVOKEVIRTUAL owner CDATA #REQUIRED> |
| <!ELEMENT INVOKEDYNAMIC ( bsmArgs+ )> |
| <!ATTLIST INVOKEDYNAMIC desc CDATA #REQUIRED> |
| <!ATTLIST INVOKEDYNAMIC name CDATA #REQUIRED> |
| <!ATTLIST INVOKEDYNAMIC bsm CDATA #REQUIRED> |
| <!ELEMENT bsmArgs EMPTY> |
| <!ATTLIST bsmArgs cst CDATA #REQUIRED> |
| <!ATTLIST bsmArgs desc CDATA #REQUIRED> |
| <!ELEMENT IOR EMPTY> |
| <!ELEMENT IREM EMPTY> |
| <!ELEMENT IRETURN EMPTY> |
| <!ELEMENT ISHL EMPTY> |
| <!ELEMENT ISHR EMPTY> |
| <!ELEMENT ISTORE EMPTY> |
| <!ATTLIST ISTORE var CDATA #REQUIRED> |
| <!ELEMENT ISUB EMPTY> |
| <!ELEMENT IUSHR EMPTY> |
| <!ELEMENT IXOR EMPTY> |
| <!ELEMENT JSR EMPTY> |
| <!ATTLIST JSR label CDATA #REQUIRED> |
| <!ELEMENT L2D EMPTY> |
| <!ELEMENT L2F EMPTY> |
| <!ELEMENT L2I EMPTY> |
| <!ELEMENT LADD EMPTY> |
| <!ELEMENT LALOAD EMPTY> |
| <!ELEMENT LAND EMPTY> |
| <!ELEMENT LASTORE EMPTY> |
| <!ELEMENT LCMP EMPTY> |
| <!ELEMENT LCONST_0 EMPTY> |
| <!ELEMENT LCONST_1 EMPTY> |
| <!ELEMENT LDC EMPTY> |
| <!-- |
| All characters out of interval 0x20 to 0x7f (inclusive) must |
| be encoded (\uXXXX) and character '\' must be replaced by "\\" |
| --> |
| <!ATTLIST LDC cst CDATA #REQUIRED> |
| <!ATTLIST LDC desc CDATA #REQUIRED> |
| <!ELEMENT LDIV EMPTY> |
| <!ELEMENT LLOAD EMPTY> |
| <!ATTLIST LLOAD var CDATA #REQUIRED> |
| <!ELEMENT LMUL EMPTY> |
| <!ELEMENT LNEG EMPTY> |
| <!ELEMENT LOR EMPTY> |
| <!ELEMENT LREM EMPTY> |
| <!ELEMENT LRETURN EMPTY> |
| <!ELEMENT LSHL EMPTY> |
| <!ELEMENT LSHR EMPTY> |
| <!ELEMENT LSTORE EMPTY> |
| <!ATTLIST LSTORE var CDATA #REQUIRED> |
| <!ELEMENT LSUB EMPTY> |
| <!ELEMENT LUSHR EMPTY> |
| <!ELEMENT LXOR EMPTY> |
| <!ELEMENT MONITORENTER EMPTY> |
| <!ELEMENT MONITOREXIT EMPTY> |
| <!ELEMENT MULTIANEWARRAY EMPTY> |
| <!ATTLIST MULTIANEWARRAY desc CDATA #REQUIRED> |
| <!ATTLIST MULTIANEWARRAY dims CDATA #REQUIRED> |
| <!ELEMENT NEW EMPTY> |
| <!ATTLIST NEW desc CDATA #REQUIRED> |
| <!ELEMENT NEWARRAY EMPTY> |
| <!ATTLIST NEWARRAY value CDATA #REQUIRED> |
| <!ELEMENT NOP EMPTY> |
| <!ELEMENT POP EMPTY> |
| <!ELEMENT POP2 EMPTY> |
| <!ELEMENT PUTFIELD EMPTY> |
| <!ATTLIST PUTFIELD desc CDATA #REQUIRED> |
| <!ATTLIST PUTFIELD name CDATA #REQUIRED> |
| <!ATTLIST PUTFIELD owner CDATA #REQUIRED> |
| <!ELEMENT PUTSTATIC EMPTY> |
| <!ATTLIST PUTSTATIC desc CDATA #REQUIRED> |
| <!ATTLIST PUTSTATIC name CDATA #REQUIRED> |
| <!ATTLIST PUTSTATIC owner CDATA #REQUIRED> |
| <!ELEMENT RET EMPTY> |
| <!ATTLIST RET var CDATA #REQUIRED> |
| <!ELEMENT RETURN EMPTY> |
| <!ELEMENT SALOAD EMPTY> |
| <!ELEMENT SASTORE EMPTY> |
| <!ELEMENT SIPUSH EMPTY> |
| <!ATTLIST SIPUSH value CDATA #REQUIRED> |
| |
| <!ELEMENT LOOKUPSWITCH ( label+ )> |
| <!ATTLIST LOOKUPSWITCH dflt CDATA #REQUIRED> |
| |
| <!ELEMENT TABLESWITCH ( label+ )> |
| <!ATTLIST TABLESWITCH dflt CDATA #REQUIRED> |
| <!ATTLIST TABLESWITCH max CDATA #REQUIRED> |
| <!ATTLIST TABLESWITCH min CDATA #REQUIRED> |
| |
| <!ELEMENT label EMPTY> |
| <!ATTLIST label key CDATA #IMPLIED> |
| <!ATTLIST label name CDATA #REQUIRED> |
| |