Compiled from "GreetingImpl$$EnhancedByS2AOP$$110b640.java"
public class examples.hotswap.impl.GreetingImpl$$EnhancedByS2AOP$$110b640 extends examples.hotswap.impl.GreetingImpl
SourceFile: "GreetingImpl$$EnhancedByS2AOP$$110b640.java"
minor version: 3
major version: 45
Constant pool:
const #1 = Asciz examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640;
const #2 = class #1; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640
const #3 = Asciz examples/hotswap/impl/GreetingImpl;
const #4 = class #3; // examples/hotswap/impl/GreetingImpl
const #5 = Asciz SourceFile;
const #6 = Asciz GreetingImpl$$EnhancedByS2AOP$$110b640.java;
const #7 = Asciz <init>;
const #8 = Asciz ()V;
const #9 = NameAndType #7:#8;// "<init>":()V
const #10 = Method #4.#9; // examples/hotswap/impl/GreetingImpl."<init>":()V
const #11 = Asciz Code;
const #12 = Asciz greet$$invokeSuperMethod$$;
const #13 = Asciz ()Ljava/lang/String;;
const #14 = Asciz greet;
const #15 = NameAndType #14:#13;// greet:()Ljava/lang/String;
const #16 = Method #4.#15; // examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
const #17 = Asciz java/lang/String;
const #18 = class #17; // java/lang/String
const #19 = NameAndType #14:#13;// greet:()Ljava/lang/String;
const #20 = Method #4.#19; // examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
const #21 = Asciz examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0;
const #22 = class #21; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0
const #23 = Asciz java/lang/Object;
const #24 = class #23; // java/lang/Object
const #25 = Asciz (Ljava/lang/Object;[Ljava/lang/Object;)V;
const #26 = NameAndType #7:#25;// "<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #27 = Method #22.#26; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #28 = Asciz proceed;
const #29 = Asciz ()Ljava/lang/Object;;
const #30 = NameAndType #28:#29;// proceed:()Ljava/lang/Object;
const #31 = Method #22.#30; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
const #32 = Asciz java/lang/RuntimeException;
const #33 = class #32; // java/lang/RuntimeException
const #34 = Asciz java/lang/Error;
const #35 = class #34; // java/lang/Error
const #36 = Asciz java/lang/Throwable;
const #37 = class #36; // java/lang/Throwable
const #38 = Asciz java/lang/reflect/UndeclaredThrowableException;
const #39 = class #38; // java/lang/reflect/UndeclaredThrowableException
const #40 = Asciz (Ljava/lang/Throwable;)V;
const #41 = NameAndType #7:#40;// "<init>":(Ljava/lang/Throwable;)V
const #42 = Method #39.#41; // java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V
const #43 = NameAndType #7:#25;// "<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #44 = Method #22.#43; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #45 = NameAndType #28:#29;// proceed:()Ljava/lang/Object;
const #46 = Method #22.#45; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
const #47 = NameAndType #7:#40;// "<init>":(Ljava/lang/Throwable;)V
const #48 = Method #39.#47; // java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V
{
public examples.hotswap.impl.GreetingImpl$$EnhancedByS2AOP$$110b640();
Code:
Stack=1, Locals=1, Args_size=1
0: aload_0
1: invokespecial #10; //Method examples/hotswap/impl/GreetingImpl."<init>":()V
4: return
public java.lang.String greet$$invokeSuperMethod$$();
Code:
Stack=1, Locals=1, Args_size=1
0: aload_0
1: invokespecial #20; //Method examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
4: checkcast #18; //class java/lang/String
7: areturn
public java.lang.String greet();
Code:
Stack=5, Locals=3, Args_size=1
0: new #22; *******根据indexbyte1和indexbyte2索引指示的类型在堆中创建一个对象,并把对象的引用压栈 //class examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0
3: dup *******复制栈顶的一个字,结果栈顶有两个相同的字,假如原来栈顶是A,复制后是AA
4: aload_0 *******将位置为0的对象引用类型的局部变量压栈(this)
5: iconst_0 ******* 将int类型值0压栈
6: anewarray #24; //class java/lang/Object 从栈中弹出数组长度值,根据indexbyte1和indexbyte2索引的对象类型创建对象类型数组,然后将数组引用压栈
9: invokespecial #44; //Method examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
12: invokevirtual #46; //Method examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
15: astore_1
16: aload_1
17: checkcast #18; //class java/lang/String
20: areturn
21: astore_2
22: aload_2
23: athrow
24: astore_2
25: aload_2
26: athrow
27: astore_2
28: new #39; //class java/lang/reflect/UndeclaredThrowableException
31: dup
32: aload_2
33: invokespecial #48; //Method java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V
36: athrow
Exception table:
from to target type
0 21 21 Class java/lang/RuntimeException
0 21 24 Class java/lang/Error
0 21 27 Class java/lang/Throwable
}
public class examples.hotswap.impl.GreetingImpl$$EnhancedByS2AOP$$110b640 extends examples.hotswap.impl.GreetingImpl
SourceFile: "GreetingImpl$$EnhancedByS2AOP$$110b640.java"
minor version: 3
major version: 45
Constant pool:
const #1 = Asciz examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640;
const #2 = class #1; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640
const #3 = Asciz examples/hotswap/impl/GreetingImpl;
const #4 = class #3; // examples/hotswap/impl/GreetingImpl
const #5 = Asciz SourceFile;
const #6 = Asciz GreetingImpl$$EnhancedByS2AOP$$110b640.java;
const #7 = Asciz <init>;
const #8 = Asciz ()V;
const #9 = NameAndType #7:#8;// "<init>":()V
const #10 = Method #4.#9; // examples/hotswap/impl/GreetingImpl."<init>":()V
const #11 = Asciz Code;
const #12 = Asciz greet$$invokeSuperMethod$$;
const #13 = Asciz ()Ljava/lang/String;;
const #14 = Asciz greet;
const #15 = NameAndType #14:#13;// greet:()Ljava/lang/String;
const #16 = Method #4.#15; // examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
const #17 = Asciz java/lang/String;
const #18 = class #17; // java/lang/String
const #19 = NameAndType #14:#13;// greet:()Ljava/lang/String;
const #20 = Method #4.#19; // examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
const #21 = Asciz examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0;
const #22 = class #21; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0
const #23 = Asciz java/lang/Object;
const #24 = class #23; // java/lang/Object
const #25 = Asciz (Ljava/lang/Object;[Ljava/lang/Object;)V;
const #26 = NameAndType #7:#25;// "<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #27 = Method #22.#26; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #28 = Asciz proceed;
const #29 = Asciz ()Ljava/lang/Object;;
const #30 = NameAndType #28:#29;// proceed:()Ljava/lang/Object;
const #31 = Method #22.#30; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
const #32 = Asciz java/lang/RuntimeException;
const #33 = class #32; // java/lang/RuntimeException
const #34 = Asciz java/lang/Error;
const #35 = class #34; // java/lang/Error
const #36 = Asciz java/lang/Throwable;
const #37 = class #36; // java/lang/Throwable
const #38 = Asciz java/lang/reflect/UndeclaredThrowableException;
const #39 = class #38; // java/lang/reflect/UndeclaredThrowableException
const #40 = Asciz (Ljava/lang/Throwable;)V;
const #41 = NameAndType #7:#40;// "<init>":(Ljava/lang/Throwable;)V
const #42 = Method #39.#41; // java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V
const #43 = NameAndType #7:#25;// "<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #44 = Method #22.#43; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #45 = NameAndType #28:#29;// proceed:()Ljava/lang/Object;
const #46 = Method #22.#45; // examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
const #47 = NameAndType #7:#40;// "<init>":(Ljava/lang/Throwable;)V
const #48 = Method #39.#47; // java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V
{
public examples.hotswap.impl.GreetingImpl$$EnhancedByS2AOP$$110b640();
Code:
Stack=1, Locals=1, Args_size=1
0: aload_0
1: invokespecial #10; //Method examples/hotswap/impl/GreetingImpl."<init>":()V
4: return
public java.lang.String greet$$invokeSuperMethod$$();
Code:
Stack=1, Locals=1, Args_size=1
0: aload_0
1: invokespecial #20; //Method examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
4: checkcast #18; //class java/lang/String
7: areturn
public java.lang.String greet();
Code:
Stack=5, Locals=3, Args_size=1
0: new #22; *******根据indexbyte1和indexbyte2索引指示的类型在堆中创建一个对象,并把对象的引用压栈 //class examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0
3: dup *******复制栈顶的一个字,结果栈顶有两个相同的字,假如原来栈顶是A,复制后是AA
4: aload_0 *******将位置为0的对象引用类型的局部变量压栈(this)
5: iconst_0 ******* 将int类型值0压栈
6: anewarray #24; //class java/lang/Object 从栈中弹出数组长度值,根据indexbyte1和indexbyte2索引的对象类型创建对象类型数组,然后将数组引用压栈
9: invokespecial #44; //Method examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
12: invokevirtual #46; //Method examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
15: astore_1
16: aload_1
17: checkcast #18; //class java/lang/String
20: areturn
21: astore_2
22: aload_2
23: athrow
24: astore_2
25: aload_2
26: athrow
27: astore_2
28: new #39; //class java/lang/reflect/UndeclaredThrowableException
31: dup
32: aload_2
33: invokespecial #48; //Method java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V
36: athrow
Exception table:
from to target type
0 21 21 Class java/lang/RuntimeException
0 21 24 Class java/lang/Error
0 21 27 Class java/lang/Throwable
}