Groovyc (Legacy)
Compiled from "fannkuch.groovy"
public class fannkuch extends groovy.lang.Script {
public static transient boolean __$stMC;
public fannkuch();
Code:
0: aload_0
1: invokespecial #13 // Method groovy/lang/Script."<init>":()V
4: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
7: astore_1
8: return
public fannkuch(groovy.lang.Binding);
Code:
0: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: aload_0
5: aload_1
6: invokespecial #22 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
9: return
public static void main(java.lang.String...);
Code:
0: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: aload_1
5: ldc #27 // int 0
7: aaload
8: ldc #29 // class org/codehaus/groovy/runtime/InvokerHelper
10: ldc #2 // class fannkuch
12: aload_0
13: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
18: pop
19: return
public java.lang.Object run();
Code:
0: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: bipush 7
6: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
9: astore_2
10: aload_2
11: pop
12: aload_1
13: ldc #46 // int 1
15: aaload
16: aload_1
17: ldc #47 // int 2
19: aaload
20: aload_0
21: invokeinterface #51, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGroovyObjectGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
26: invokeinterface #54, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
31: iconst_0
32: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
35: invokestatic #60 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
38: ifeq 80
41: aload_1
42: ldc #61 // int 3
44: aaload
45: ldc #41 // class java/lang/Integer
47: aload_1
48: ldc #62 // int 4
50: aaload
51: aload_1
52: ldc #63 // int 5
54: aaload
55: aload_0
56: invokeinterface #51, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGroovyObjectGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
61: iconst_0
62: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
65: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
70: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
75: astore_3
76: aload_3
77: astore_2
78: aload_3
79: pop
80: aload_1
81: ldc #67 // int 6
83: aaload
84: aload_0
85: aload_1
86: ldc #68 // int 7
88: aaload
89: aload_1
90: ldc #69 // int 8
92: aaload
93: aload_1
94: ldc #70 // int 9
96: aaload
97: ldc #72 // String Pfannkuchen(
99: aload_2
100: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
105: ldc #74 // String ) =
107: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
112: aload_1
113: ldc #75 // int 10
115: aaload
116: aload_0
117: aload_2
118: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object;
123: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
128: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object;
133: areturn
134: aconst_null
135: areturn
public java.lang.Object fannkuch(int);
Code:
0: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: iconst_0
5: istore_3
6: iload_3
7: pop
8: iload_1
9: multianewarray #84, 1 // class "[I"
13: astore 4
15: aload 4
17: pop
18: iload_1
19: multianewarray #84, 1 // class "[I"
23: astore 5
25: aload 5
27: pop
28: iload_1
29: multianewarray #84, 1 // class "[I"
33: astore 6
35: aload 6
37: pop
38: iload_1
39: multianewarray #84, 1 // class "[I"
43: astore 7
45: aload 7
47: pop
48: iconst_0
49: istore 8
51: iload 8
53: pop
54: ldc #27 // int 0
56: istore 9
58: invokestatic #90 // Method org/codehaus/groovy/runtime/BytecodeInterface8.isOrigInt:()Z
61: ifeq 79
64: getstatic #92 // Field __$stMC:Z
67: ifne 79
70: invokestatic #95 // Method org/codehaus/groovy/runtime/BytecodeInterface8.disabledStandardMetaClass:()Z
73: ifne 79
76: goto 111
79: aload_2
80: ldc #96 // int 11
82: aaload
83: iload_1
84: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
87: iconst_1
88: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
91: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
96: astore 10
98: aload 10
100: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
103: istore 9
105: aload 10
107: pop
108: goto 123
111: iload_1
112: iconst_1
113: isub
114: istore 11
116: iload 11
118: istore 9
120: iload 11
122: pop
123: invokestatic #90 // Method org/codehaus/groovy/runtime/BytecodeInterface8.isOrigInt:()Z
126: ifeq 144
129: getstatic #92 // Field __$stMC:Z
132: ifne 144
135: invokestatic #95 // Method org/codehaus/groovy/runtime/BytecodeInterface8.disabledStandardMetaClass:()Z
138: ifne 144
141: goto 227
144: aconst_null
145: astore 12
147: aload_2
148: ldc #103 // int 12
150: aaload
151: iconst_0
152: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
155: iload_1
156: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
159: ldc #27 // int 0
161: invokestatic #107 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
164: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
169: ldc #111 // class java/util/Iterator
171: invokestatic #115 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
174: checkcast #111 // class java/util/Iterator
177: astore 13
179: aload 13
181: invokeinterface #118, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
186: ifeq 224
189: aload 13
191: invokeinterface #121, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
196: astore 12
198: aload 12
200: astore 14
202: aload_2
203: ldc #122 // int 13
205: aaload
206: aload 5
208: aload 12
210: aload 14
212: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
217: pop
218: aload 14
220: pop
221: goto 179
224: goto 306
227: aconst_null
228: astore 15
230: aload_2
231: ldc #123 // int 14
233: aaload
234: iconst_0
235: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
238: iload_1
239: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
242: ldc #27 // int 0
244: invokestatic #107 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
247: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
252: ldc #111 // class java/util/Iterator
254: invokestatic #115 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
257: checkcast #111 // class java/util/Iterator
260: astore 16
262: aload 16
264: invokeinterface #118, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
269: ifeq 306
272: aload 16
274: invokeinterface #121, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
279: astore 15
281: aload 15
283: astore 17
285: aload 5
287: aload 15
289: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
292: aload 17
294: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
297: invokestatic #127 // Method org/codehaus/groovy/runtime/BytecodeInterface8.intArraySet:([III)V
300: aload 17
302: pop
303: goto 262
306: ldc #27 // int 0
308: istore 18
310: invokestatic #90 // Method org/codehaus/groovy/runtime/BytecodeInterface8.isOrigInt:()Z
313: ifeq 331
316: getstatic #92 // Field __$stMC:Z
319: ifne 331
322: invokestatic #95 // Method org/codehaus/groovy/runtime/BytecodeInterface8.disabledStandardMetaClass:()Z
325: ifne 331
328: goto 344
331: iload_1
332: istore 19
334: iload 19
336: istore 18
338: iload 19
340: pop
341: goto 354
344: iload_1
345: istore 20
347: iload 20
349: istore 18
351: iload 20
353: pop
354: iload_3
355: bipush 30
357: if_icmpge 364
360: iconst_1
361: goto 365
364: iconst_0
365: ifeq 501
368: aconst_null
369: astore 21
371: aload_2
372: ldc #128 // int 15
374: aaload
375: iconst_0
376: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
379: iload_1
380: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
383: ldc #27 // int 0
385: invokestatic #107 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
388: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
393: ldc #111 // class java/util/Iterator
395: invokestatic #115 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
398: checkcast #111 // class java/util/Iterator
401: astore 22
403: aload 22
405: invokeinterface #118, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
410: ifeq 462
413: aload 22
415: invokeinterface #121, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
420: astore 21
422: aload_2
423: ldc #129 // int 16
425: aaload
426: aload_0
427: aload_2
428: ldc #130 // int 17
430: aaload
431: aload_2
432: ldc #131 // int 18
434: aaload
435: aload 5
437: aload 21
439: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
444: iconst_1
445: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
448: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
453: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object;
458: pop
459: goto 403
462: aload_2
463: ldc #132 // int 19
465: aaload
466: aload_0
467: ldc #134 // String \n
469: invokeinterface #79, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object;
474: pop
475: iload_3
476: dup
477: istore 23
479: aload_2
480: ldc #135 // int 20
482: aaload
483: swap
484: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
487: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
492: dup
493: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
496: istore_3
497: pop
498: iload 23
500: pop
501: iload 18
503: iconst_1
504: if_icmpeq 511
507: iconst_1
508: goto 512
511: iconst_0
512: ifeq 588
515: iload 18
517: istore 24
519: aload_2
520: ldc #136 // int 21
522: aaload
523: aload 6
525: aload_2
526: ldc #137 // int 22
528: aaload
529: iload 18
531: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
534: iconst_1
535: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
538: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
543: iload 24
545: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
548: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
553: pop
554: iload 24
556: pop
557: iload 18
559: dup
560: istore 25
562: aload_2
563: ldc #138 // int 23
565: aaload
566: swap
567: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
570: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
575: dup
576: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
579: istore 18
581: pop
582: iload 25
584: pop
585: goto 501
588: aload_2
589: ldc #139 // int 24
591: aaload
592: aload 5
594: iconst_0
595: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
598: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
603: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
606: iconst_0
607: if_icmpne 614
610: iconst_1
611: goto 615
614: iconst_0
615: ifne 650
618: aload_2
619: ldc #140 // int 25
621: aaload
622: aload 5
624: iload 9
626: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
629: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
634: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
637: iload 9
639: if_icmpne 646
642: iconst_1
643: goto 647
646: iconst_0
647: ifeq 654
650: iconst_1
651: goto 655
654: iconst_0
655: ifne 662
658: iconst_1
659: goto 663
662: iconst_0
663: ifeq 1168
666: aconst_null
667: astore 26
669: aload_2
670: ldc #141 // int 26
672: aaload
673: iconst_0
674: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
677: iload_1
678: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
681: ldc #27 // int 0
683: invokestatic #107 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
686: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
691: ldc #111 // class java/util/Iterator
693: invokestatic #115 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
696: checkcast #111 // class java/util/Iterator
699: astore 27
701: aload 27
703: invokeinterface #118, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
708: ifeq 757
711: aload 27
713: invokeinterface #121, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
718: astore 26
720: aload_2
721: ldc #142 // int 27
723: aaload
724: aload 5
726: aload 26
728: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
733: astore 28
735: aload_2
736: ldc #143 // int 28
738: aaload
739: aload 4
741: aload 26
743: aload 28
745: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
750: pop
751: aload 28
753: pop
754: goto 701
757: iconst_0
758: istore 29
760: iload 29
762: pop
763: ldc #27 // int 0
765: istore 30
767: iload 30
769: pop
770: aload_2
771: ldc #144 // int 29
773: aaload
774: aload 4
776: iconst_0
777: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
780: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
785: astore 31
787: aload 31
789: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
792: istore 30
794: aload 31
796: iconst_0
797: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
800: invokestatic #147 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
803: ifne 810
806: iconst_1
807: goto 811
810: iconst_0
811: ifeq 1051
814: aload_2
815: ldc #148 // int 30
817: aaload
818: aload_2
819: ldc #149 // int 31
821: aaload
822: iload 30
824: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
827: iconst_1
828: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
831: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
836: iconst_1
837: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
840: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
845: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
848: istore 32
850: iload 32
852: pop
853: aconst_null
854: astore 33
856: aload_2
857: ldc #150 // int 32
859: aaload
860: iconst_0
861: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
864: iload 32
866: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
869: ldc #27 // int 0
871: invokestatic #107 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
874: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
879: ldc #111 // class java/util/Iterator
881: invokestatic #115 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
884: checkcast #111 // class java/util/Iterator
887: astore 34
889: aload 34
891: invokeinterface #118, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
896: ifeq 1020
899: aload 34
901: invokeinterface #121, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
906: astore 33
908: aload_2
909: ldc #151 // int 33
911: aaload
912: aload 4
914: aload 33
916: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
921: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
924: istore 35
926: iload 35
928: pop
929: aload_2
930: ldc #152 // int 34
932: aaload
933: aload 4
935: aload_2
936: ldc #153 // int 35
938: aaload
939: iload 30
941: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
944: aload 33
946: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
951: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
956: astore 36
958: aload_2
959: ldc #154 // int 36
961: aaload
962: aload 4
964: aload 33
966: aload 36
968: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
973: pop
974: aload 36
976: pop
977: iload 35
979: istore 37
981: aload_2
982: ldc #155 // int 37
984: aaload
985: aload 4
987: aload_2
988: ldc #156 // int 38
990: aaload
991: iload 30
993: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
996: aload 33
998: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1003: iload 37
1005: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1008: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1013: pop
1014: iload 37
1016: pop
1017: goto 889
1020: iload 29
1022: dup
1023: istore 38
1025: aload_2
1026: ldc #157 // int 39
1028: aaload
1029: swap
1030: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1033: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
1038: dup
1039: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1042: istore 29
1044: pop
1045: iload 38
1047: pop
1048: goto 770
1051: iload 29
1053: iload 8
1055: if_icmple 1062
1058: iconst_1
1059: goto 1063
1062: iconst_0
1063: ifeq 1168
1066: iload 29
1068: istore 39
1070: iload 39
1072: istore 8
1074: iload 39
1076: pop
1077: aconst_null
1078: astore 40
1080: aload_2
1081: ldc #158 // int 40
1083: aaload
1084: iconst_0
1085: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1088: iload_1
1089: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1092: ldc #27 // int 0
1094: invokestatic #107 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
1097: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
1102: ldc #111 // class java/util/Iterator
1104: invokestatic #115 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
1107: checkcast #111 // class java/util/Iterator
1110: astore 41
1112: aload 41
1114: invokeinterface #118, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
1119: ifeq 1168
1122: aload 41
1124: invokeinterface #121, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
1129: astore 40
1131: aload_2
1132: ldc #159 // int 41
1134: aaload
1135: aload 5
1137: aload 40
1139: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1144: astore 42
1146: aload_2
1147: ldc #160 // int 42
1149: aaload
1150: aload 7
1152: aload 40
1154: aload 42
1156: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1161: pop
1162: aload 42
1164: pop
1165: goto 1112
1168: iload 18
1170: iload_1
1171: if_icmpne 1178
1174: iconst_1
1175: goto 1179
1178: iconst_0
1179: ifeq 1188
1182: iload 8
1184: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1187: areturn
1188: aload_2
1189: ldc #161 // int 43
1191: aaload
1192: aload 5
1194: iconst_0
1195: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1198: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1203: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1206: istore 43
1208: iload 43
1210: pop
1211: iconst_0
1212: istore 44
1214: iload 44
1216: pop
1217: iload 44
1219: iload 18
1221: if_icmpge 1228
1224: iconst_1
1225: goto 1229
1228: iconst_0
1229: ifeq 1312
1232: aload_2
1233: ldc #162 // int 44
1235: aaload
1236: iload 44
1238: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1241: iconst_1
1242: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1245: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1250: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1253: istore 45
1255: iload 45
1257: pop
1258: aload_2
1259: ldc #163 // int 45
1261: aaload
1262: aload 5
1264: iload 45
1266: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1269: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1274: astore 46
1276: aload_2
1277: ldc #164 // int 46
1279: aaload
1280: aload 5
1282: iload 44
1284: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1287: aload 46
1289: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1294: pop
1295: aload 46
1297: pop
1298: iload 45
1300: istore 47
1302: iload 47
1304: istore 44
1306: iload 47
1308: pop
1309: goto 1217
1312: iload 43
1314: istore 48
1316: aload_2
1317: ldc #165 // int 47
1319: aaload
1320: aload 5
1322: iload 18
1324: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1327: iload 48
1329: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1332: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1337: pop
1338: iload 48
1340: pop
1341: aload_2
1342: ldc #166 // int 48
1344: aaload
1345: aload_2
1346: ldc #167 // int 49
1348: aaload
1349: aload 6
1351: iload 18
1353: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1356: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1361: iconst_1
1362: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1365: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1370: astore 49
1372: aload_2
1373: ldc #168 // int 50
1375: aaload
1376: aload 6
1378: iload 18
1380: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1383: aload 49
1385: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1390: pop
1391: aload 49
1393: pop
1394: aload_2
1395: ldc #169 // int 51
1397: aaload
1398: aload 6
1400: iload 18
1402: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1405: invokeinterface #66, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1410: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1413: iconst_0
1414: if_icmple 1421
1417: iconst_1
1418: goto 1422
1421: iconst_0
1422: ifeq 1428
1425: goto 1459
1428: iload 18
1430: dup
1431: istore 50
1433: aload_2
1434: ldc #170 // int 52
1436: aaload
1437: swap
1438: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1441: invokeinterface #109, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
1446: dup
1447: invokestatic #102 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1450: istore 18
1452: pop
1453: iload 50
1455: pop
1456: goto 1168
1459: goto 354
1462: aconst_null
1463: areturn
1464: aconst_null
1465: areturn
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #194 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class fannkuch
6: if_acmpeq 14
9: aload_0
10: invokestatic #198 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #200 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #194 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #206 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #200 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #209 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
}
Invoke Dynamic
Compiled from "fannkuch.groovy"
public class fannkuch extends groovy.lang.Script {
public static transient boolean __$stMC;
public fannkuch();
Code:
0: aload_0
1: invokespecial #13 // Method groovy/lang/Script."<init>":()V
4: return
public fannkuch(groovy.lang.Binding);
Code:
0: aload_0
1: aload_1
2: invokespecial #18 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
5: return
public static void main(java.lang.String...);
Code:
0: ldc #24 // class org/codehaus/groovy/runtime/InvokerHelper
2: ldc #2 // class fannkuch
4: aload_0
5: invokedynamic #38, 0 // InvokeDynamic #0:invoke:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/String;)Ljava/lang/Object;
10: pop
11: return
public java.lang.Object run();
Code:
0: bipush 7
2: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
5: astore_1
6: aload_1
7: pop
8: aload_0
9: invokedynamic #54, 0 // InvokeDynamic #1:getProperty:(Lfannkuch;)Ljava/lang/Object;
14: invokedynamic #59, 0 // InvokeDynamic #2:getProperty:(Ljava/lang/Object;)Ljava/lang/Object;
19: iconst_0
20: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
23: invokestatic #65 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
26: ifeq 53
29: ldc #44 // class java/lang/Integer
31: aload_0
32: invokedynamic #54, 0 // InvokeDynamic #1:getProperty:(Lfannkuch;)Ljava/lang/Object;
37: iconst_0
38: invokedynamic #70, 0 // InvokeDynamic #3:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
43: invokedynamic #75, 0 // InvokeDynamic #4:invoke:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
48: astore_2
49: aload_2
50: astore_1
51: aload_2
52: pop
53: aload_0
54: ldc #77 // String Pfannkuchen(
56: aload_1
57: invokedynamic #82, 0 // InvokeDynamic #5:invoke:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
62: ldc #84 // String ) =
64: invokedynamic #87, 0 // InvokeDynamic #5:invoke:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
69: aload_0
70: aload_1
71: invokedynamic #92, 0 // InvokeDynamic #6:invoke:(Lfannkuch;Ljava/lang/Object;)Ljava/lang/Object;
76: invokedynamic #95, 0 // InvokeDynamic #5:invoke:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
81: invokedynamic #98, 0 // InvokeDynamic #7:invoke:(Lfannkuch;Ljava/lang/Object;)Ljava/lang/Object;
86: areturn
87: nop
88: athrow
public java.lang.Object fannkuch(int);
Code:
0: iconst_0
1: istore_2
2: iload_2
3: pop
4: iload_1
5: multianewarray #107, 1 // class "[I"
9: astore_3
10: aload_3
11: pop
12: iload_1
13: multianewarray #107, 1 // class "[I"
17: astore 4
19: aload 4
21: pop
22: iload_1
23: multianewarray #107, 1 // class "[I"
27: astore 5
29: aload 5
31: pop
32: iload_1
33: multianewarray #107, 1 // class "[I"
37: astore 6
39: aload 6
41: pop
42: iconst_0
43: istore 7
45: iload 7
47: pop
48: iload_1
49: iconst_1
50: invokedynamic #112, 0 // InvokeDynamic #8:invoke:(II)Ljava/lang/Object;
55: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
58: istore 8
60: iload 8
62: pop
63: aconst_null
64: astore 9
66: iconst_0
67: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
70: iload_1
71: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
74: ldc #34 // int 0
76: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
79: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
84: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
89: astore 10
91: aload 10
93: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
98: ifeq 132
101: aload 10
103: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
108: astore 9
110: aload 9
112: astore 11
114: aload 4
116: aload 9
118: aload 11
120: invokedynamic #147, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
125: pop
126: aload 11
128: pop
129: goto 91
132: iload_1
133: istore 12
135: iload 12
137: pop
138: iload_2
139: bipush 30
141: if_icmpge 148
144: iconst_1
145: goto 149
148: iconst_0
149: ifeq 251
152: aconst_null
153: astore 13
155: iconst_0
156: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
159: iload_1
160: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
163: ldc #34 // int 0
165: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
168: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
173: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
178: astore 14
180: aload 14
182: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
187: ifeq 224
190: aload 14
192: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
197: astore 13
199: aload_0
200: aload 4
202: aload 13
204: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
209: iconst_1
210: invokedynamic #151, 0 // InvokeDynamic #5:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
215: invokedynamic #154, 0 // InvokeDynamic #12:invoke:(Lfannkuch;Ljava/lang/Object;)Ljava/lang/Object;
220: pop
221: goto 180
224: aload_0
225: ldc #156 // String \n
227: invokedynamic #159, 0 // InvokeDynamic #12:invoke:(Lfannkuch;Ljava/lang/String;)Ljava/lang/Object;
232: pop
233: iload_2
234: dup
235: istore 15
237: invokedynamic #162, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
242: dup
243: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
246: istore_2
247: pop
248: iload 15
250: pop
251: iload 12
253: iconst_1
254: if_icmpeq 261
257: iconst_1
258: goto 262
261: iconst_0
262: ifeq 313
265: iload 12
267: istore 16
269: aload 5
271: iload 12
273: iconst_1
274: invokedynamic #112, 0 // InvokeDynamic #8:invoke:(II)Ljava/lang/Object;
279: iload 16
281: invokedynamic #165, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;I)Ljava/lang/Object;
286: pop
287: iload 16
289: pop
290: iload 12
292: dup
293: istore 17
295: invokedynamic #168, 0 // InvokeDynamic #14:invoke:(I)Ljava/lang/Object;
300: dup
301: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
304: istore 12
306: pop
307: iload 17
309: pop
310: goto 251
313: aload 4
315: iconst_0
316: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
321: iconst_0
322: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
325: invokestatic #174 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
328: ifne 351
331: aload 4
333: iload 8
335: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
340: iload 8
342: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
345: invokestatic #174 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
348: ifeq 355
351: iconst_1
352: goto 356
355: iconst_0
356: ifne 363
359: iconst_1
360: goto 364
363: iconst_0
364: ifeq 761
367: aconst_null
368: astore 18
370: iconst_0
371: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
374: iload_1
375: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
378: ldc #34 // int 0
380: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
383: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
388: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
393: astore 19
395: aload 19
397: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
402: ifeq 442
405: aload 19
407: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
412: astore 18
414: aload 4
416: aload 18
418: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
423: astore 20
425: aload_3
426: aload 18
428: aload 20
430: invokedynamic #147, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
435: pop
436: aload 20
438: pop
439: goto 395
442: iconst_0
443: istore 21
445: iload 21
447: pop
448: ldc #34 // int 0
450: istore 22
452: iload 22
454: pop
455: aload_3
456: iconst_0
457: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
462: astore 23
464: aload 23
466: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
469: istore 22
471: aload 23
473: iconst_0
474: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
477: invokestatic #174 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
480: ifne 487
483: iconst_1
484: goto 488
487: iconst_0
488: ifeq 659
491: iload 22
493: iconst_1
494: invokedynamic #175, 0 // InvokeDynamic #5:invoke:(II)Ljava/lang/Object;
499: iconst_1
500: invokedynamic #178, 0 // InvokeDynamic #15:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
505: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
508: istore 24
510: iload 24
512: pop
513: aconst_null
514: astore 25
516: iconst_0
517: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
520: iload 24
522: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
525: ldc #34 // int 0
527: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
530: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
535: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
540: astore 26
542: aload 26
544: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
549: ifeq 636
552: aload 26
554: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
559: astore 25
561: aload_3
562: aload 25
564: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
569: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
572: istore 27
574: iload 27
576: pop
577: aload_3
578: iload 22
580: aload 25
582: invokedynamic #181, 0 // InvokeDynamic #8:invoke:(ILjava/lang/Object;)Ljava/lang/Object;
587: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
592: astore 28
594: aload_3
595: aload 25
597: aload 28
599: invokedynamic #147, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
604: pop
605: aload 28
607: pop
608: iload 27
610: istore 29
612: aload_3
613: iload 22
615: aload 25
617: invokedynamic #181, 0 // InvokeDynamic #8:invoke:(ILjava/lang/Object;)Ljava/lang/Object;
622: iload 29
624: invokedynamic #165, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;I)Ljava/lang/Object;
629: pop
630: iload 29
632: pop
633: goto 542
636: iload 21
638: dup
639: istore 30
641: invokedynamic #162, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
646: dup
647: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
650: istore 21
652: pop
653: iload 30
655: pop
656: goto 455
659: iload 21
661: iload 7
663: if_icmple 670
666: iconst_1
667: goto 671
670: iconst_0
671: ifeq 761
674: iload 21
676: istore 31
678: iload 31
680: istore 7
682: iload 31
684: pop
685: aconst_null
686: astore 32
688: iconst_0
689: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
692: iload_1
693: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
696: ldc #34 // int 0
698: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
701: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
706: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
711: astore 33
713: aload 33
715: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
720: ifeq 761
723: aload 33
725: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
730: astore 32
732: aload 4
734: aload 32
736: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
741: astore 34
743: aload 6
745: aload 32
747: aload 34
749: invokedynamic #147, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
754: pop
755: aload 34
757: pop
758: goto 713
761: iload 12
763: iload_1
764: if_icmpne 771
767: iconst_1
768: goto 772
771: iconst_0
772: ifeq 781
775: iload 7
777: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
780: areturn
781: aload 4
783: iconst_0
784: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
789: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
792: istore 35
794: iload 35
796: pop
797: iconst_0
798: istore 36
800: iload 36
802: pop
803: iload 36
805: iload 12
807: if_icmpge 814
810: iconst_1
811: goto 815
814: iconst_0
815: ifeq 874
818: iload 36
820: iconst_1
821: invokedynamic #175, 0 // InvokeDynamic #5:invoke:(II)Ljava/lang/Object;
826: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
829: istore 37
831: iload 37
833: pop
834: aload 4
836: iload 37
838: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
843: astore 38
845: aload 4
847: iload 36
849: aload 38
851: invokedynamic #184, 0 // InvokeDynamic #11:invoke:([IILjava/lang/Object;)Ljava/lang/Object;
856: pop
857: aload 38
859: pop
860: iload 37
862: istore 39
864: iload 39
866: istore 36
868: iload 39
870: pop
871: goto 803
874: iload 35
876: istore 40
878: aload 4
880: iload 12
882: iload 40
884: invokedynamic #187, 0 // InvokeDynamic #11:invoke:([III)Ljava/lang/Object;
889: pop
890: iload 40
892: pop
893: aload 5
895: iload 12
897: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
902: iconst_1
903: invokedynamic #188, 0 // InvokeDynamic #8:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
908: astore 41
910: aload 5
912: iload 12
914: aload 41
916: invokedynamic #184, 0 // InvokeDynamic #11:invoke:([IILjava/lang/Object;)Ljava/lang/Object;
921: pop
922: aload 41
924: pop
925: aload 5
927: iload 12
929: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
934: iconst_0
935: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
938: invokestatic #65 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
941: ifeq 947
944: goto 970
947: iload 12
949: dup
950: istore 42
952: invokedynamic #162, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
957: dup
958: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
961: istore 12
963: pop
964: iload 42
966: pop
967: goto 761
970: goto 138
973: nop
974: athrow
975: nop
976: athrow
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #210 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class fannkuch
6: if_acmpeq 14
9: aload_0
10: invokestatic #214 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #216 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #210 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #222 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #216 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #225 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
}
Static Compilation
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/fannkuch.groovy: 9: [Static type checking] - The variable [args] is undeclared.
@ line 9, column 5.
if (args.length > 0) {
^
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/fannkuch.groovy: 10: [Static type checking] - The variable [args] is undeclared.
@ line 10, column 26.
n = Integer.parseInt(args[0])
^
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/fannkuch.groovy: 10: [Static type checking] - Cannot find matching method java.lang.Integer#parseInt(java.lang.Object). Please check if the declared type is right and if the method exists.
@ line 10, column 9.
n = Integer.parseInt(args[0])
^
/Users/jstrater/Documents/dev/groovy-compiler-project/build/resources/test/scripts/fannkuch.groovy: 12: [Static type checking] - Cannot find matching method fannkuch#fannkuch(java.lang.Object). Please check if the declared type is right and if the method exists.
@ line 12, column 39.
println("Pfannkuchen(" + n + ") = " + fannkuch(n))
^
4 errors
Groovyc (Legacy)
Compiled from "fannkuch.groovy"
public class fannkuch extends groovy.lang.Script {
public static transient boolean __$stMC;
public fannkuch();
Code:
0: aload_0
1: invokespecial #15 // Method groovy/lang/Script."<init>":()V
4: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
7: astore_1
8: return
public fannkuch(groovy.lang.Binding);
Code:
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: aload_0
5: aload_1
6: invokespecial #24 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
9: return
public static void main(java.lang.String...);
Code:
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: aload_1
5: ldc #29 // int 0
7: aaload
8: ldc #31 // class org/codehaus/groovy/runtime/InvokerHelper
10: ldc #2 // class fannkuch
12: aload_0
13: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
18: pop
19: return
public java.lang.Object run();
Code:
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: bipush 7
6: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
9: astore_2
10: aload_1
11: ldc #48 // int 1
13: aaload
14: aload_1
15: ldc #49 // int 2
17: aaload
18: aload_0
19: invokeinterface #53, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGroovyObjectGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
24: invokeinterface #56, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
29: iconst_0
30: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
33: invokestatic #62 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
36: ifeq 76
39: aload_1
40: ldc #63 // int 3
42: aaload
43: ldc #43 // class java/lang/Integer
45: aload_1
46: ldc #64 // int 4
48: aaload
49: aload_1
50: ldc #65 // int 5
52: aaload
53: aload_0
54: invokeinterface #53, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callGroovyObjectGetProperty:(Ljava/lang/Object;)Ljava/lang/Object;
59: iconst_0
60: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
63: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
68: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
73: astore_3
74: aload_3
75: astore_2
76: aload_1
77: ldc #69 // int 6
79: aaload
80: aload_0
81: aload_1
82: ldc #70 // int 7
84: aaload
85: aload_1
86: ldc #71 // int 8
88: aaload
89: aload_1
90: ldc #72 // int 9
92: aaload
93: ldc #74 // String Pfannkuchen(
95: aload_2
96: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
101: ldc #76 // String ) =
103: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
108: aload_1
109: ldc #77 // int 10
111: aaload
112: aload_0
113: aload_2
114: invokeinterface #81, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object;
119: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
124: invokeinterface #81, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object;
129: areturn
130: aconst_null
131: areturn
public java.lang.Object fannkuch(int);
Code:
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: iconst_0
5: istore_3
6: iload_1
7: multianewarray #86, 1 // class "[I"
11: astore 4
13: iload_1
14: multianewarray #86, 1 // class "[I"
18: astore 5
20: iload_1
21: multianewarray #86, 1 // class "[I"
25: astore 6
27: iload_1
28: multianewarray #86, 1 // class "[I"
32: astore 7
34: iconst_0
35: istore 8
37: ldc #29 // int 0
39: istore 9
41: invokestatic #92 // Method org/codehaus/groovy/runtime/BytecodeInterface8.isOrigInt:()Z
44: ifeq 62
47: getstatic #94 // Field __$stMC:Z
50: ifne 62
53: invokestatic #97 // Method org/codehaus/groovy/runtime/BytecodeInterface8.disabledStandardMetaClass:()Z
56: ifne 62
59: goto 91
62: aload_2
63: ldc #98 // int 11
65: aaload
66: iload_1
67: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
70: iconst_1
71: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
74: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
79: astore 10
81: aload 10
83: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
86: istore 9
88: goto 100
91: iload_1
92: iconst_1
93: isub
94: istore 11
96: iload 11
98: istore 9
100: invokestatic #92 // Method org/codehaus/groovy/runtime/BytecodeInterface8.isOrigInt:()Z
103: ifeq 121
106: getstatic #94 // Field __$stMC:Z
109: ifne 121
112: invokestatic #97 // Method org/codehaus/groovy/runtime/BytecodeInterface8.disabledStandardMetaClass:()Z
115: ifne 121
118: goto 201
121: aconst_null
122: astore 12
124: aload_2
125: ldc #105 // int 12
127: aaload
128: iconst_0
129: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
132: iload_1
133: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
136: ldc #29 // int 0
138: invokestatic #109 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
141: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
146: ldc #113 // class java/util/Iterator
148: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
151: checkcast #113 // class java/util/Iterator
154: astore 13
156: aload 13
158: invokeinterface #120, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
163: ifeq 198
166: aload 13
168: invokeinterface #123, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
173: astore 12
175: aload 12
177: astore 14
179: aload_2
180: ldc #124 // int 13
182: aaload
183: aload 5
185: aload 12
187: aload 14
189: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
194: pop
195: goto 156
198: goto 277
201: aconst_null
202: astore 15
204: aload_2
205: ldc #125 // int 14
207: aaload
208: iconst_0
209: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
212: iload_1
213: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
216: ldc #29 // int 0
218: invokestatic #109 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
221: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
226: ldc #113 // class java/util/Iterator
228: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
231: checkcast #113 // class java/util/Iterator
234: astore 16
236: aload 16
238: invokeinterface #120, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
243: ifeq 277
246: aload 16
248: invokeinterface #123, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
253: astore 15
255: aload 15
257: astore 17
259: aload 5
261: aload 15
263: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
266: aload 17
268: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
271: invokestatic #129 // Method org/codehaus/groovy/runtime/BytecodeInterface8.intArraySet:([III)V
274: goto 236
277: ldc #29 // int 0
279: istore 18
281: invokestatic #92 // Method org/codehaus/groovy/runtime/BytecodeInterface8.isOrigInt:()Z
284: ifeq 302
287: getstatic #94 // Field __$stMC:Z
290: ifne 302
293: invokestatic #97 // Method org/codehaus/groovy/runtime/BytecodeInterface8.disabledStandardMetaClass:()Z
296: ifne 302
299: goto 312
302: iload_1
303: istore 19
305: iload 19
307: istore 18
309: goto 319
312: iload_1
313: istore 20
315: iload 20
317: istore 18
319: iload_3
320: bipush 30
322: if_icmpge 329
325: iconst_1
326: goto 330
329: iconst_0
330: ifeq 463
333: aconst_null
334: astore 21
336: aload_2
337: ldc #130 // int 15
339: aaload
340: iconst_0
341: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
344: iload_1
345: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
348: ldc #29 // int 0
350: invokestatic #109 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
353: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
358: ldc #113 // class java/util/Iterator
360: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
363: checkcast #113 // class java/util/Iterator
366: astore 22
368: aload 22
370: invokeinterface #120, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
375: ifeq 427
378: aload 22
380: invokeinterface #123, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
385: astore 21
387: aload_2
388: ldc #131 // int 16
390: aaload
391: aload_0
392: aload_2
393: ldc #132 // int 17
395: aaload
396: aload_2
397: ldc #133 // int 18
399: aaload
400: aload 5
402: aload 21
404: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
409: iconst_1
410: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
413: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
418: invokeinterface #81, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object;
423: pop
424: goto 368
427: aload_2
428: ldc #134 // int 19
430: aaload
431: aload_0
432: ldc #136 // String \n
434: invokeinterface #81, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object;
439: pop
440: iload_3
441: dup
442: istore 23
444: aload_2
445: ldc #137 // int 20
447: aaload
448: swap
449: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
452: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
457: dup
458: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
461: istore_3
462: pop
463: iload 18
465: iconst_1
466: if_icmpeq 473
469: iconst_1
470: goto 474
473: iconst_0
474: ifeq 544
477: iload 18
479: istore 24
481: aload_2
482: ldc #138 // int 21
484: aaload
485: aload 6
487: aload_2
488: ldc #139 // int 22
490: aaload
491: iload 18
493: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
496: iconst_1
497: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
500: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
505: iload 24
507: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
510: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
515: pop
516: iload 18
518: dup
519: istore 25
521: aload_2
522: ldc #140 // int 23
524: aaload
525: swap
526: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
529: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
534: dup
535: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
538: istore 18
540: pop
541: goto 463
544: aload_2
545: ldc #141 // int 24
547: aaload
548: aload 5
550: iconst_0
551: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
554: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
559: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
562: iconst_0
563: if_icmpne 570
566: iconst_1
567: goto 571
570: iconst_0
571: ifne 606
574: aload_2
575: ldc #142 // int 25
577: aaload
578: aload 5
580: iload 9
582: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
585: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
590: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
593: iload 9
595: if_icmpne 602
598: iconst_1
599: goto 603
602: iconst_0
603: ifeq 610
606: iconst_1
607: goto 611
610: iconst_0
611: ifne 618
614: iconst_1
615: goto 619
618: iconst_0
619: ifeq 1094
622: aconst_null
623: astore 26
625: aload_2
626: ldc #143 // int 26
628: aaload
629: iconst_0
630: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
633: iload_1
634: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
637: ldc #29 // int 0
639: invokestatic #109 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
642: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
647: ldc #113 // class java/util/Iterator
649: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
652: checkcast #113 // class java/util/Iterator
655: astore 27
657: aload 27
659: invokeinterface #120, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
664: ifeq 710
667: aload 27
669: invokeinterface #123, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
674: astore 26
676: aload_2
677: ldc #144 // int 27
679: aaload
680: aload 5
682: aload 26
684: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
689: astore 28
691: aload_2
692: ldc #145 // int 28
694: aaload
695: aload 4
697: aload 26
699: aload 28
701: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
706: pop
707: goto 657
710: iconst_0
711: istore 29
713: ldc #29 // int 0
715: istore 30
717: aload_2
718: ldc #146 // int 29
720: aaload
721: aload 4
723: iconst_0
724: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
727: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
732: astore 31
734: aload 31
736: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
739: istore 30
741: aload 31
743: iconst_0
744: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
747: invokestatic #149 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
750: ifne 757
753: iconst_1
754: goto 758
757: iconst_0
758: ifeq 983
761: aload_2
762: ldc #150 // int 30
764: aaload
765: aload_2
766: ldc #151 // int 31
768: aaload
769: iload 30
771: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
774: iconst_1
775: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
778: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
783: iconst_1
784: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
787: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
792: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
795: istore 32
797: aconst_null
798: astore 33
800: aload_2
801: ldc #152 // int 32
803: aaload
804: iconst_0
805: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
808: iload 32
810: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
813: ldc #29 // int 0
815: invokestatic #109 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
818: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
823: ldc #113 // class java/util/Iterator
825: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
828: checkcast #113 // class java/util/Iterator
831: astore 34
833: aload 34
835: invokeinterface #120, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
840: ifeq 955
843: aload 34
845: invokeinterface #123, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
850: astore 33
852: aload_2
853: ldc #153 // int 33
855: aaload
856: aload 4
858: aload 33
860: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
865: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
868: istore 35
870: aload_2
871: ldc #154 // int 34
873: aaload
874: aload 4
876: aload_2
877: ldc #155 // int 35
879: aaload
880: iload 30
882: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
885: aload 33
887: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
892: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
897: astore 36
899: aload_2
900: ldc #156 // int 36
902: aaload
903: aload 4
905: aload 33
907: aload 36
909: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
914: pop
915: iload 35
917: istore 37
919: aload_2
920: ldc #157 // int 37
922: aaload
923: aload 4
925: aload_2
926: ldc #158 // int 38
928: aaload
929: iload 30
931: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
934: aload 33
936: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
941: iload 37
943: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
946: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
951: pop
952: goto 833
955: iload 29
957: dup
958: istore 38
960: aload_2
961: ldc #159 // int 39
963: aaload
964: swap
965: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
968: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
973: dup
974: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
977: istore 29
979: pop
980: goto 717
983: iload 29
985: iload 8
987: if_icmple 994
990: iconst_1
991: goto 995
994: iconst_0
995: ifeq 1094
998: iload 29
1000: istore 39
1002: iload 39
1004: istore 8
1006: aconst_null
1007: astore 40
1009: aload_2
1010: ldc #160 // int 40
1012: aaload
1013: iconst_0
1014: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1017: iload_1
1018: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1021: ldc #29 // int 0
1023: invokestatic #109 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
1026: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
1031: ldc #113 // class java/util/Iterator
1033: invokestatic #117 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
1036: checkcast #113 // class java/util/Iterator
1039: astore 41
1041: aload 41
1043: invokeinterface #120, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
1048: ifeq 1094
1051: aload 41
1053: invokeinterface #123, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
1058: astore 40
1060: aload_2
1061: ldc #161 // int 41
1063: aaload
1064: aload 5
1066: aload 40
1068: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1073: astore 42
1075: aload_2
1076: ldc #162 // int 42
1078: aaload
1079: aload 7
1081: aload 40
1083: aload 42
1085: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1090: pop
1091: goto 1041
1094: iload 18
1096: iload_1
1097: if_icmpne 1104
1100: iconst_1
1101: goto 1105
1104: iconst_0
1105: ifeq 1114
1108: iload 8
1110: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1113: areturn
1114: aload_2
1115: ldc #163 // int 43
1117: aaload
1118: aload 5
1120: iconst_0
1121: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1124: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1129: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1132: istore 43
1134: iconst_0
1135: istore 44
1137: iload 44
1139: iload 18
1141: if_icmpge 1148
1144: iconst_1
1145: goto 1149
1148: iconst_0
1149: ifeq 1223
1152: aload_2
1153: ldc #164 // int 44
1155: aaload
1156: iload 44
1158: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1161: iconst_1
1162: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1165: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1170: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1173: istore 45
1175: aload_2
1176: ldc #165 // int 45
1178: aaload
1179: aload 5
1181: iload 45
1183: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1186: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1191: astore 46
1193: aload_2
1194: ldc #166 // int 46
1196: aaload
1197: aload 5
1199: iload 44
1201: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1204: aload 46
1206: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1211: pop
1212: iload 45
1214: istore 47
1216: iload 47
1218: istore 44
1220: goto 1137
1223: iload 43
1225: istore 48
1227: aload_2
1228: ldc #167 // int 47
1230: aaload
1231: aload 5
1233: iload 18
1235: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1238: iload 48
1240: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1243: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1248: pop
1249: aload_2
1250: ldc #168 // int 48
1252: aaload
1253: aload_2
1254: ldc #169 // int 49
1256: aaload
1257: aload 6
1259: iload 18
1261: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1264: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1269: iconst_1
1270: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1273: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1278: astore 49
1280: aload_2
1281: ldc #170 // int 50
1283: aaload
1284: aload 6
1286: iload 18
1288: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1291: aload 49
1293: invokeinterface #37, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1298: pop
1299: aload_2
1300: ldc #171 // int 51
1302: aaload
1303: aload 6
1305: iload 18
1307: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1310: invokeinterface #68, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
1315: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1318: iconst_0
1319: if_icmple 1326
1322: iconst_1
1323: goto 1327
1326: iconst_0
1327: ifeq 1333
1330: goto 1361
1333: iload 18
1335: dup
1336: istore 50
1338: aload_2
1339: ldc #172 // int 52
1341: aaload
1342: swap
1343: invokestatic #47 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
1346: invokeinterface #111, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
1351: dup
1352: invokestatic #104 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
1355: istore 18
1357: pop
1358: goto 1094
1361: goto 319
1364: aconst_null
1365: areturn
1366: aconst_null
1367: areturn
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #196 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class fannkuch
6: if_acmpeq 14
9: aload_0
10: invokestatic #200 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #202 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #196 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #208 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #202 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #211 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
}
Invoke Dynamic
Compiled from "fannkuch.groovy"
public class fannkuch extends groovy.lang.Script {
public static transient boolean __$stMC;
public fannkuch();
Code:
0: aload_0
1: invokespecial #13 // Method groovy/lang/Script."<init>":()V
4: return
public fannkuch(groovy.lang.Binding);
Code:
0: aload_0
1: aload_1
2: invokespecial #18 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
5: return
public static void main(java.lang.String...);
Code:
0: ldc #24 // class org/codehaus/groovy/runtime/InvokerHelper
2: ldc #2 // class fannkuch
4: aload_0
5: invokedynamic #38, 0 // InvokeDynamic #0:invoke:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/String;)Ljava/lang/Object;
10: pop
11: return
public java.lang.Object run();
Code:
0: bipush 7
2: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
5: astore_1
6: aload_0
7: invokedynamic #54, 0 // InvokeDynamic #1:getProperty:(Lfannkuch;)Ljava/lang/Object;
12: invokedynamic #59, 0 // InvokeDynamic #2:getProperty:(Ljava/lang/Object;)Ljava/lang/Object;
17: iconst_0
18: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
21: invokestatic #65 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
24: ifeq 49
27: ldc #44 // class java/lang/Integer
29: aload_0
30: invokedynamic #54, 0 // InvokeDynamic #1:getProperty:(Lfannkuch;)Ljava/lang/Object;
35: iconst_0
36: invokedynamic #70, 0 // InvokeDynamic #3:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
41: invokedynamic #75, 0 // InvokeDynamic #4:invoke:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
46: astore_2
47: aload_2
48: astore_1
49: aload_0
50: ldc #79 // String Pfannkuchen(
52: aload_1
53: invokedynamic #84, 0 // InvokeDynamic #5:invoke:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
58: ldc #86 // String ) =
60: invokedynamic #89, 0 // InvokeDynamic #5:invoke:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
65: aload_0
66: aload_1
67: invokedynamic #94, 0 // InvokeDynamic #6:invoke:(Lfannkuch;Ljava/lang/Object;)Ljava/lang/Object;
72: invokedynamic #97, 0 // InvokeDynamic #5:invoke:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
77: invokedynamic #100, 0 // InvokeDynamic #7:invoke:(Lfannkuch;Ljava/lang/Object;)Ljava/lang/Object;
82: areturn
83: nop
84: athrow
public java.lang.Object fannkuch(int);
Code:
0: iconst_0
1: istore_2
2: iload_1
3: multianewarray #107, 1 // class "[I"
7: astore_3
8: iload_1
9: multianewarray #107, 1 // class "[I"
13: astore 4
15: iload_1
16: multianewarray #107, 1 // class "[I"
20: astore 5
22: iload_1
23: multianewarray #107, 1 // class "[I"
27: astore 6
29: iconst_0
30: istore 7
32: iload_1
33: iconst_1
34: invokedynamic #112, 0 // InvokeDynamic #8:invoke:(II)Ljava/lang/Object;
39: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
42: istore 8
44: aconst_null
45: astore 9
47: iconst_0
48: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
51: iload_1
52: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
55: ldc #34 // int 0
57: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
60: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
65: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
70: astore 10
72: aload 10
74: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
79: ifeq 110
82: aload 10
84: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
89: astore 9
91: aload 9
93: astore 11
95: aload 4
97: aload 9
99: aload 11
101: invokedynamic #147, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
106: pop
107: goto 72
110: iload_1
111: istore 12
113: iload_2
114: bipush 30
116: if_icmpge 123
119: iconst_1
120: goto 124
123: iconst_0
124: ifeq 223
127: aconst_null
128: astore 13
130: iconst_0
131: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
134: iload_1
135: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
138: ldc #34 // int 0
140: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
143: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
148: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
153: astore 14
155: aload 14
157: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
162: ifeq 199
165: aload 14
167: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
172: astore 13
174: aload_0
175: aload 4
177: aload 13
179: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
184: iconst_1
185: invokedynamic #151, 0 // InvokeDynamic #5:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
190: invokedynamic #154, 0 // InvokeDynamic #12:invoke:(Lfannkuch;Ljava/lang/Object;)Ljava/lang/Object;
195: pop
196: goto 155
199: aload_0
200: ldc #156 // String \n
202: invokedynamic #159, 0 // InvokeDynamic #12:invoke:(Lfannkuch;Ljava/lang/String;)Ljava/lang/Object;
207: pop
208: iload_2
209: dup
210: istore 15
212: invokedynamic #162, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
217: dup
218: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
221: istore_2
222: pop
223: iload 12
225: iconst_1
226: if_icmpeq 233
229: iconst_1
230: goto 234
233: iconst_0
234: ifeq 279
237: iload 12
239: istore 16
241: aload 5
243: iload 12
245: iconst_1
246: invokedynamic #112, 0 // InvokeDynamic #8:invoke:(II)Ljava/lang/Object;
251: iload 16
253: invokedynamic #165, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;I)Ljava/lang/Object;
258: pop
259: iload 12
261: dup
262: istore 17
264: invokedynamic #168, 0 // InvokeDynamic #14:invoke:(I)Ljava/lang/Object;
269: dup
270: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
273: istore 12
275: pop
276: goto 223
279: aload 4
281: iconst_0
282: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
287: iconst_0
288: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
291: invokestatic #174 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
294: ifne 317
297: aload 4
299: iload 8
301: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
306: iload 8
308: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
311: invokestatic #174 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
314: ifeq 321
317: iconst_1
318: goto 322
321: iconst_0
322: ifne 329
325: iconst_1
326: goto 330
329: iconst_0
330: ifeq 697
333: aconst_null
334: astore 18
336: iconst_0
337: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
340: iload_1
341: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
344: ldc #34 // int 0
346: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
349: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
354: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
359: astore 19
361: aload 19
363: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
368: ifeq 405
371: aload 19
373: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
378: astore 18
380: aload 4
382: aload 18
384: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
389: astore 20
391: aload_3
392: aload 18
394: aload 20
396: invokedynamic #147, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
401: pop
402: goto 361
405: iconst_0
406: istore 21
408: ldc #34 // int 0
410: istore 22
412: aload_3
413: iconst_0
414: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
419: astore 23
421: aload 23
423: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
426: istore 22
428: aload 23
430: iconst_0
431: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
434: invokestatic #174 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
437: ifne 444
440: iconst_1
441: goto 445
444: iconst_0
445: ifeq 601
448: iload 22
450: iconst_1
451: invokedynamic #175, 0 // InvokeDynamic #5:invoke:(II)Ljava/lang/Object;
456: iconst_1
457: invokedynamic #178, 0 // InvokeDynamic #15:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
462: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
465: istore 24
467: aconst_null
468: astore 25
470: iconst_0
471: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
474: iload 24
476: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
479: ldc #34 // int 0
481: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
484: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
489: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
494: astore 26
496: aload 26
498: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
503: ifeq 581
506: aload 26
508: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
513: astore 25
515: aload_3
516: aload 25
518: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
523: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
526: istore 27
528: aload_3
529: iload 22
531: aload 25
533: invokedynamic #181, 0 // InvokeDynamic #8:invoke:(ILjava/lang/Object;)Ljava/lang/Object;
538: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
543: astore 28
545: aload_3
546: aload 25
548: aload 28
550: invokedynamic #147, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
555: pop
556: iload 27
558: istore 29
560: aload_3
561: iload 22
563: aload 25
565: invokedynamic #181, 0 // InvokeDynamic #8:invoke:(ILjava/lang/Object;)Ljava/lang/Object;
570: iload 29
572: invokedynamic #165, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;I)Ljava/lang/Object;
577: pop
578: goto 496
581: iload 21
583: dup
584: istore 30
586: invokedynamic #162, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
591: dup
592: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
595: istore 21
597: pop
598: goto 412
601: iload 21
603: iload 7
605: if_icmple 612
608: iconst_1
609: goto 613
612: iconst_0
613: ifeq 697
616: iload 21
618: istore 31
620: iload 31
622: istore 7
624: aconst_null
625: astore 32
627: iconst_0
628: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
631: iload_1
632: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
635: ldc #34 // int 0
637: invokestatic #122 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.createRange:(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/util/List;
640: invokedynamic #127, 0 // InvokeDynamic #9:invoke:(Lgroovy/lang/Range;)Ljava/lang/Object;
645: invokedynamic #133, 0 // InvokeDynamic #10:cast:(Ljava/lang/Object;)Ljava/util/Iterator;
650: astore 33
652: aload 33
654: invokeinterface #139, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
659: ifeq 697
662: aload 33
664: invokeinterface #142, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
669: astore 32
671: aload 4
673: aload 32
675: invokedynamic #150, 0 // InvokeDynamic #3:invoke:([ILjava/lang/Object;)Ljava/lang/Object;
680: astore 34
682: aload 6
684: aload 32
686: aload 34
688: invokedynamic #147, 0 // InvokeDynamic #11:invoke:([ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
693: pop
694: goto 652
697: iload 12
699: iload_1
700: if_icmpne 707
703: iconst_1
704: goto 708
707: iconst_0
708: ifeq 717
711: iload 7
713: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
716: areturn
717: aload 4
719: iconst_0
720: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
725: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
728: istore 35
730: iconst_0
731: istore 36
733: iload 36
735: iload 12
737: if_icmpge 744
740: iconst_1
741: goto 745
744: iconst_0
745: ifeq 795
748: iload 36
750: iconst_1
751: invokedynamic #175, 0 // InvokeDynamic #5:invoke:(II)Ljava/lang/Object;
756: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
759: istore 37
761: aload 4
763: iload 37
765: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
770: astore 38
772: aload 4
774: iload 36
776: aload 38
778: invokedynamic #184, 0 // InvokeDynamic #11:invoke:([IILjava/lang/Object;)Ljava/lang/Object;
783: pop
784: iload 37
786: istore 39
788: iload 39
790: istore 36
792: goto 733
795: iload 35
797: istore 40
799: aload 4
801: iload 12
803: iload 40
805: invokedynamic #187, 0 // InvokeDynamic #11:invoke:([III)Ljava/lang/Object;
810: pop
811: aload 5
813: iload 12
815: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
820: iconst_1
821: invokedynamic #188, 0 // InvokeDynamic #8:invoke:(Ljava/lang/Object;I)Ljava/lang/Object;
826: astore 41
828: aload 5
830: iload 12
832: aload 41
834: invokedynamic #184, 0 // InvokeDynamic #11:invoke:([IILjava/lang/Object;)Ljava/lang/Object;
839: pop
840: aload 5
842: iload 12
844: invokedynamic #171, 0 // InvokeDynamic #3:invoke:([II)Ljava/lang/Object;
849: iconst_0
850: invokestatic #48 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
853: invokestatic #65 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.compareGreaterThan:(Ljava/lang/Object;Ljava/lang/Object;)Z
856: ifeq 862
859: goto 882
862: iload 12
864: dup
865: istore 42
867: invokedynamic #162, 0 // InvokeDynamic #13:invoke:(I)Ljava/lang/Object;
872: dup
873: invokestatic #118 // Method org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.intUnbox:(Ljava/lang/Object;)I
876: istore 12
878: pop
879: goto 697
882: goto 113
885: nop
886: athrow
887: nop
888: athrow
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #210 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class fannkuch
6: if_acmpeq 14
9: aload_0
10: invokestatic #214 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #216 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #210 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #222 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #216 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #225 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
}