Compiled from "Example.java" public abstract class Example extends java.lang.Object SourceFile: "Example.java" InnerClass: public final #94= #79 of #1; //Exc1=class Example$Exc1 of class Example public final #95= #81 of #1; //Exc2=class Example$Exc2 of class Example minor version: 0 major version: 49 Constant pool: const #1 = class #2; // Example const #2 = Asciz Example; const #3 = class #4; // java/lang/Object const #4 = Asciz java/lang/Object; const #5 = Asciz ANSWER; const #6 = Asciz I; const #7 = Asciz ConstantValue; const #8 = int 42; const #9 = Asciz question; const #10 = Asciz ; const #11 = Asciz ()V; const #12 = Asciz Code; const #13 = Method #3.#14; // java/lang/Object."":()V const #14 = NameAndType #10:#11;// "":()V const #15 = Asciz LineNumberTable; const #16 = Asciz LocalVariableTable; const #17 = Asciz this; const #18 = Asciz LExample;; const #19 = Asciz createInstance; const #20 = class #21; // java/lang/String const #21 = Asciz java/lang/String; const #22 = String #23; // No hay banda! There is no band. It is all an illusion... const #23 = Asciz No hay banda! There is no band. It is all an illusion... ; const #24 = Method #20.#25; // java/lang/String."":(Ljava/lang/String;)V const #25 = NameAndType #10:#26;// "":(Ljava/lang/String;)V const #26 = Asciz (Ljava/lang/String;)V; const #27 = Asciz getAndPutFields; const #28 = Field #1.#29; // Example.question:I const #29 = NameAndType #9:#6;// question:I const #30 = Asciz accessConstants; const #31 = float 100.0f; const #32 = double 100.0d; const #34 = Asciz i; const #35 = Asciz f; const #36 = Asciz F; const #37 = Asciz d; const #38 = Asciz D; const #39 = Asciz invokeStatic; const #40 = Method #1.#41; // Example.mul:(II)I const #41 = NameAndType #42:#43;// mul:(II)I const #42 = Asciz mul; const #43 = Asciz (II)I; const #44 = Asciz i1; const #45 = Asciz i2; const #46 = Asciz invokePrivate; const #47 = float 19.5f; const #48 = float 22.5f; const #49 = Method #1.#50; // Example.sum:(FF)F const #50 = NameAndType #51:#52;// sum:(FF)F const #51 = Asciz sum; const #52 = Asciz (FF)F; const #53 = Asciz left; const #54 = Asciz right; const #55 = Asciz invokePublic; const #56 = Method #1.#57; // Example.sub:(II)I const #57 = NameAndType #58:#43;// sub:(II)I const #58 = Asciz sub; const #59 = Asciz invokeInterface; const #60 = Asciz (LIExample;)I; const #61 = InterfaceMethod #62.#64; // IExample.doSomething:(I)I const #62 = class #63; // IExample const #63 = Asciz IExample; const #64 = NameAndType #65:#66;// doSomething:(I)I const #65 = Asciz doSomething; const #66 = Asciz (I)I; const #67 = Asciz obj; const #68 = Asciz LIExample;; const #69 = Asciz nestedCatch; const #70 = Method #1.#71; // Example.tryThis:()V const #71 = NameAndType #72:#11;// tryThis:()V const #72 = Asciz tryThis; const #73 = Method #1.#74; // Example.handle1:()V const #74 = NameAndType #75:#11;// handle1:()V const #75 = Asciz handle1; const #76 = Method #1.#77; // Example.handle2:()V const #77 = NameAndType #78:#11;// handle2:()V const #78 = Asciz handle2; const #79 = class #80; // Example$Exc1 const #80 = Asciz Example$Exc1; const #81 = class #82; // Example$Exc2 const #82 = Asciz Example$Exc2; const #83 = Asciz e; const #84 = Asciz LExample$Exc1;; const #85 = Asciz LExample$Exc2;; const #86 = Asciz Exceptions; const #87 = Asciz subroutineJump; const #88 = Method #1.#89; // Example.doThat:()V const #89 = NameAndType #90:#11;// doThat:()V const #90 = Asciz doThat; const #91 = Asciz SourceFile; const #92 = Asciz Example.java; const #93 = Asciz InnerClasses; const #94 = Asciz Exc1; const #95 = Asciz Exc2; { public static final int ANSWER; Signature: I Constant value: int 42 private int question; Signature: I public Example(); Signature: ()V Code: Stack=1, Locals=1, Args_size=1 0: aload_0 1: invokespecial #13; //Method java/lang/Object."":()V 4: return LineNumberTable: line 9: 0 LocalVariableTable: Start Length Slot Name Signature 0 5 0 this LExample; public void createInstance(); Signature: ()V Code: Stack=2, Locals=1, Args_size=1 0: new #20; //class java/lang/String 3: ldc #22; //String No hay banda! There is no band. It is all an illusion... 5: invokespecial #24; //Method java/lang/String."":(Ljava/lang/String;)V 8: return LineNumberTable: line 16: 0 line 17: 8 LocalVariableTable: Start Length Slot Name Signature 0 9 0 this LExample; public void getAndPutFields(); Signature: ()V Code: Stack=2, Locals=1, Args_size=1 0: aload_0 1: bipush 42 3: putfield #28; //Field question:I 6: return LineNumberTable: line 26: 0 line 27: 6 LocalVariableTable: Start Length Slot Name Signature 0 7 0 this LExample; public void accessConstants(); Signature: ()V Code: Stack=4, Locals=5, Args_size=1 0: iconst_1 1: istore_1 2: iinc 1, 100 5: iload_1 6: bipush 10 8: imul 9: istore_1 10: iload_1 11: sipush 300 14: imul 15: istore_1 16: fconst_1 17: fstore_2 18: fload_2 19: ldc #31; //float 100.0f 21: fadd 22: fstore_2 23: dconst_1 24: dstore_3 25: dload_3 26: ldc2_w #32; //double 100.0d 29: dadd 30: dstore_3 31: return LineNumberTable: line 33: 0 line 34: 2 line 35: 5 line 36: 10 line 37: 16 line 38: 18 line 39: 23 line 40: 25 line 41: 31 LocalVariableTable: Start Length Slot Name Signature 0 32 0 this LExample; 2 30 1 i I 18 14 2 f F 25 7 3 d D public void invokeStatic(); Signature: ()V Code: Stack=2, Locals=1, Args_size=1 0: bipush 6 2: bipush 7 4: invokestatic #40; //Method mul:(II)I 7: pop 8: return LineNumberTable: line 48: 0 line 49: 8 LocalVariableTable: Start Length Slot Name Signature 0 9 0 this LExample; public static int mul(int, int); Signature: (II)I Code: Stack=2, Locals=2, Args_size=2 0: iload_0 1: iload_1 2: imul 3: ireturn LineNumberTable: line 51: 0 LocalVariableTable: Start Length Slot Name Signature 0 4 0 i1 I 0 4 1 i2 I public void invokePrivate(); Signature: ()V Code: Stack=3, Locals=1, Args_size=1 0: aload_0 1: ldc #47; //float 19.5f 3: ldc #48; //float 22.5f 5: invokespecial #49; //Method sum:(FF)F 8: pop 9: return LineNumberTable: line 55: 0 line 56: 9 LocalVariableTable: Start Length Slot Name Signature 0 10 0 this LExample; private float sum(float, float); Signature: (FF)F Code: Stack=2, Locals=3, Args_size=3 0: fload_1 1: fload_2 2: fadd 3: freturn LineNumberTable: line 58: 0 LocalVariableTable: Start Length Slot Name Signature 0 4 0 this LExample; 0 4 1 left F 0 4 2 right F public void invokePublic(); Signature: ()V Code: Stack=3, Locals=1, Args_size=1 0: aload_0 1: sipush 2048 4: sipush 2006 7: invokevirtual #56; //Method sub:(II)I 10: pop 11: return LineNumberTable: line 62: 0 line 63: 11 LocalVariableTable: Start Length Slot Name Signature 0 12 0 this LExample; public int sub(int, int); Signature: (II)I Code: Stack=2, Locals=3, Args_size=3 0: iload_1 1: iload_2 2: isub 3: ireturn LineNumberTable: line 65: 0 LocalVariableTable: Start Length Slot Name Signature 0 4 0 this LExample; 0 4 1 i1 I 0 4 2 i2 I public int invokeInterface(IExample); Signature: (LIExample;)I Code: Stack=2, Locals=2, Args_size=2 0: aload_1 1: bipush 42 3: invokeinterface #61, 2; //InterfaceMethod IExample.doSomething:(I)I 8: ireturn LineNumberTable: line 69: 0 LocalVariableTable: Start Length Slot Name Signature 0 9 0 this LExample; 0 9 1 obj LIExample; void nestedCatch(); Signature: ()V Code: Stack=1, Locals=2, Args_size=1 0: aload_0 1: invokevirtual #70; //Method tryThis:()V 4: goto 20 7: astore_1 8: aload_0 9: invokevirtual #73; //Method handle1:()V 12: goto 20 15: astore_1 16: aload_0 17: invokevirtual #76; //Method handle2:()V 20: return Exception table: from to target type 0 4 7 Class Example$Exc1 0 12 15 Class Example$Exc2 LineNumberTable: line 84: 0 line 85: 7 line 86: 8 line 88: 15 line 89: 16 line 91: 20 LocalVariableTable: Start Length Slot Name Signature 0 21 0 this LExample; 8 4 1 e LExample$Exc1; 16 4 1 e LExample$Exc2; abstract void tryThis() throws Example$Exc1, Example$Exc2; Signature: ()V Exceptions: throws Example$Exc1, Example$Exc2 abstract void handle1(); Signature: ()V abstract void handle2(); Signature: ()V public void subroutineJump() throws Example$Exc1, Example$Exc2; Signature: ()V Exceptions: throws Example$Exc1, Example$Exc2 Code: Stack=1, Locals=2, Args_size=1 0: aload_0 1: invokevirtual #70; //Method tryThis:()V 4: goto 14 7: astore_1 8: aload_0 9: invokevirtual #88; //Method doThat:()V 12: aload_1 13: athrow 14: aload_0 15: invokevirtual #88; //Method doThat:()V 18: return Exception table: from to target type 0 7 7 any LineNumberTable: line 104: 0 line 105: 7 line 106: 8 line 107: 12 line 106: 14 line 108: 18 LocalVariableTable: Start Length Slot Name Signature 0 19 0 this LExample; abstract void doThat(); Signature: ()V }