Skip to content

Instantly share code, notes, and snippets.

@osscontributor
Created October 15, 2013 12:26
Show Gist options
  • Save osscontributor/6990814 to your computer and use it in GitHub Desktop.
Save osscontributor/6990814 to your computer and use it in GitHub Desktop.
@groovy.transform.CompileStatic
class TwoException extends Exception {
public TwoException(Throwable t) {
super(t)
}
}
public TwoException(java.lang.Throwable);
Code:
0: iconst_1
1: anewarray #20; //class java/lang/Object
4: dup
5: iconst_0
6: aload_1
7: aastore
8: dup
9: iconst_4
10: ldc #4; //class java/lang/Exception
12: invokestatic #26; //Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.selectConstructorAndTransformArguments:([Ljava/lang/Object;ILjava/lang/Class;)I
15: dup_x1
16: iconst_1
17: iand
18: ifeq 26
21: iconst_0
22: aaload
23: checkcast #28; //class "[Ljava/lang/Object;"
26: swap
27: aload_0
28: swap
29: bipush 8
31: ishr
32: lookupswitch{ //4
0: 76;
1: 85;
2: 106;
3: 139;
default: 160 }
76: swap
77: dup_x1
78: pop
79: invokespecial #31; //Method java/lang/Exception."<init>":()V
82: goto 170
85: swap
86: dup_x1
87: dup
88: iconst_0
89: aaload
90: ldc #33; //class java/lang/String
92: invokestatic #37; //Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
95: checkcast #33; //class java/lang/String
98: swap
99: pop
100: invokespecial #40; //Method java/lang/Exception."<init>":(Ljava/lang/String;)V
103: goto 170
106: swap
107: dup_x1
108: dup
109: iconst_0
110: aaload
111: ldc #33; //class java/lang/String
113: invokestatic #37; //Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
116: checkcast #33; //class java/lang/String
119: swap
120: dup
121: iconst_1
122: aaload
123: ldc #42; //class java/lang/Throwable
125: invokestatic #37; //Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
128: checkcast #42; //class java/lang/Throwable
131: swap
132: pop
133: invokespecial #45; //Method java/lang/Exception."<init>":(Ljava/lang/String;Ljava/lang/Throwable;)V
136: goto 170
139: swap
140: dup_x1
141: dup
142: iconst_0
143: aaload
144: ldc #42; //class java/lang/Throwable
146: invokestatic #37; //Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
149: checkcast #42; //class java/lang/Throwable
152: swap
153: pop
154: invokespecial #47; //Method java/lang/Exception."<init>":(Ljava/lang/Throwable;)V
157: goto 170
160: new #49; //class java/lang/IllegalArgumentException
163: dup
164: ldc #51; //String illegal constructor number
166: invokespecial #52; //Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
169: athrow
170: pop
171: aload_0
172: invokevirtual #56; //Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
175: astore_2
176: aload_2
177: aload_0
178: swap
179: putfield #58; //Field metaClass:Lgroovy/lang/MetaClass;
182: aload_2
183: pop
184: return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment