digraph all { subgraph init { node [shape=record] "initbb-1" [shape=circle,label="e",xlabel="init"] "initbb-2" [shape=circle,label="x"] "initbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: INVOKESPECIAL java/lang/Object. ()V|4: RETURN }"] "initbb-1" -> "initbb0" "initbb0" -> "initbb-2" } subgraph alloc2Of3dArrayMethod { node [shape=record] "alloc2Of3dArrayMethodbb-1" [shape=circle,label="e",xlabel="alloc2Of3dArrayMethod"] "alloc2Of3dArrayMethodbb-2" [shape=circle,label="x"] "alloc2Of3dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ICONST_3 |4: MULTIANEWARRAY [[[I 2|5: ARETURN }"] "alloc2Of3dArrayMethodbb-1" -> "alloc2Of3dArrayMethodbb0" "alloc2Of3dArrayMethodbb0" -> "alloc2Of3dArrayMethodbb-2" } subgraph alloc2dArrayMethod { node [shape=record] "alloc2dArrayMethodbb-1" [shape=circle,label="e",xlabel="alloc2dArrayMethod"] "alloc2dArrayMethodbb-2" [shape=circle,label="x"] "alloc2dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ICONST_3 |4: MULTIANEWARRAY [[I 2|5: ARETURN }"] "alloc2dArrayMethodbb-1" -> "alloc2dArrayMethodbb0" "alloc2dArrayMethodbb0" -> "alloc2dArrayMethodbb-2" } subgraph allocAndInit2dArrayMethod { node [shape=record] "allocAndInit2dArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInit2dArrayMethod"] "allocAndInit2dArrayMethodbb-2" [shape=circle,label="x"] "allocAndInit2dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_1 |3: ANEWARRAY [I|4: DUP |5: ICONST_0 |6: ICONST_1 |7: NEWARRAY T_INT|8: DUP |9: ICONST_0 |10: ICONST_1 |11: IASTORE |12: AASTORE |13: ARETURN }"] "allocAndInit2dArrayMethodbb-1" -> "allocAndInit2dArrayMethodbb0" "allocAndInit2dArrayMethodbb0" -> "allocAndInit2dArrayMethodbb-2" } subgraph allocAndInitIntArrayMethod { node [shape=record] "allocAndInitIntArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInitIntArrayMethod"] "allocAndInitIntArrayMethodbb-2" [shape=circle,label="x"] "allocAndInitIntArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: NEWARRAY T_INT|4: DUP |5: ICONST_0 |6: ICONST_1 |7: IASTORE |8: DUP |9: ICONST_1 |10: ICONST_2 |11: IASTORE |12: ARETURN }"] "allocAndInitIntArrayMethodbb-1" -> "allocAndInitIntArrayMethodbb0" "allocAndInitIntArrayMethodbb0" -> "allocAndInitIntArrayMethodbb-2" } subgraph allocAndInitObjectArrayMethod { node [shape=record] "allocAndInitObjectArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInitObjectArrayMethod"] "allocAndInitObjectArrayMethodbb-2" [shape=circle,label="x"] "allocAndInitObjectArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ANEWARRAY java/lang/Object|4: DUP |5: ICONST_0 |6: LDC 1|7: AASTORE |8: DUP |9: ICONST_1 |10: LDC 2|11: AASTORE |12: ARETURN }"] "allocAndInitObjectArrayMethodbb-1" -> "allocAndInitObjectArrayMethodbb0" "allocAndInitObjectArrayMethodbb0" -> "allocAndInitObjectArrayMethodbb-2" } subgraph allocIncomplete2dArrayMethod { node [shape=record] "allocIncomplete2dArrayMethodbb-1" [shape=circle,label="e",xlabel="allocIncomplete2dArrayMethod"] "allocIncomplete2dArrayMethodbb-2" [shape=circle,label="x"] "allocIncomplete2dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ANEWARRAY [I|4: ARETURN }"] "allocIncomplete2dArrayMethodbb-1" -> "allocIncomplete2dArrayMethodbb0" "allocIncomplete2dArrayMethodbb0" -> "allocIncomplete2dArrayMethodbb-2" } subgraph allocIntArrayMethod { node [shape=record] "allocIntArrayMethodbb-1" [shape=circle,label="e",xlabel="allocIntArrayMethod"] "allocIntArrayMethodbb-2" [shape=circle,label="x"] "allocIntArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_3 |3: NEWARRAY T_INT|4: ARETURN }"] "allocIntArrayMethodbb-1" -> "allocIntArrayMethodbb0" "allocIntArrayMethodbb0" -> "allocIntArrayMethodbb-2" } subgraph allocObjectArrayMethod { node [shape=record] "allocObjectArrayMethodbb-1" [shape=circle,label="e",xlabel="allocObjectArrayMethod"] "allocObjectArrayMethodbb-2" [shape=circle,label="x"] "allocObjectArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_3 |3: ANEWARRAY java/lang/Object|4: ARETURN }"] "allocObjectArrayMethodbb-1" -> "allocObjectArrayMethodbb0" "allocObjectArrayMethodbb0" -> "allocObjectArrayMethodbb-2" } subgraph allocObjectMethod { node [shape=record] "allocObjectMethodbb-1" [shape=circle,label="e",xlabel="allocObjectMethod"] "allocObjectMethodbb-2" [shape=circle,label="x"] "allocObjectMethodbb0" [label="0|{0: // label|1: // line number information|2: NEW java/lang/Object|3: DUP |4: INVOKESPECIAL java/lang/Object. ()V|5: ARETURN }"] "allocObjectMethodbb-1" -> "allocObjectMethodbb0" "allocObjectMethodbb0" -> "allocObjectMethodbb-2" } subgraph arrayLengthMethod { node [shape=record] "arrayLengthMethodbb-1" [shape=circle,label="e",xlabel="arrayLengthMethod"] "arrayLengthMethodbb-2" [shape=circle,label="x"] "arrayLengthMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ARRAYLENGTH |4: IRETURN }"] "arrayLengthMethodbb-1" -> "arrayLengthMethodbb0" "arrayLengthMethodbb0" -> "arrayLengthMethodbb-2" } subgraph arrayReadMethod { node [shape=record] "arrayReadMethodbb-1" [shape=circle,label="e",xlabel="arrayReadMethod"] "arrayReadMethodbb-2" [shape=circle,label="x"] "arrayReadMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ICONST_0 |4: AALOAD |5: ARETURN }"] "arrayReadMethodbb-1" -> "arrayReadMethodbb0" "arrayReadMethodbb0" -> "arrayReadMethodbb-2" } subgraph arrayWriteMethod { node [shape=record] "arrayWriteMethodbb-1" [shape=circle,label="e",xlabel="arrayWriteMethod"] "arrayWriteMethodbb-2" [shape=circle,label="x"] "arrayWriteMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ICONST_0 |4: ALOAD 2|5: AASTORE |6: // label|7: // line number information|8: RETURN }"] "arrayWriteMethodbb-1" -> "arrayWriteMethodbb0" "arrayWriteMethodbb0" -> "arrayWriteMethodbb-2" } subgraph condMethod { node [shape=record] "condMethodbb-1" [shape=circle,label="e",xlabel="condMethod"] "condMethodbb-2" [shape=circle,label="x"] "condMethodbb0" [label="0|{0: // label|1: // line number information|2: ILOAD 1|3: ILOAD 2|4: IF_ICMPLE 7}"] "condMethodbb5" [label="5|{5: ILOAD 1|6: GOTO 10}"] "condMethodbb7" [label="7|{7: // label|8: // stack frame map|9: ILOAD 2}"] "condMethodbb10" [label="10|{10: // label|11: // stack frame map|12: IRETURN }"] "condMethodbb-1" -> "condMethodbb0" "condMethodbb0" -> "condMethodbb5" "condMethodbb7" -> "condMethodbb10" "condMethodbb10" -> "condMethodbb-2" "condMethodbb0" -> "condMethodbb7" [label="T"] "condMethodbb5" -> "condMethodbb10" [label="T"] } subgraph doWhileMethod { node [shape=record] "doWhileMethodbb-1" [shape=circle,label="e",xlabel="doWhileMethod"] "doWhileMethodbb-2" [shape=circle,label="x"] "doWhileMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2}"] "doWhileMethodbb4" [label="4|{4: // label|5: // line number information|6: // stack frame map|7: ILOAD 2|8: ILOAD 1|9: IADD |10: ISTORE 2|11: // label|12: // line number information|13: IINC 1 -1|14: // label|15: // line number information|16: ILOAD 1|17: IFGT 4}"] "doWhileMethodbb18" [label="18|{18: // label|19: // line number information|20: ILOAD 2|21: IRETURN }"] "doWhileMethodbb-1" -> "doWhileMethodbb0" "doWhileMethodbb0" -> "doWhileMethodbb4" "doWhileMethodbb4" -> "doWhileMethodbb18" "doWhileMethodbb18" -> "doWhileMethodbb-2" "doWhileMethodbb4" -> "doWhileMethodbb4" [label="T"] } subgraph doWhileTrue { node [shape=record] "doWhileTruebb-1" [shape=circle,label="e",xlabel="doWhileTrue"] "doWhileTruebb-2" [shape=circle,label="e",xlabel="doWhileTrue"] "doWhileTruebb0" [label="0|{0: // label|1: // line number information|2: // stack frame map|3: IINC 1 1|4: // label|5: // line number information|6: GOTO 0}"] "doWhileTruebb-1" -> "doWhileTruebb0" "doWhileTruebb0" -> "doWhileTruebb0" [label="T"] } subgraph emptyMethod { node [shape=record] "emptyMethodbb-1" [shape=circle,label="e",xlabel="emptyMethod"] "emptyMethodbb-2" [shape=circle,label="x"] "emptyMethodbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"] "emptyMethodbb-1" -> "emptyMethodbb0" "emptyMethodbb0" -> "emptyMethodbb-2" } subgraph fieldReadMethod { node [shape=record] "fieldReadMethodbb-1" [shape=circle,label="e",xlabel="fieldReadMethod"] "fieldReadMethodbb-2" [shape=circle,label="x"] "fieldReadMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: GETFIELD ExampleClass.field Ljava/lang/String;|4: ARETURN }"] "fieldReadMethodbb-1" -> "fieldReadMethodbb0" "fieldReadMethodbb0" -> "fieldReadMethodbb-2" } subgraph fieldWriteMethod { node [shape=record] "fieldWriteMethodbb-1" [shape=circle,label="e",xlabel="fieldWriteMethod"] "fieldWriteMethodbb-2" [shape=circle,label="x"] "fieldWriteMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: ALOAD 1|4: PUTFIELD ExampleClass.field Ljava/lang/String;|5: // label|6: // line number information|7: RETURN }"] "fieldWriteMethodbb-1" -> "fieldWriteMethodbb0" "fieldWriteMethodbb0" -> "fieldWriteMethodbb-2" } subgraph forEachArrayMethod { node [shape=record] "forEachArrayMethodbb-1" [shape=circle,label="e",xlabel="forEachArrayMethod"] "forEachArrayMethodbb-2" [shape=circle,label="x"] "forEachArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ALOAD 1|7: ASTORE 3|8: ALOAD 3|9: ARRAYLENGTH |10: ISTORE 4|11: ICONST_0 |12: ISTORE 5}"] "forEachArrayMethodbb13" [label="13|{13: // label|14: // stack frame map|15: ILOAD 5|16: ILOAD 4|17: IF_ICMPGE 29}"] "forEachArrayMethodbb18" [label="18|{18: ALOAD 3|19: ILOAD 5|20: AALOAD |21: ASTORE 6|22: // label|23: // line number information|24: IINC 2 1|25: // label|26: // line number information|27: IINC 5 1|28: GOTO 13}"] "forEachArrayMethodbb29" [label="29|{29: // label|30: // line number information|31: // stack frame map|32: ILOAD 2|33: IRETURN }"] "forEachArrayMethodbb-1" -> "forEachArrayMethodbb0" "forEachArrayMethodbb0" -> "forEachArrayMethodbb13" "forEachArrayMethodbb13" -> "forEachArrayMethodbb18" "forEachArrayMethodbb29" -> "forEachArrayMethodbb-2" "forEachArrayMethodbb18" -> "forEachArrayMethodbb13" [label="T"] "forEachArrayMethodbb13" -> "forEachArrayMethodbb29" [label="T"] } subgraph forEachCollectionMethod { node [shape=record] "forEachCollectionMethodbb-1" [shape=circle,label="e",xlabel="forEachCollectionMethod"] "forEachCollectionMethodbb-2" [shape=circle,label="x"] "forEachCollectionMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ALOAD 1|7: INVOKEINTERFACE java/util/Set.iterator ()Ljava/util/Iterator;|8: ASTORE 3}"] "forEachCollectionMethodbb9" [label="9|{9: // label|10: // stack frame map|11: ALOAD 3|12: INVOKEINTERFACE java/util/Iterator.hasNext ()Z|13: IFEQ 24}"] "forEachCollectionMethodbb14" [label="14|{14: ALOAD 3|15: INVOKEINTERFACE java/util/Iterator.next ()Ljava/lang/Object;|16: CHECKCAST java/lang/String|17: ASTORE 4|18: // label|19: // line number information|20: IINC 2 1|21: // label|22: // line number information|23: GOTO 9}"] "forEachCollectionMethodbb24" [label="24|{24: // label|25: // line number information|26: // stack frame map|27: ILOAD 2|28: IRETURN }"] "forEachCollectionMethodbb-1" -> "forEachCollectionMethodbb0" "forEachCollectionMethodbb0" -> "forEachCollectionMethodbb9" "forEachCollectionMethodbb9" -> "forEachCollectionMethodbb14" "forEachCollectionMethodbb24" -> "forEachCollectionMethodbb-2" "forEachCollectionMethodbb14" -> "forEachCollectionMethodbb9" [label="T"] "forEachCollectionMethodbb9" -> "forEachCollectionMethodbb24" [label="T"] } subgraph forEver { node [shape=record] "forEverbb-1" [shape=circle,label="e",xlabel="forEver"] "forEverbb-2" [shape=circle,label="e",xlabel="forEver"] "forEverbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2}"] "forEverbb4" [label="4|{4: // label|5: // stack frame map|6: IINC 2 1|7: GOTO 4}"] "forEverbb-1" -> "forEverbb0" "forEverbb0" -> "forEverbb4" "forEverbb4" -> "forEverbb4" [label="T"] } subgraph forMethod { node [shape=record] "forMethodbb-1" [shape=circle,label="e",xlabel="forMethod"] "forMethodbb-2" [shape=circle,label="x"] "forMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ICONST_0 |7: ISTORE 3}"] "forMethodbb8" [label="8|{8: // label|9: // stack frame map|10: ILOAD 3|11: ILOAD 1|12: IF_ICMPGE 23}"] "forMethodbb13" [label="13|{13: // label|14: // line number information|15: ILOAD 2|16: ILOAD 3|17: IADD |18: ISTORE 2|19: // label|20: // line number information|21: IINC 1 1|22: GOTO 8}"] "forMethodbb23" [label="23|{23: // label|24: // line number information|25: // stack frame map|26: ILOAD 2|27: IRETURN }"] "forMethodbb-1" -> "forMethodbb0" "forMethodbb0" -> "forMethodbb8" "forMethodbb8" -> "forMethodbb13" "forMethodbb23" -> "forMethodbb-2" "forMethodbb13" -> "forMethodbb8" [label="T"] "forMethodbb8" -> "forMethodbb23" [label="T"] } subgraph forWithBreakMethod { node [shape=record] "forWithBreakMethodbb-1" [shape=circle,label="e",xlabel="forWithBreakMethod"] "forWithBreakMethodbb-2" [shape=circle,label="x"] "forWithBreakMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ICONST_0 |7: ISTORE 3}"] "forWithBreakMethodbb8" [label="8|{8: // label|9: // stack frame map|10: ILOAD 3|11: ILOAD 1|12: IF_ICMPGE 32}"] "forWithBreakMethodbb13" [label="13|{13: // label|14: // line number information|15: ILOAD 3|16: BIPUSH 10|17: IF_ICMPNE 21}"] "forWithBreakMethodbb18" [label="18|{18: // label|19: // line number information|20: GOTO 32}"] "forWithBreakMethodbb21" [label="21|{21: // label|22: // line number information|23: // stack frame map|24: ILOAD 2|25: ILOAD 3|26: IADD |27: ISTORE 2|28: // label|29: // line number information|30: IINC 3 1|31: GOTO 8}"] "forWithBreakMethodbb32" [label="32|{32: // label|33: // line number information|34: // stack frame map|35: ILOAD 2|36: IRETURN }"] "forWithBreakMethodbb-1" -> "forWithBreakMethodbb0" "forWithBreakMethodbb0" -> "forWithBreakMethodbb8" "forWithBreakMethodbb8" -> "forWithBreakMethodbb13" "forWithBreakMethodbb13" -> "forWithBreakMethodbb18" "forWithBreakMethodbb32" -> "forWithBreakMethodbb-2" "forWithBreakMethodbb21" -> "forWithBreakMethodbb8" [label="T"] "forWithBreakMethodbb13" -> "forWithBreakMethodbb21" [label="T"] "forWithBreakMethodbb8" -> "forWithBreakMethodbb32" [label="T"] "forWithBreakMethodbb18" -> "forWithBreakMethodbb32" [label="T"] } subgraph forWithContinueMethod { node [shape=record] "forWithContinueMethodbb-1" [shape=circle,label="e",xlabel="forWithContinueMethod"] "forWithContinueMethodbb-2" [shape=circle,label="x"] "forWithContinueMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ICONST_0 |7: ISTORE 3}"] "forWithContinueMethodbb8" [label="8|{8: // label|9: // stack frame map|10: ILOAD 3|11: ILOAD 1|12: IF_ICMPGE 33}"] "forWithContinueMethodbb13" [label="13|{13: // label|14: // line number information|15: ILOAD 3|16: BIPUSH 10|17: IF_ICMPNE 21}"] "forWithContinueMethodbb18" [label="18|{18: // label|19: // line number information|20: GOTO 28}"] "forWithContinueMethodbb21" [label="21|{21: // label|22: // line number information|23: // stack frame map|24: ILOAD 2|25: ILOAD 3|26: IADD |27: ISTORE 2}"] "forWithContinueMethodbb28" [label="28|{28: // label|29: // line number information|30: // stack frame map|31: IINC 3 1|32: GOTO 8}"] "forWithContinueMethodbb33" [label="33|{33: // label|34: // line number information|35: // stack frame map|36: ILOAD 2|37: IRETURN }"] "forWithContinueMethodbb-1" -> "forWithContinueMethodbb0" "forWithContinueMethodbb0" -> "forWithContinueMethodbb8" "forWithContinueMethodbb8" -> "forWithContinueMethodbb13" "forWithContinueMethodbb13" -> "forWithContinueMethodbb18" "forWithContinueMethodbb21" -> "forWithContinueMethodbb28" "forWithContinueMethodbb33" -> "forWithContinueMethodbb-2" "forWithContinueMethodbb28" -> "forWithContinueMethodbb8" [label="T"] "forWithContinueMethodbb13" -> "forWithContinueMethodbb21" [label="T"] "forWithContinueMethodbb18" -> "forWithContinueMethodbb28" [label="T"] "forWithContinueMethodbb8" -> "forWithContinueMethodbb33" [label="T"] } subgraph ifElseMethod { node [shape=record] "ifElseMethodbb-1" [shape=circle,label="e",xlabel="ifElseMethod"] "ifElseMethodbb-2" [shape=circle,label="x"] "ifElseMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ILOAD 1|7: IFLE 13}"] "ifElseMethodbb8" [label="8|{8: // label|9: // line number information|10: ICONST_0 |11: ISTORE 2|12: GOTO 18}"] "ifElseMethodbb13" [label="13|{13: // label|14: // line number information|15: // stack frame map|16: ILOAD 1|17: ISTORE 2}"] "ifElseMethodbb18" [label="18|{18: // label|19: // line number information|20: // stack frame map|21: ILOAD 2|22: IRETURN }"] "ifElseMethodbb-1" -> "ifElseMethodbb0" "ifElseMethodbb0" -> "ifElseMethodbb8" "ifElseMethodbb13" -> "ifElseMethodbb18" "ifElseMethodbb18" -> "ifElseMethodbb-2" "ifElseMethodbb0" -> "ifElseMethodbb13" [label="T"] "ifElseMethodbb8" -> "ifElseMethodbb18" [label="T"] } subgraph ifMethod { node [shape=record] "ifMethodbb-1" [shape=circle,label="e",xlabel="ifMethod"] "ifMethodbb-2" [shape=circle,label="x"] "ifMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ILOAD 1|7: IFGE 12}"] "ifMethodbb8" [label="8|{8: // label|9: // line number information|10: ICONST_1 |11: ISTORE 2}"] "ifMethodbb12" [label="12|{12: // label|13: // line number information|14: // stack frame map|15: ILOAD 2|16: IRETURN }"] "ifMethodbb-1" -> "ifMethodbb0" "ifMethodbb0" -> "ifMethodbb8" "ifMethodbb8" -> "ifMethodbb12" "ifMethodbb12" -> "ifMethodbb-2" "ifMethodbb0" -> "ifMethodbb12" [label="T"] } subgraph instanceCallMethod { node [shape=record] "instanceCallMethodbb-1" [shape=circle,label="e",xlabel="instanceCallMethod"] "instanceCallMethodbb-2" [shape=circle,label="x"] "instanceCallMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: INVOKEVIRTUAL ExampleClass.instanceCallTarget ()V|4: // label|5: // line number information|6: ICONST_2 |7: IRETURN }"] "instanceCallMethodbb-1" -> "instanceCallMethodbb0" "instanceCallMethodbb0" -> "instanceCallMethodbb-2" } subgraph instanceCallTarget { node [shape=record] "instanceCallTargetbb-1" [shape=circle,label="e",xlabel="instanceCallTarget"] "instanceCallTargetbb-2" [shape=circle,label="x"] "instanceCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"] "instanceCallTargetbb-1" -> "instanceCallTargetbb0" "instanceCallTargetbb0" -> "instanceCallTargetbb-2" } subgraph interfaceCallMethod { node [shape=record] "interfaceCallMethodbb-1" [shape=circle,label="e",xlabel="interfaceCallMethod"] "interfaceCallMethodbb-2" [shape=circle,label="x"] "interfaceCallMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: INVOKEINTERFACE ExampleClass$Interface.interfaceCallTarget ()V|4: // label|5: // line number information|6: ICONST_2 |7: IRETURN }"] "interfaceCallMethodbb-1" -> "interfaceCallMethodbb0" "interfaceCallMethodbb0" -> "interfaceCallMethodbb-2" } subgraph nestedFor { node [shape=record] "nestedForbb-1" [shape=circle,label="e",xlabel="nestedFor"] "nestedForbb-2" [shape=circle,label="x"] "nestedForbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ICONST_0 |7: ISTORE 3}"] "nestedForbb8" [label="8|{8: // label|9: // stack frame map|10: ILOAD 3|11: ILOAD 1|12: IF_ICMPGE 37}"] "nestedForbb13" [label="13|{13: // label|14: // line number information|15: ICONST_0 |16: ISTORE 4}"] "nestedForbb17" [label="17|{17: // label|18: // stack frame map|19: ILOAD 4|20: ILOAD 3|21: IF_ICMPGE 32}"] "nestedForbb22" [label="22|{22: // label|23: // line number information|24: ILOAD 2|25: ILOAD 4|26: IADD |27: ISTORE 2|28: // label|29: // line number information|30: IINC 4 1|31: GOTO 17}"] "nestedForbb32" [label="32|{32: // label|33: // line number information|34: // stack frame map|35: IINC 3 1|36: GOTO 8}"] "nestedForbb37" [label="37|{37: // label|38: // line number information|39: // stack frame map|40: ILOAD 2|41: IRETURN }"] "nestedForbb-1" -> "nestedForbb0" "nestedForbb0" -> "nestedForbb8" "nestedForbb8" -> "nestedForbb13" "nestedForbb13" -> "nestedForbb17" "nestedForbb17" -> "nestedForbb22" "nestedForbb37" -> "nestedForbb-2" "nestedForbb32" -> "nestedForbb8" [label="T"] "nestedForbb22" -> "nestedForbb17" [label="T"] "nestedForbb17" -> "nestedForbb32" [label="T"] "nestedForbb8" -> "nestedForbb37" [label="T"] } subgraph nonShortCircuitMethod { node [shape=record] "nonShortCircuitMethodbb-1" [shape=circle,label="e",xlabel="nonShortCircuitMethod"] "nonShortCircuitMethodbb-2" [shape=circle,label="x"] "nonShortCircuitMethodbb0" [label="0|{0: // label|1: // line number information|2: ILOAD 1|3: ILOAD 2|4: IF_ICMPLE 7}"] "nonShortCircuitMethodbb5" [label="5|{5: ICONST_1 |6: GOTO 10}"] "nonShortCircuitMethodbb7" [label="7|{7: // label|8: // stack frame map|9: ICONST_0 }"] "nonShortCircuitMethodbb10" [label="10|{10: // label|11: // stack frame map|12: ILOAD 1|13: ILOAD 3|14: IF_ICMPGE 17}"] "nonShortCircuitMethodbb15" [label="15|{15: ICONST_1 |16: GOTO 20}"] "nonShortCircuitMethodbb17" [label="17|{17: // label|18: // stack frame map|19: ICONST_0 }"] "nonShortCircuitMethodbb20" [label="20|{20: // label|21: // stack frame map|22: IAND |23: IFEQ 28}"] "nonShortCircuitMethodbb24" [label="24|{24: // label|25: // line number information|26: ICONST_1 |27: IRETURN }"] "nonShortCircuitMethodbb28" [label="28|{28: // label|29: // line number information|30: // stack frame map|31: ICONST_0 |32: IRETURN }"] "nonShortCircuitMethodbb-1" -> "nonShortCircuitMethodbb0" "nonShortCircuitMethodbb0" -> "nonShortCircuitMethodbb5" "nonShortCircuitMethodbb7" -> "nonShortCircuitMethodbb10" "nonShortCircuitMethodbb10" -> "nonShortCircuitMethodbb15" "nonShortCircuitMethodbb17" -> "nonShortCircuitMethodbb20" "nonShortCircuitMethodbb20" -> "nonShortCircuitMethodbb24" "nonShortCircuitMethodbb24" -> "nonShortCircuitMethodbb-2" "nonShortCircuitMethodbb24" -> "nonShortCircuitMethodbb28" "nonShortCircuitMethodbb28" -> "nonShortCircuitMethodbb-2" "nonShortCircuitMethodbb0" -> "nonShortCircuitMethodbb7" [label="T"] "nonShortCircuitMethodbb5" -> "nonShortCircuitMethodbb10" [label="T"] "nonShortCircuitMethodbb10" -> "nonShortCircuitMethodbb17" [label="T"] "nonShortCircuitMethodbb15" -> "nonShortCircuitMethodbb20" [label="T"] "nonShortCircuitMethodbb20" -> "nonShortCircuitMethodbb28" [label="T"] } subgraph privateInstanceCallMethod { node [shape=record] "privateInstanceCallMethodbb-1" [shape=circle,label="e",xlabel="privateInstanceCallMethod"] "privateInstanceCallMethodbb-2" [shape=circle,label="x"] "privateInstanceCallMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: INVOKESPECIAL ExampleClass.privateInstanceCallTarget ()V|4: // label|5: // line number information|6: ICONST_2 |7: IRETURN }"] "privateInstanceCallMethodbb-1" -> "privateInstanceCallMethodbb0" "privateInstanceCallMethodbb0" -> "privateInstanceCallMethodbb-2" } subgraph privateInstanceCallTarget { node [shape=record] "privateInstanceCallTargetbb-1" [shape=circle,label="e",xlabel="privateInstanceCallTarget"] "privateInstanceCallTargetbb-2" [shape=circle,label="x"] "privateInstanceCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"] "privateInstanceCallTargetbb-1" -> "privateInstanceCallTargetbb0" "privateInstanceCallTargetbb0" -> "privateInstanceCallTargetbb-2" } subgraph shortCircuitMethod { node [shape=record] "shortCircuitMethodbb-1" [shape=circle,label="e",xlabel="shortCircuitMethod"] "shortCircuitMethodbb-2" [shape=circle,label="x"] "shortCircuitMethodbb0" [label="0|{0: // label|1: // line number information|2: ILOAD 1|3: ILOAD 2|4: IF_ICMPLE 12}"] "shortCircuitMethodbb5" [label="5|{5: ILOAD 1|6: ILOAD 3|7: IF_ICMPGE 12}"] "shortCircuitMethodbb8" [label="8|{8: // label|9: // line number information|10: ICONST_1 |11: IRETURN }"] "shortCircuitMethodbb12" [label="12|{12: // label|13: // line number information|14: // stack frame map|15: ICONST_0 |16: IRETURN }"] "shortCircuitMethodbb-1" -> "shortCircuitMethodbb0" "shortCircuitMethodbb0" -> "shortCircuitMethodbb5" "shortCircuitMethodbb5" -> "shortCircuitMethodbb8" "shortCircuitMethodbb8" -> "shortCircuitMethodbb-2" "shortCircuitMethodbb8" -> "shortCircuitMethodbb12" "shortCircuitMethodbb12" -> "shortCircuitMethodbb-2" "shortCircuitMethodbb0" -> "shortCircuitMethodbb12" [label="T"] "shortCircuitMethodbb5" -> "shortCircuitMethodbb12" [label="T"] } subgraph staticCallMethod { node [shape=record] "staticCallMethodbb-1" [shape=circle,label="e",xlabel="staticCallMethod"] "staticCallMethodbb-2" [shape=circle,label="x"] "staticCallMethodbb0" [label="0|{0: // label|1: // line number information|2: INVOKESTATIC ExampleClass.staticCallTarget ()V|3: // label|4: // line number information|5: ICONST_2 |6: IRETURN }"] "staticCallMethodbb-1" -> "staticCallMethodbb0" "staticCallMethodbb0" -> "staticCallMethodbb-2" } subgraph staticCallTarget { node [shape=record] "staticCallTargetbb-1" [shape=circle,label="e",xlabel="staticCallTarget"] "staticCallTargetbb-2" [shape=circle,label="x"] "staticCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"] "staticCallTargetbb-1" -> "staticCallTargetbb0" "staticCallTargetbb0" -> "staticCallTargetbb-2" } subgraph staticFieldReadMethod { node [shape=record] "staticFieldReadMethodbb-1" [shape=circle,label="e",xlabel="staticFieldReadMethod"] "staticFieldReadMethodbb-2" [shape=circle,label="x"] "staticFieldReadMethodbb0" [label="0|{0: // label|1: // line number information|2: GETSTATIC ExampleClass.staticField Ljava/lang/String;|3: ARETURN }"] "staticFieldReadMethodbb-1" -> "staticFieldReadMethodbb0" "staticFieldReadMethodbb0" -> "staticFieldReadMethodbb-2" } subgraph staticFieldWriteMethod { node [shape=record] "staticFieldWriteMethodbb-1" [shape=circle,label="e",xlabel="staticFieldWriteMethod"] "staticFieldWriteMethodbb-2" [shape=circle,label="x"] "staticFieldWriteMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: PUTSTATIC ExampleClass.staticField Ljava/lang/String;|4: // label|5: // line number information|6: RETURN }"] "staticFieldWriteMethodbb-1" -> "staticFieldWriteMethodbb0" "staticFieldWriteMethodbb0" -> "staticFieldWriteMethodbb-2" } subgraph switchMethod { node [shape=record] "switchMethodbb-1" [shape=circle,label="e",xlabel="switchMethod"] "switchMethodbb-2" [shape=circle,label="x"] "switchMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ILOAD 1|7: TABLESWITCH 0: 8, 1: 14, 2: 20, default: 26}"] "switchMethodbb8" [label="8|{8: // label|9: // line number information|10: // stack frame map|11: ICONST_0 |12: ISTORE 2|13: GOTO 31}"] "switchMethodbb14" [label="14|{14: // label|15: // line number information|16: // stack frame map|17: ICONST_1 |18: ISTORE 2|19: GOTO 31}"] "switchMethodbb20" [label="20|{20: // label|21: // line number information|22: // stack frame map|23: ICONST_2 |24: ISTORE 2|25: GOTO 31}"] "switchMethodbb26" [label="26|{26: // label|27: // line number information|28: // stack frame map|29: ICONST_M1 |30: ISTORE 2}"] "switchMethodbb31" [label="31|{31: // label|32: // line number information|33: // stack frame map|34: ILOAD 2|35: IRETURN }"] "switchMethodbb-1" -> "switchMethodbb0" "switchMethodbb26" -> "switchMethodbb31" "switchMethodbb31" -> "switchMethodbb-2" "switchMethodbb0" -> "switchMethodbb8" [label="0"] "switchMethodbb0" -> "switchMethodbb14" [label="1"] "switchMethodbb0" -> "switchMethodbb20" [label="2"] "switchMethodbb0" -> "switchMethodbb26" [label="default"] "switchMethodbb8" -> "switchMethodbb31" [label="T"] "switchMethodbb14" -> "switchMethodbb31" [label="T"] "switchMethodbb20" -> "switchMethodbb31" [label="T"] } subgraph switchMethod2 { node [shape=record] "switchMethod2bb-1" [shape=circle,label="e",xlabel="switchMethod2"] "switchMethod2bb-2" [shape=circle,label="x"] "switchMethod2bb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2|4: // label|5: // line number information|6: ILOAD 1|7: LOOKUPSWITCH 0: 8, 1000: 14, 2000: 20, default: 26}"] "switchMethod2bb8" [label="8|{8: // label|9: // line number information|10: // stack frame map|11: ICONST_0 |12: ISTORE 2|13: GOTO 31}"] "switchMethod2bb14" [label="14|{14: // label|15: // line number information|16: // stack frame map|17: ICONST_1 |18: ISTORE 2|19: GOTO 31}"] "switchMethod2bb20" [label="20|{20: // label|21: // line number information|22: // stack frame map|23: ICONST_2 |24: ISTORE 2|25: GOTO 31}"] "switchMethod2bb26" [label="26|{26: // label|27: // line number information|28: // stack frame map|29: ICONST_M1 |30: ISTORE 2}"] "switchMethod2bb31" [label="31|{31: // label|32: // line number information|33: // stack frame map|34: ILOAD 2|35: IRETURN }"] "switchMethod2bb-1" -> "switchMethod2bb0" "switchMethod2bb26" -> "switchMethod2bb31" "switchMethod2bb31" -> "switchMethod2bb-2" "switchMethod2bb0" -> "switchMethod2bb8" [label="0"] "switchMethod2bb0" -> "switchMethod2bb14" [label="1000"] "switchMethod2bb0" -> "switchMethod2bb20" [label="2000"] "switchMethod2bb0" -> "switchMethod2bb26" [label="default"] "switchMethod2bb8" -> "switchMethod2bb31" [label="T"] "switchMethod2bb14" -> "switchMethod2bb31" [label="T"] "switchMethod2bb20" -> "switchMethod2bb31" [label="T"] } subgraph whileMethod { node [shape=record] "whileMethodbb-1" [shape=circle,label="e",xlabel="whileMethod"] "whileMethodbb-2" [shape=circle,label="x"] "whileMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2}"] "whileMethodbb4" [label="4|{4: // label|5: // line number information|6: // stack frame map|7: ILOAD 1|8: IFLE 19}"] "whileMethodbb9" [label="9|{9: // label|10: // line number information|11: ILOAD 2|12: ILOAD 1|13: IADD |14: ISTORE 2|15: // label|16: // line number information|17: IINC 1 -1|18: GOTO 4}"] "whileMethodbb19" [label="19|{19: // label|20: // line number information|21: // stack frame map|22: ILOAD 2|23: IRETURN }"] "whileMethodbb-1" -> "whileMethodbb0" "whileMethodbb0" -> "whileMethodbb4" "whileMethodbb4" -> "whileMethodbb9" "whileMethodbb19" -> "whileMethodbb-2" "whileMethodbb9" -> "whileMethodbb4" [label="T"] "whileMethodbb4" -> "whileMethodbb19" [label="T"] } subgraph whileTrueMethod { node [shape=record] "whileTrueMethodbb-1" [shape=circle,label="e",xlabel="whileTrueMethod"] "whileTrueMethodbb-2" [shape=circle,label="e",xlabel="whileTrueMethod"] "whileTrueMethodbb0" [label="0|{0: // label|1: // line number information|2: // stack frame map|3: IINC 1 1|4: GOTO 0}"] "whileTrueMethodbb-1" -> "whileTrueMethodbb0" "whileTrueMethodbb0" -> "whileTrueMethodbb0" [label="T"] } }