all tests pass now

This commit is contained in:
Claudio Maggioni 2023-10-18 11:59:28 +02:00
parent 254ad970d0
commit b5aebd7b16
47 changed files with 731 additions and 736 deletions

View file

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ASMPluginConfiguration"> <component name="ASMPluginConfiguration">
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" /> <asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />

View file

@ -10,13 +10,9 @@ public class ControlFlowGraphRenderer {
private int indentationLevel = 0; private int indentationLevel = 0;
private static String nodeIdentifier(final BasicBlock bb, final String graphId) { private static String nodeIdentifier(final BasicBlock bb, final String graphId) {
if (bb.getInEdges().isEmpty()) { // as the basic block ID is negative for the entry and exit node, and negative numbers contain
return graphId + "e"; // a dash symbol, we need to quote the identifier to make a syntactically correct DOT file
} else if (bb.getOutEdges().isEmpty()) { return "\"%sbb%d\"".formatted(graphId, bb.getId());
return graphId + "x";
} else {
return graphId + "bb" + bb.getId();
}
} }
private static String nodeStyle(final BasicBlock bb, final String label) { private static String nodeStyle(final BasicBlock bb, final String label) {

View file

@ -1,10 +1,10 @@
digraph init { digraph init {
node [shape=record] node [shape=record]
inite [shape=circle,label="e",xlabel="init"] "initbb-1" [shape=circle,label="e",xlabel="init"]
initx [shape=circle,label="x"] "initbb-2" [shape=circle,label="x"]
initbb0 [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: INVOKESPECIAL java/lang/Object.<init> ()V|4: RETURN }"] "initbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: INVOKESPECIAL java/lang/Object.<init> ()V|4: RETURN }"]
inite -> initbb0 "initbb-1" -> "initbb0"
initbb0 -> initx "initbb0" -> "initbb-2"
} }

View file

@ -4,623 +4,623 @@ digraph all
subgraph init { subgraph init {
node [shape=record] node [shape=record]
inite [shape=circle,label="e",xlabel="init"] "initbb-1" [shape=circle,label="e",xlabel="init"]
initx [shape=circle,label="x"] "initbb-2" [shape=circle,label="x"]
initbb0 [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: INVOKESPECIAL java/lang/Object.<init> ()V|4: RETURN }"] "initbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: INVOKESPECIAL java/lang/Object.<init> ()V|4: RETURN }"]
inite -> initbb0 "initbb-1" -> "initbb0"
initbb0 -> initx "initbb0" -> "initbb-2"
} }
subgraph alloc2Of3dArrayMethod { subgraph alloc2Of3dArrayMethod {
node [shape=record] node [shape=record]
alloc2Of3dArrayMethode [shape=circle,label="e",xlabel="alloc2Of3dArrayMethod"] "alloc2Of3dArrayMethodbb-1" [shape=circle,label="e",xlabel="alloc2Of3dArrayMethod"]
alloc2Of3dArrayMethodx [shape=circle,label="x"] "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 }"] "alloc2Of3dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ICONST_3 |4: MULTIANEWARRAY [[[I 2|5: ARETURN }"]
alloc2Of3dArrayMethode -> alloc2Of3dArrayMethodbb0 "alloc2Of3dArrayMethodbb-1" -> "alloc2Of3dArrayMethodbb0"
alloc2Of3dArrayMethodbb0 -> alloc2Of3dArrayMethodx "alloc2Of3dArrayMethodbb0" -> "alloc2Of3dArrayMethodbb-2"
} }
subgraph alloc2dArrayMethod { subgraph alloc2dArrayMethod {
node [shape=record] node [shape=record]
alloc2dArrayMethode [shape=circle,label="e",xlabel="alloc2dArrayMethod"] "alloc2dArrayMethodbb-1" [shape=circle,label="e",xlabel="alloc2dArrayMethod"]
alloc2dArrayMethodx [shape=circle,label="x"] "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 }"] "alloc2dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ICONST_3 |4: MULTIANEWARRAY [[I 2|5: ARETURN }"]
alloc2dArrayMethode -> alloc2dArrayMethodbb0 "alloc2dArrayMethodbb-1" -> "alloc2dArrayMethodbb0"
alloc2dArrayMethodbb0 -> alloc2dArrayMethodx "alloc2dArrayMethodbb0" -> "alloc2dArrayMethodbb-2"
} }
subgraph allocAndInit2dArrayMethod { subgraph allocAndInit2dArrayMethod {
node [shape=record] node [shape=record]
allocAndInit2dArrayMethode [shape=circle,label="e",xlabel="allocAndInit2dArrayMethod"] "allocAndInit2dArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInit2dArrayMethod"]
allocAndInit2dArrayMethodx [shape=circle,label="x"] "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 }"] "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 }"]
allocAndInit2dArrayMethode -> allocAndInit2dArrayMethodbb0 "allocAndInit2dArrayMethodbb-1" -> "allocAndInit2dArrayMethodbb0"
allocAndInit2dArrayMethodbb0 -> allocAndInit2dArrayMethodx "allocAndInit2dArrayMethodbb0" -> "allocAndInit2dArrayMethodbb-2"
} }
subgraph allocAndInitIntArrayMethod { subgraph allocAndInitIntArrayMethod {
node [shape=record] node [shape=record]
allocAndInitIntArrayMethode [shape=circle,label="e",xlabel="allocAndInitIntArrayMethod"] "allocAndInitIntArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInitIntArrayMethod"]
allocAndInitIntArrayMethodx [shape=circle,label="x"] "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 }"] "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 }"]
allocAndInitIntArrayMethode -> allocAndInitIntArrayMethodbb0 "allocAndInitIntArrayMethodbb-1" -> "allocAndInitIntArrayMethodbb0"
allocAndInitIntArrayMethodbb0 -> allocAndInitIntArrayMethodx "allocAndInitIntArrayMethodbb0" -> "allocAndInitIntArrayMethodbb-2"
} }
subgraph allocAndInitObjectArrayMethod { subgraph allocAndInitObjectArrayMethod {
node [shape=record] node [shape=record]
allocAndInitObjectArrayMethode [shape=circle,label="e",xlabel="allocAndInitObjectArrayMethod"] "allocAndInitObjectArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInitObjectArrayMethod"]
allocAndInitObjectArrayMethodx [shape=circle,label="x"] "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 }"] "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 }"]
allocAndInitObjectArrayMethode -> allocAndInitObjectArrayMethodbb0 "allocAndInitObjectArrayMethodbb-1" -> "allocAndInitObjectArrayMethodbb0"
allocAndInitObjectArrayMethodbb0 -> allocAndInitObjectArrayMethodx "allocAndInitObjectArrayMethodbb0" -> "allocAndInitObjectArrayMethodbb-2"
} }
subgraph allocIncomplete2dArrayMethod { subgraph allocIncomplete2dArrayMethod {
node [shape=record] node [shape=record]
allocIncomplete2dArrayMethode [shape=circle,label="e",xlabel="allocIncomplete2dArrayMethod"] "allocIncomplete2dArrayMethodbb-1" [shape=circle,label="e",xlabel="allocIncomplete2dArrayMethod"]
allocIncomplete2dArrayMethodx [shape=circle,label="x"] "allocIncomplete2dArrayMethodbb-2" [shape=circle,label="x"]
allocIncomplete2dArrayMethodbb0 [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ANEWARRAY [I|4: ARETURN }"] "allocIncomplete2dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ANEWARRAY [I|4: ARETURN }"]
allocIncomplete2dArrayMethode -> allocIncomplete2dArrayMethodbb0 "allocIncomplete2dArrayMethodbb-1" -> "allocIncomplete2dArrayMethodbb0"
allocIncomplete2dArrayMethodbb0 -> allocIncomplete2dArrayMethodx "allocIncomplete2dArrayMethodbb0" -> "allocIncomplete2dArrayMethodbb-2"
} }
subgraph allocIntArrayMethod { subgraph allocIntArrayMethod {
node [shape=record] node [shape=record]
allocIntArrayMethode [shape=circle,label="e",xlabel="allocIntArrayMethod"] "allocIntArrayMethodbb-1" [shape=circle,label="e",xlabel="allocIntArrayMethod"]
allocIntArrayMethodx [shape=circle,label="x"] "allocIntArrayMethodbb-2" [shape=circle,label="x"]
allocIntArrayMethodbb0 [label="0|{0: // label|1: // line number information|2: ICONST_3 |3: NEWARRAY T_INT|4: ARETURN }"] "allocIntArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_3 |3: NEWARRAY T_INT|4: ARETURN }"]
allocIntArrayMethode -> allocIntArrayMethodbb0 "allocIntArrayMethodbb-1" -> "allocIntArrayMethodbb0"
allocIntArrayMethodbb0 -> allocIntArrayMethodx "allocIntArrayMethodbb0" -> "allocIntArrayMethodbb-2"
} }
subgraph allocObjectArrayMethod { subgraph allocObjectArrayMethod {
node [shape=record] node [shape=record]
allocObjectArrayMethode [shape=circle,label="e",xlabel="allocObjectArrayMethod"] "allocObjectArrayMethodbb-1" [shape=circle,label="e",xlabel="allocObjectArrayMethod"]
allocObjectArrayMethodx [shape=circle,label="x"] "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 }"] "allocObjectArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_3 |3: ANEWARRAY java/lang/Object|4: ARETURN }"]
allocObjectArrayMethode -> allocObjectArrayMethodbb0 "allocObjectArrayMethodbb-1" -> "allocObjectArrayMethodbb0"
allocObjectArrayMethodbb0 -> allocObjectArrayMethodx "allocObjectArrayMethodbb0" -> "allocObjectArrayMethodbb-2"
} }
subgraph allocObjectMethod { subgraph allocObjectMethod {
node [shape=record] node [shape=record]
allocObjectMethode [shape=circle,label="e",xlabel="allocObjectMethod"] "allocObjectMethodbb-1" [shape=circle,label="e",xlabel="allocObjectMethod"]
allocObjectMethodx [shape=circle,label="x"] "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.<init> ()V|5: ARETURN }"] "allocObjectMethodbb0" [label="0|{0: // label|1: // line number information|2: NEW java/lang/Object|3: DUP |4: INVOKESPECIAL java/lang/Object.<init> ()V|5: ARETURN }"]
allocObjectMethode -> allocObjectMethodbb0 "allocObjectMethodbb-1" -> "allocObjectMethodbb0"
allocObjectMethodbb0 -> allocObjectMethodx "allocObjectMethodbb0" -> "allocObjectMethodbb-2"
} }
subgraph arrayLengthMethod { subgraph arrayLengthMethod {
node [shape=record] node [shape=record]
arrayLengthMethode [shape=circle,label="e",xlabel="arrayLengthMethod"] "arrayLengthMethodbb-1" [shape=circle,label="e",xlabel="arrayLengthMethod"]
arrayLengthMethodx [shape=circle,label="x"] "arrayLengthMethodbb-2" [shape=circle,label="x"]
arrayLengthMethodbb0 [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ARRAYLENGTH |4: IRETURN }"] "arrayLengthMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ARRAYLENGTH |4: IRETURN }"]
arrayLengthMethode -> arrayLengthMethodbb0 "arrayLengthMethodbb-1" -> "arrayLengthMethodbb0"
arrayLengthMethodbb0 -> arrayLengthMethodx "arrayLengthMethodbb0" -> "arrayLengthMethodbb-2"
} }
subgraph arrayReadMethod { subgraph arrayReadMethod {
node [shape=record] node [shape=record]
arrayReadMethode [shape=circle,label="e",xlabel="arrayReadMethod"] "arrayReadMethodbb-1" [shape=circle,label="e",xlabel="arrayReadMethod"]
arrayReadMethodx [shape=circle,label="x"] "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 }"] "arrayReadMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ICONST_0 |4: AALOAD |5: ARETURN }"]
arrayReadMethode -> arrayReadMethodbb0 "arrayReadMethodbb-1" -> "arrayReadMethodbb0"
arrayReadMethodbb0 -> arrayReadMethodx "arrayReadMethodbb0" -> "arrayReadMethodbb-2"
} }
subgraph arrayWriteMethod { subgraph arrayWriteMethod {
node [shape=record] node [shape=record]
arrayWriteMethode [shape=circle,label="e",xlabel="arrayWriteMethod"] "arrayWriteMethodbb-1" [shape=circle,label="e",xlabel="arrayWriteMethod"]
arrayWriteMethodx [shape=circle,label="x"] "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 }"] "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 }"]
arrayWriteMethode -> arrayWriteMethodbb0 "arrayWriteMethodbb-1" -> "arrayWriteMethodbb0"
arrayWriteMethodbb0 -> arrayWriteMethodx "arrayWriteMethodbb0" -> "arrayWriteMethodbb-2"
} }
subgraph condMethod { subgraph condMethod {
node [shape=record] node [shape=record]
condMethode [shape=circle,label="e",xlabel="condMethod"] "condMethodbb-1" [shape=circle,label="e",xlabel="condMethod"]
condMethodx [shape=circle,label="x"] "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}"] "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}"] "condMethodbb5" [label="5|{5: ILOAD 1|6: GOTO 10}"]
condMethodbb7 [label="7|{7: // label|8: // stack frame map|9: ILOAD 2}"] "condMethodbb7" [label="7|{7: // label|8: // stack frame map|9: ILOAD 2}"]
condMethodbb10 [label="10|{10: // label|11: // stack frame map|12: IRETURN }"] "condMethodbb10" [label="10|{10: // label|11: // stack frame map|12: IRETURN }"]
condMethode -> condMethodbb0 "condMethodbb-1" -> "condMethodbb0"
condMethodbb0 -> condMethodbb5 "condMethodbb0" -> "condMethodbb5"
condMethodbb7 -> condMethodbb10 "condMethodbb7" -> "condMethodbb10"
condMethodbb10 -> condMethodx "condMethodbb10" -> "condMethodbb-2"
condMethodbb0 -> condMethodbb7 [label="T"] "condMethodbb0" -> "condMethodbb7" [label="T"]
condMethodbb5 -> condMethodbb10 [label="T"] "condMethodbb5" -> "condMethodbb10" [label="T"]
} }
subgraph doWhileMethod { subgraph doWhileMethod {
node [shape=record] node [shape=record]
doWhileMethode [shape=circle,label="e",xlabel="doWhileMethod"] "doWhileMethodbb-1" [shape=circle,label="e",xlabel="doWhileMethod"]
doWhileMethodx [shape=circle,label="x"] "doWhileMethodbb-2" [shape=circle,label="x"]
doWhileMethodbb0 [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2}"] "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}"] "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 }"] "doWhileMethodbb18" [label="18|{18: // label|19: // line number information|20: ILOAD 2|21: IRETURN }"]
doWhileMethode -> doWhileMethodbb0 "doWhileMethodbb-1" -> "doWhileMethodbb0"
doWhileMethodbb0 -> doWhileMethodbb4 "doWhileMethodbb0" -> "doWhileMethodbb4"
doWhileMethodbb4 -> doWhileMethodbb18 "doWhileMethodbb4" -> "doWhileMethodbb18"
doWhileMethodbb18 -> doWhileMethodx "doWhileMethodbb18" -> "doWhileMethodbb-2"
doWhileMethodbb4 -> doWhileMethodbb4 [label="T"] "doWhileMethodbb4" -> "doWhileMethodbb4" [label="T"]
} }
subgraph doWhileTrue { subgraph doWhileTrue {
node [shape=record] node [shape=record]
doWhileTruee [shape=circle,label="e",xlabel="doWhileTrue"] "doWhileTruebb-1" [shape=circle,label="e",xlabel="doWhileTrue"]
doWhileTruee [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}"] "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}"]
doWhileTruee -> doWhileTruebb0 "doWhileTruebb-1" -> "doWhileTruebb0"
doWhileTruebb0 -> doWhileTruebb0 [label="T"] "doWhileTruebb0" -> "doWhileTruebb0" [label="T"]
} }
subgraph emptyMethod { subgraph emptyMethod {
node [shape=record] node [shape=record]
emptyMethode [shape=circle,label="e",xlabel="emptyMethod"] "emptyMethodbb-1" [shape=circle,label="e",xlabel="emptyMethod"]
emptyMethodx [shape=circle,label="x"] "emptyMethodbb-2" [shape=circle,label="x"]
emptyMethodbb0 [label="0|{0: // label|1: // line number information|2: RETURN }"] "emptyMethodbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"]
emptyMethode -> emptyMethodbb0 "emptyMethodbb-1" -> "emptyMethodbb0"
emptyMethodbb0 -> emptyMethodx "emptyMethodbb0" -> "emptyMethodbb-2"
} }
subgraph fieldReadMethod { subgraph fieldReadMethod {
node [shape=record] node [shape=record]
fieldReadMethode [shape=circle,label="e",xlabel="fieldReadMethod"] "fieldReadMethodbb-1" [shape=circle,label="e",xlabel="fieldReadMethod"]
fieldReadMethodx [shape=circle,label="x"] "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 }"] "fieldReadMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: GETFIELD ExampleClass.field Ljava/lang/String;|4: ARETURN }"]
fieldReadMethode -> fieldReadMethodbb0 "fieldReadMethodbb-1" -> "fieldReadMethodbb0"
fieldReadMethodbb0 -> fieldReadMethodx "fieldReadMethodbb0" -> "fieldReadMethodbb-2"
} }
subgraph fieldWriteMethod { subgraph fieldWriteMethod {
node [shape=record] node [shape=record]
fieldWriteMethode [shape=circle,label="e",xlabel="fieldWriteMethod"] "fieldWriteMethodbb-1" [shape=circle,label="e",xlabel="fieldWriteMethod"]
fieldWriteMethodx [shape=circle,label="x"] "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 }"] "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 }"]
fieldWriteMethode -> fieldWriteMethodbb0 "fieldWriteMethodbb-1" -> "fieldWriteMethodbb0"
fieldWriteMethodbb0 -> fieldWriteMethodx "fieldWriteMethodbb0" -> "fieldWriteMethodbb-2"
} }
subgraph forEachArrayMethod { subgraph forEachArrayMethod {
node [shape=record] node [shape=record]
forEachArrayMethode [shape=circle,label="e",xlabel="forEachArrayMethod"] "forEachArrayMethodbb-1" [shape=circle,label="e",xlabel="forEachArrayMethod"]
forEachArrayMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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 }"] "forEachArrayMethodbb29" [label="29|{29: // label|30: // line number information|31: // stack frame map|32: ILOAD 2|33: IRETURN }"]
forEachArrayMethode -> forEachArrayMethodbb0 "forEachArrayMethodbb-1" -> "forEachArrayMethodbb0"
forEachArrayMethodbb0 -> forEachArrayMethodbb13 "forEachArrayMethodbb0" -> "forEachArrayMethodbb13"
forEachArrayMethodbb13 -> forEachArrayMethodbb18 "forEachArrayMethodbb13" -> "forEachArrayMethodbb18"
forEachArrayMethodbb29 -> forEachArrayMethodx "forEachArrayMethodbb29" -> "forEachArrayMethodbb-2"
forEachArrayMethodbb18 -> forEachArrayMethodbb13 [label="T"] "forEachArrayMethodbb18" -> "forEachArrayMethodbb13" [label="T"]
forEachArrayMethodbb13 -> forEachArrayMethodbb29 [label="T"] "forEachArrayMethodbb13" -> "forEachArrayMethodbb29" [label="T"]
} }
subgraph forEachCollectionMethod { subgraph forEachCollectionMethod {
node [shape=record] node [shape=record]
forEachCollectionMethode [shape=circle,label="e",xlabel="forEachCollectionMethod"] "forEachCollectionMethodbb-1" [shape=circle,label="e",xlabel="forEachCollectionMethod"]
forEachCollectionMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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 }"] "forEachCollectionMethodbb24" [label="24|{24: // label|25: // line number information|26: // stack frame map|27: ILOAD 2|28: IRETURN }"]
forEachCollectionMethode -> forEachCollectionMethodbb0 "forEachCollectionMethodbb-1" -> "forEachCollectionMethodbb0"
forEachCollectionMethodbb0 -> forEachCollectionMethodbb9 "forEachCollectionMethodbb0" -> "forEachCollectionMethodbb9"
forEachCollectionMethodbb9 -> forEachCollectionMethodbb14 "forEachCollectionMethodbb9" -> "forEachCollectionMethodbb14"
forEachCollectionMethodbb24 -> forEachCollectionMethodx "forEachCollectionMethodbb24" -> "forEachCollectionMethodbb-2"
forEachCollectionMethodbb14 -> forEachCollectionMethodbb9 [label="T"] "forEachCollectionMethodbb14" -> "forEachCollectionMethodbb9" [label="T"]
forEachCollectionMethodbb9 -> forEachCollectionMethodbb24 [label="T"] "forEachCollectionMethodbb9" -> "forEachCollectionMethodbb24" [label="T"]
} }
subgraph forEver { subgraph forEver {
node [shape=record] node [shape=record]
forEvere [shape=circle,label="e",xlabel="forEver"] "forEverbb-1" [shape=circle,label="e",xlabel="forEver"]
forEvere [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}"] "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}"] "forEverbb4" [label="4|{4: // label|5: // stack frame map|6: IINC 2 1|7: GOTO 4}"]
forEvere -> forEverbb0 "forEverbb-1" -> "forEverbb0"
forEverbb0 -> forEverbb4 "forEverbb0" -> "forEverbb4"
forEverbb4 -> forEverbb4 [label="T"] "forEverbb4" -> "forEverbb4" [label="T"]
} }
subgraph forMethod { subgraph forMethod {
node [shape=record] node [shape=record]
forMethode [shape=circle,label="e",xlabel="forMethod"] "forMethodbb-1" [shape=circle,label="e",xlabel="forMethod"]
forMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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 }"] "forMethodbb23" [label="23|{23: // label|24: // line number information|25: // stack frame map|26: ILOAD 2|27: IRETURN }"]
forMethode -> forMethodbb0 "forMethodbb-1" -> "forMethodbb0"
forMethodbb0 -> forMethodbb8 "forMethodbb0" -> "forMethodbb8"
forMethodbb8 -> forMethodbb13 "forMethodbb8" -> "forMethodbb13"
forMethodbb23 -> forMethodx "forMethodbb23" -> "forMethodbb-2"
forMethodbb13 -> forMethodbb8 [label="T"] "forMethodbb13" -> "forMethodbb8" [label="T"]
forMethodbb8 -> forMethodbb23 [label="T"] "forMethodbb8" -> "forMethodbb23" [label="T"]
} }
subgraph forWithBreakMethod { subgraph forWithBreakMethod {
node [shape=record] node [shape=record]
forWithBreakMethode [shape=circle,label="e",xlabel="forWithBreakMethod"] "forWithBreakMethodbb-1" [shape=circle,label="e",xlabel="forWithBreakMethod"]
forWithBreakMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "forWithBreakMethodbb32" [label="32|{32: // label|33: // line number information|34: // stack frame map|35: ILOAD 2|36: IRETURN }"]
forWithBreakMethode -> forWithBreakMethodbb0 "forWithBreakMethodbb-1" -> "forWithBreakMethodbb0"
forWithBreakMethodbb0 -> forWithBreakMethodbb8 "forWithBreakMethodbb0" -> "forWithBreakMethodbb8"
forWithBreakMethodbb8 -> forWithBreakMethodbb13 "forWithBreakMethodbb8" -> "forWithBreakMethodbb13"
forWithBreakMethodbb13 -> forWithBreakMethodbb18 "forWithBreakMethodbb13" -> "forWithBreakMethodbb18"
forWithBreakMethodbb32 -> forWithBreakMethodx "forWithBreakMethodbb32" -> "forWithBreakMethodbb-2"
forWithBreakMethodbb21 -> forWithBreakMethodbb8 [label="T"] "forWithBreakMethodbb21" -> "forWithBreakMethodbb8" [label="T"]
forWithBreakMethodbb13 -> forWithBreakMethodbb21 [label="T"] "forWithBreakMethodbb13" -> "forWithBreakMethodbb21" [label="T"]
forWithBreakMethodbb8 -> forWithBreakMethodbb32 [label="T"] "forWithBreakMethodbb8" -> "forWithBreakMethodbb32" [label="T"]
forWithBreakMethodbb18 -> forWithBreakMethodbb32 [label="T"] "forWithBreakMethodbb18" -> "forWithBreakMethodbb32" [label="T"]
} }
subgraph forWithContinueMethod { subgraph forWithContinueMethod {
node [shape=record] node [shape=record]
forWithContinueMethode [shape=circle,label="e",xlabel="forWithContinueMethod"] "forWithContinueMethodbb-1" [shape=circle,label="e",xlabel="forWithContinueMethod"]
forWithContinueMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "forWithContinueMethodbb33" [label="33|{33: // label|34: // line number information|35: // stack frame map|36: ILOAD 2|37: IRETURN }"]
forWithContinueMethode -> forWithContinueMethodbb0 "forWithContinueMethodbb-1" -> "forWithContinueMethodbb0"
forWithContinueMethodbb0 -> forWithContinueMethodbb8 "forWithContinueMethodbb0" -> "forWithContinueMethodbb8"
forWithContinueMethodbb8 -> forWithContinueMethodbb13 "forWithContinueMethodbb8" -> "forWithContinueMethodbb13"
forWithContinueMethodbb13 -> forWithContinueMethodbb18 "forWithContinueMethodbb13" -> "forWithContinueMethodbb18"
forWithContinueMethodbb21 -> forWithContinueMethodbb28 "forWithContinueMethodbb21" -> "forWithContinueMethodbb28"
forWithContinueMethodbb33 -> forWithContinueMethodx "forWithContinueMethodbb33" -> "forWithContinueMethodbb-2"
forWithContinueMethodbb28 -> forWithContinueMethodbb8 [label="T"] "forWithContinueMethodbb28" -> "forWithContinueMethodbb8" [label="T"]
forWithContinueMethodbb13 -> forWithContinueMethodbb21 [label="T"] "forWithContinueMethodbb13" -> "forWithContinueMethodbb21" [label="T"]
forWithContinueMethodbb18 -> forWithContinueMethodbb28 [label="T"] "forWithContinueMethodbb18" -> "forWithContinueMethodbb28" [label="T"]
forWithContinueMethodbb8 -> forWithContinueMethodbb33 [label="T"] "forWithContinueMethodbb8" -> "forWithContinueMethodbb33" [label="T"]
} }
subgraph ifElseMethod { subgraph ifElseMethod {
node [shape=record] node [shape=record]
ifElseMethode [shape=circle,label="e",xlabel="ifElseMethod"] "ifElseMethodbb-1" [shape=circle,label="e",xlabel="ifElseMethod"]
ifElseMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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 }"] "ifElseMethodbb18" [label="18|{18: // label|19: // line number information|20: // stack frame map|21: ILOAD 2|22: IRETURN }"]
ifElseMethode -> ifElseMethodbb0 "ifElseMethodbb-1" -> "ifElseMethodbb0"
ifElseMethodbb0 -> ifElseMethodbb8 "ifElseMethodbb0" -> "ifElseMethodbb8"
ifElseMethodbb13 -> ifElseMethodbb18 "ifElseMethodbb13" -> "ifElseMethodbb18"
ifElseMethodbb18 -> ifElseMethodx "ifElseMethodbb18" -> "ifElseMethodbb-2"
ifElseMethodbb0 -> ifElseMethodbb13 [label="T"] "ifElseMethodbb0" -> "ifElseMethodbb13" [label="T"]
ifElseMethodbb8 -> ifElseMethodbb18 [label="T"] "ifElseMethodbb8" -> "ifElseMethodbb18" [label="T"]
} }
subgraph ifMethod { subgraph ifMethod {
node [shape=record] node [shape=record]
ifMethode [shape=circle,label="e",xlabel="ifMethod"] "ifMethodbb-1" [shape=circle,label="e",xlabel="ifMethod"]
ifMethodx [shape=circle,label="x"] "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}"] "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}"] "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 }"] "ifMethodbb12" [label="12|{12: // label|13: // line number information|14: // stack frame map|15: ILOAD 2|16: IRETURN }"]
ifMethode -> ifMethodbb0 "ifMethodbb-1" -> "ifMethodbb0"
ifMethodbb0 -> ifMethodbb8 "ifMethodbb0" -> "ifMethodbb8"
ifMethodbb8 -> ifMethodbb12 "ifMethodbb8" -> "ifMethodbb12"
ifMethodbb12 -> ifMethodx "ifMethodbb12" -> "ifMethodbb-2"
ifMethodbb0 -> ifMethodbb12 [label="T"] "ifMethodbb0" -> "ifMethodbb12" [label="T"]
} }
subgraph instanceCallMethod { subgraph instanceCallMethod {
node [shape=record] node [shape=record]
instanceCallMethode [shape=circle,label="e",xlabel="instanceCallMethod"] "instanceCallMethodbb-1" [shape=circle,label="e",xlabel="instanceCallMethod"]
instanceCallMethodx [shape=circle,label="x"] "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 }"] "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 }"]
instanceCallMethode -> instanceCallMethodbb0 "instanceCallMethodbb-1" -> "instanceCallMethodbb0"
instanceCallMethodbb0 -> instanceCallMethodx "instanceCallMethodbb0" -> "instanceCallMethodbb-2"
} }
subgraph instanceCallTarget { subgraph instanceCallTarget {
node [shape=record] node [shape=record]
instanceCallTargete [shape=circle,label="e",xlabel="instanceCallTarget"] "instanceCallTargetbb-1" [shape=circle,label="e",xlabel="instanceCallTarget"]
instanceCallTargetx [shape=circle,label="x"] "instanceCallTargetbb-2" [shape=circle,label="x"]
instanceCallTargetbb0 [label="0|{0: // label|1: // line number information|2: RETURN }"] "instanceCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"]
instanceCallTargete -> instanceCallTargetbb0 "instanceCallTargetbb-1" -> "instanceCallTargetbb0"
instanceCallTargetbb0 -> instanceCallTargetx "instanceCallTargetbb0" -> "instanceCallTargetbb-2"
} }
subgraph interfaceCallMethod { subgraph interfaceCallMethod {
node [shape=record] node [shape=record]
interfaceCallMethode [shape=circle,label="e",xlabel="interfaceCallMethod"] "interfaceCallMethodbb-1" [shape=circle,label="e",xlabel="interfaceCallMethod"]
interfaceCallMethodx [shape=circle,label="x"] "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 }"] "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 }"]
interfaceCallMethode -> interfaceCallMethodbb0 "interfaceCallMethodbb-1" -> "interfaceCallMethodbb0"
interfaceCallMethodbb0 -> interfaceCallMethodx "interfaceCallMethodbb0" -> "interfaceCallMethodbb-2"
} }
subgraph nestedFor { subgraph nestedFor {
node [shape=record] node [shape=record]
nestedFore [shape=circle,label="e",xlabel="nestedFor"] "nestedForbb-1" [shape=circle,label="e",xlabel="nestedFor"]
nestedForx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "nestedForbb37" [label="37|{37: // label|38: // line number information|39: // stack frame map|40: ILOAD 2|41: IRETURN }"]
nestedFore -> nestedForbb0 "nestedForbb-1" -> "nestedForbb0"
nestedForbb0 -> nestedForbb8 "nestedForbb0" -> "nestedForbb8"
nestedForbb8 -> nestedForbb13 "nestedForbb8" -> "nestedForbb13"
nestedForbb13 -> nestedForbb17 "nestedForbb13" -> "nestedForbb17"
nestedForbb17 -> nestedForbb22 "nestedForbb17" -> "nestedForbb22"
nestedForbb37 -> nestedForx "nestedForbb37" -> "nestedForbb-2"
nestedForbb32 -> nestedForbb8 [label="T"] "nestedForbb32" -> "nestedForbb8" [label="T"]
nestedForbb22 -> nestedForbb17 [label="T"] "nestedForbb22" -> "nestedForbb17" [label="T"]
nestedForbb17 -> nestedForbb32 [label="T"] "nestedForbb17" -> "nestedForbb32" [label="T"]
nestedForbb8 -> nestedForbb37 [label="T"] "nestedForbb8" -> "nestedForbb37" [label="T"]
} }
subgraph nonShortCircuitMethod { subgraph nonShortCircuitMethod {
node [shape=record] node [shape=record]
nonShortCircuitMethode [shape=circle,label="e",xlabel="nonShortCircuitMethod"] "nonShortCircuitMethodbb-1" [shape=circle,label="e",xlabel="nonShortCircuitMethod"]
nonShortCircuitMethodx [shape=circle,label="x"] "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}"] "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}"] "nonShortCircuitMethodbb5" [label="5|{5: ICONST_1 |6: GOTO 10}"]
nonShortCircuitMethodbb7 [label="7|{7: // label|8: // stack frame map|9: ICONST_0 }"] "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}"] "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}"] "nonShortCircuitMethodbb15" [label="15|{15: ICONST_1 |16: GOTO 20}"]
nonShortCircuitMethodbb17 [label="17|{17: // label|18: // stack frame map|19: ICONST_0 }"] "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}"] "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 }"] "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 }"] "nonShortCircuitMethodbb28" [label="28|{28: // label|29: // line number information|30: // stack frame map|31: ICONST_0 |32: IRETURN }"]
nonShortCircuitMethode -> nonShortCircuitMethodbb0 "nonShortCircuitMethodbb-1" -> "nonShortCircuitMethodbb0"
nonShortCircuitMethodbb0 -> nonShortCircuitMethodbb5 "nonShortCircuitMethodbb0" -> "nonShortCircuitMethodbb5"
nonShortCircuitMethodbb7 -> nonShortCircuitMethodbb10 "nonShortCircuitMethodbb7" -> "nonShortCircuitMethodbb10"
nonShortCircuitMethodbb10 -> nonShortCircuitMethodbb15 "nonShortCircuitMethodbb10" -> "nonShortCircuitMethodbb15"
nonShortCircuitMethodbb17 -> nonShortCircuitMethodbb20 "nonShortCircuitMethodbb17" -> "nonShortCircuitMethodbb20"
nonShortCircuitMethodbb20 -> nonShortCircuitMethodbb24 "nonShortCircuitMethodbb20" -> "nonShortCircuitMethodbb24"
nonShortCircuitMethodbb24 -> nonShortCircuitMethodx "nonShortCircuitMethodbb24" -> "nonShortCircuitMethodbb-2"
nonShortCircuitMethodbb24 -> nonShortCircuitMethodbb28 "nonShortCircuitMethodbb24" -> "nonShortCircuitMethodbb28"
nonShortCircuitMethodbb28 -> nonShortCircuitMethodx "nonShortCircuitMethodbb28" -> "nonShortCircuitMethodbb-2"
nonShortCircuitMethodbb0 -> nonShortCircuitMethodbb7 [label="T"] "nonShortCircuitMethodbb0" -> "nonShortCircuitMethodbb7" [label="T"]
nonShortCircuitMethodbb5 -> nonShortCircuitMethodbb10 [label="T"] "nonShortCircuitMethodbb5" -> "nonShortCircuitMethodbb10" [label="T"]
nonShortCircuitMethodbb10 -> nonShortCircuitMethodbb17 [label="T"] "nonShortCircuitMethodbb10" -> "nonShortCircuitMethodbb17" [label="T"]
nonShortCircuitMethodbb15 -> nonShortCircuitMethodbb20 [label="T"] "nonShortCircuitMethodbb15" -> "nonShortCircuitMethodbb20" [label="T"]
nonShortCircuitMethodbb20 -> nonShortCircuitMethodbb28 [label="T"] "nonShortCircuitMethodbb20" -> "nonShortCircuitMethodbb28" [label="T"]
} }
subgraph privateInstanceCallMethod { subgraph privateInstanceCallMethod {
node [shape=record] node [shape=record]
privateInstanceCallMethode [shape=circle,label="e",xlabel="privateInstanceCallMethod"] "privateInstanceCallMethodbb-1" [shape=circle,label="e",xlabel="privateInstanceCallMethod"]
privateInstanceCallMethodx [shape=circle,label="x"] "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 }"] "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 }"]
privateInstanceCallMethode -> privateInstanceCallMethodbb0 "privateInstanceCallMethodbb-1" -> "privateInstanceCallMethodbb0"
privateInstanceCallMethodbb0 -> privateInstanceCallMethodx "privateInstanceCallMethodbb0" -> "privateInstanceCallMethodbb-2"
} }
subgraph privateInstanceCallTarget { subgraph privateInstanceCallTarget {
node [shape=record] node [shape=record]
privateInstanceCallTargete [shape=circle,label="e",xlabel="privateInstanceCallTarget"] "privateInstanceCallTargetbb-1" [shape=circle,label="e",xlabel="privateInstanceCallTarget"]
privateInstanceCallTargetx [shape=circle,label="x"] "privateInstanceCallTargetbb-2" [shape=circle,label="x"]
privateInstanceCallTargetbb0 [label="0|{0: // label|1: // line number information|2: RETURN }"] "privateInstanceCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"]
privateInstanceCallTargete -> privateInstanceCallTargetbb0 "privateInstanceCallTargetbb-1" -> "privateInstanceCallTargetbb0"
privateInstanceCallTargetbb0 -> privateInstanceCallTargetx "privateInstanceCallTargetbb0" -> "privateInstanceCallTargetbb-2"
} }
subgraph shortCircuitMethod { subgraph shortCircuitMethod {
node [shape=record] node [shape=record]
shortCircuitMethode [shape=circle,label="e",xlabel="shortCircuitMethod"] "shortCircuitMethodbb-1" [shape=circle,label="e",xlabel="shortCircuitMethod"]
shortCircuitMethodx [shape=circle,label="x"] "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}"] "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}"] "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 }"] "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 }"] "shortCircuitMethodbb12" [label="12|{12: // label|13: // line number information|14: // stack frame map|15: ICONST_0 |16: IRETURN }"]
shortCircuitMethode -> shortCircuitMethodbb0 "shortCircuitMethodbb-1" -> "shortCircuitMethodbb0"
shortCircuitMethodbb0 -> shortCircuitMethodbb5 "shortCircuitMethodbb0" -> "shortCircuitMethodbb5"
shortCircuitMethodbb5 -> shortCircuitMethodbb8 "shortCircuitMethodbb5" -> "shortCircuitMethodbb8"
shortCircuitMethodbb8 -> shortCircuitMethodx "shortCircuitMethodbb8" -> "shortCircuitMethodbb-2"
shortCircuitMethodbb8 -> shortCircuitMethodbb12 "shortCircuitMethodbb8" -> "shortCircuitMethodbb12"
shortCircuitMethodbb12 -> shortCircuitMethodx "shortCircuitMethodbb12" -> "shortCircuitMethodbb-2"
shortCircuitMethodbb0 -> shortCircuitMethodbb12 [label="T"] "shortCircuitMethodbb0" -> "shortCircuitMethodbb12" [label="T"]
shortCircuitMethodbb5 -> shortCircuitMethodbb12 [label="T"] "shortCircuitMethodbb5" -> "shortCircuitMethodbb12" [label="T"]
} }
subgraph staticCallMethod { subgraph staticCallMethod {
node [shape=record] node [shape=record]
staticCallMethode [shape=circle,label="e",xlabel="staticCallMethod"] "staticCallMethodbb-1" [shape=circle,label="e",xlabel="staticCallMethod"]
staticCallMethodx [shape=circle,label="x"] "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 }"] "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 }"]
staticCallMethode -> staticCallMethodbb0 "staticCallMethodbb-1" -> "staticCallMethodbb0"
staticCallMethodbb0 -> staticCallMethodx "staticCallMethodbb0" -> "staticCallMethodbb-2"
} }
subgraph staticCallTarget { subgraph staticCallTarget {
node [shape=record] node [shape=record]
staticCallTargete [shape=circle,label="e",xlabel="staticCallTarget"] "staticCallTargetbb-1" [shape=circle,label="e",xlabel="staticCallTarget"]
staticCallTargetx [shape=circle,label="x"] "staticCallTargetbb-2" [shape=circle,label="x"]
staticCallTargetbb0 [label="0|{0: // label|1: // line number information|2: RETURN }"] "staticCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"]
staticCallTargete -> staticCallTargetbb0 "staticCallTargetbb-1" -> "staticCallTargetbb0"
staticCallTargetbb0 -> staticCallTargetx "staticCallTargetbb0" -> "staticCallTargetbb-2"
} }
subgraph staticFieldReadMethod { subgraph staticFieldReadMethod {
node [shape=record] node [shape=record]
staticFieldReadMethode [shape=circle,label="e",xlabel="staticFieldReadMethod"] "staticFieldReadMethodbb-1" [shape=circle,label="e",xlabel="staticFieldReadMethod"]
staticFieldReadMethodx [shape=circle,label="x"] "staticFieldReadMethodbb-2" [shape=circle,label="x"]
staticFieldReadMethodbb0 [label="0|{0: // label|1: // line number information|2: GETSTATIC ExampleClass.staticField Ljava/lang/String;|3: ARETURN }"] "staticFieldReadMethodbb0" [label="0|{0: // label|1: // line number information|2: GETSTATIC ExampleClass.staticField Ljava/lang/String;|3: ARETURN }"]
staticFieldReadMethode -> staticFieldReadMethodbb0 "staticFieldReadMethodbb-1" -> "staticFieldReadMethodbb0"
staticFieldReadMethodbb0 -> staticFieldReadMethodx "staticFieldReadMethodbb0" -> "staticFieldReadMethodbb-2"
} }
subgraph staticFieldWriteMethod { subgraph staticFieldWriteMethod {
node [shape=record] node [shape=record]
staticFieldWriteMethode [shape=circle,label="e",xlabel="staticFieldWriteMethod"] "staticFieldWriteMethodbb-1" [shape=circle,label="e",xlabel="staticFieldWriteMethod"]
staticFieldWriteMethodx [shape=circle,label="x"] "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 }"] "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 }"]
staticFieldWriteMethode -> staticFieldWriteMethodbb0 "staticFieldWriteMethodbb-1" -> "staticFieldWriteMethodbb0"
staticFieldWriteMethodbb0 -> staticFieldWriteMethodx "staticFieldWriteMethodbb0" -> "staticFieldWriteMethodbb-2"
} }
subgraph switchMethod { subgraph switchMethod {
node [shape=record] node [shape=record]
switchMethode [shape=circle,label="e",xlabel="switchMethod"] "switchMethodbb-1" [shape=circle,label="e",xlabel="switchMethod"]
switchMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "switchMethodbb31" [label="31|{31: // label|32: // line number information|33: // stack frame map|34: ILOAD 2|35: IRETURN }"]
switchMethode -> switchMethodbb0 "switchMethodbb-1" -> "switchMethodbb0"
switchMethodbb26 -> switchMethodbb31 "switchMethodbb26" -> "switchMethodbb31"
switchMethodbb31 -> switchMethodx "switchMethodbb31" -> "switchMethodbb-2"
switchMethodbb0 -> switchMethodbb8 [label="0"] "switchMethodbb0" -> "switchMethodbb8" [label="0"]
switchMethodbb0 -> switchMethodbb14 [label="1"] "switchMethodbb0" -> "switchMethodbb14" [label="1"]
switchMethodbb0 -> switchMethodbb20 [label="2"] "switchMethodbb0" -> "switchMethodbb20" [label="2"]
switchMethodbb0 -> switchMethodbb26 [label="default"] "switchMethodbb0" -> "switchMethodbb26" [label="default"]
switchMethodbb8 -> switchMethodbb31 [label="T"] "switchMethodbb8" -> "switchMethodbb31" [label="T"]
switchMethodbb14 -> switchMethodbb31 [label="T"] "switchMethodbb14" -> "switchMethodbb31" [label="T"]
switchMethodbb20 -> switchMethodbb31 [label="T"] "switchMethodbb20" -> "switchMethodbb31" [label="T"]
} }
subgraph switchMethod2 { subgraph switchMethod2 {
node [shape=record] node [shape=record]
switchMethod2e [shape=circle,label="e",xlabel="switchMethod2"] "switchMethod2bb-1" [shape=circle,label="e",xlabel="switchMethod2"]
switchMethod2x [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "switchMethod2bb31" [label="31|{31: // label|32: // line number information|33: // stack frame map|34: ILOAD 2|35: IRETURN }"]
switchMethod2e -> switchMethod2bb0 "switchMethod2bb-1" -> "switchMethod2bb0"
switchMethod2bb26 -> switchMethod2bb31 "switchMethod2bb26" -> "switchMethod2bb31"
switchMethod2bb31 -> switchMethod2x "switchMethod2bb31" -> "switchMethod2bb-2"
switchMethod2bb0 -> switchMethod2bb8 [label="0"] "switchMethod2bb0" -> "switchMethod2bb8" [label="0"]
switchMethod2bb0 -> switchMethod2bb14 [label="1000"] "switchMethod2bb0" -> "switchMethod2bb14" [label="1000"]
switchMethod2bb0 -> switchMethod2bb20 [label="2000"] "switchMethod2bb0" -> "switchMethod2bb20" [label="2000"]
switchMethod2bb0 -> switchMethod2bb26 [label="default"] "switchMethod2bb0" -> "switchMethod2bb26" [label="default"]
switchMethod2bb8 -> switchMethod2bb31 [label="T"] "switchMethod2bb8" -> "switchMethod2bb31" [label="T"]
switchMethod2bb14 -> switchMethod2bb31 [label="T"] "switchMethod2bb14" -> "switchMethod2bb31" [label="T"]
switchMethod2bb20 -> switchMethod2bb31 [label="T"] "switchMethod2bb20" -> "switchMethod2bb31" [label="T"]
} }
subgraph whileMethod { subgraph whileMethod {
node [shape=record] node [shape=record]
whileMethode [shape=circle,label="e",xlabel="whileMethod"] "whileMethodbb-1" [shape=circle,label="e",xlabel="whileMethod"]
whileMethodx [shape=circle,label="x"] "whileMethodbb-2" [shape=circle,label="x"]
whileMethodbb0 [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2}"] "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}"] "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}"] "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 }"] "whileMethodbb19" [label="19|{19: // label|20: // line number information|21: // stack frame map|22: ILOAD 2|23: IRETURN }"]
whileMethode -> whileMethodbb0 "whileMethodbb-1" -> "whileMethodbb0"
whileMethodbb0 -> whileMethodbb4 "whileMethodbb0" -> "whileMethodbb4"
whileMethodbb4 -> whileMethodbb9 "whileMethodbb4" -> "whileMethodbb9"
whileMethodbb19 -> whileMethodx "whileMethodbb19" -> "whileMethodbb-2"
whileMethodbb9 -> whileMethodbb4 [label="T"] "whileMethodbb9" -> "whileMethodbb4" [label="T"]
whileMethodbb4 -> whileMethodbb19 [label="T"] "whileMethodbb4" -> "whileMethodbb19" [label="T"]
} }
subgraph whileTrueMethod { subgraph whileTrueMethod {
node [shape=record] node [shape=record]
whileTrueMethode [shape=circle,label="e",xlabel="whileTrueMethod"] "whileTrueMethodbb-1" [shape=circle,label="e",xlabel="whileTrueMethod"]
whileTrueMethode [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}"] "whileTrueMethodbb0" [label="0|{0: // label|1: // line number information|2: // stack frame map|3: IINC 1 1|4: GOTO 0}"]
whileTrueMethode -> whileTrueMethodbb0 "whileTrueMethodbb-1" -> "whileTrueMethodbb0"
whileTrueMethodbb0 -> whileTrueMethodbb0 [label="T"] "whileTrueMethodbb0" -> "whileTrueMethodbb0" [label="T"]
} }
} }

Binary file not shown.

View file

@ -1,10 +1,10 @@
digraph alloc2Of3dArrayMethod { digraph alloc2Of3dArrayMethod {
node [shape=record] node [shape=record]
alloc2Of3dArrayMethode [shape=circle,label="e",xlabel="alloc2Of3dArrayMethod"] "alloc2Of3dArrayMethodbb-1" [shape=circle,label="e",xlabel="alloc2Of3dArrayMethod"]
alloc2Of3dArrayMethodx [shape=circle,label="x"] "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 }"] "alloc2Of3dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ICONST_3 |4: MULTIANEWARRAY [[[I 2|5: ARETURN }"]
alloc2Of3dArrayMethode -> alloc2Of3dArrayMethodbb0 "alloc2Of3dArrayMethodbb-1" -> "alloc2Of3dArrayMethodbb0"
alloc2Of3dArrayMethodbb0 -> alloc2Of3dArrayMethodx "alloc2Of3dArrayMethodbb0" -> "alloc2Of3dArrayMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph alloc2dArrayMethod { digraph alloc2dArrayMethod {
node [shape=record] node [shape=record]
alloc2dArrayMethode [shape=circle,label="e",xlabel="alloc2dArrayMethod"] "alloc2dArrayMethodbb-1" [shape=circle,label="e",xlabel="alloc2dArrayMethod"]
alloc2dArrayMethodx [shape=circle,label="x"] "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 }"] "alloc2dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ICONST_3 |4: MULTIANEWARRAY [[I 2|5: ARETURN }"]
alloc2dArrayMethode -> alloc2dArrayMethodbb0 "alloc2dArrayMethodbb-1" -> "alloc2dArrayMethodbb0"
alloc2dArrayMethodbb0 -> alloc2dArrayMethodx "alloc2dArrayMethodbb0" -> "alloc2dArrayMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph allocAndInit2dArrayMethod { digraph allocAndInit2dArrayMethod {
node [shape=record] node [shape=record]
allocAndInit2dArrayMethode [shape=circle,label="e",xlabel="allocAndInit2dArrayMethod"] "allocAndInit2dArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInit2dArrayMethod"]
allocAndInit2dArrayMethodx [shape=circle,label="x"] "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 }"] "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 }"]
allocAndInit2dArrayMethode -> allocAndInit2dArrayMethodbb0 "allocAndInit2dArrayMethodbb-1" -> "allocAndInit2dArrayMethodbb0"
allocAndInit2dArrayMethodbb0 -> allocAndInit2dArrayMethodx "allocAndInit2dArrayMethodbb0" -> "allocAndInit2dArrayMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph allocAndInitIntArrayMethod { digraph allocAndInitIntArrayMethod {
node [shape=record] node [shape=record]
allocAndInitIntArrayMethode [shape=circle,label="e",xlabel="allocAndInitIntArrayMethod"] "allocAndInitIntArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInitIntArrayMethod"]
allocAndInitIntArrayMethodx [shape=circle,label="x"] "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 }"] "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 }"]
allocAndInitIntArrayMethode -> allocAndInitIntArrayMethodbb0 "allocAndInitIntArrayMethodbb-1" -> "allocAndInitIntArrayMethodbb0"
allocAndInitIntArrayMethodbb0 -> allocAndInitIntArrayMethodx "allocAndInitIntArrayMethodbb0" -> "allocAndInitIntArrayMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph allocAndInitObjectArrayMethod { digraph allocAndInitObjectArrayMethod {
node [shape=record] node [shape=record]
allocAndInitObjectArrayMethode [shape=circle,label="e",xlabel="allocAndInitObjectArrayMethod"] "allocAndInitObjectArrayMethodbb-1" [shape=circle,label="e",xlabel="allocAndInitObjectArrayMethod"]
allocAndInitObjectArrayMethodx [shape=circle,label="x"] "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 }"] "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 }"]
allocAndInitObjectArrayMethode -> allocAndInitObjectArrayMethodbb0 "allocAndInitObjectArrayMethodbb-1" -> "allocAndInitObjectArrayMethodbb0"
allocAndInitObjectArrayMethodbb0 -> allocAndInitObjectArrayMethodx "allocAndInitObjectArrayMethodbb0" -> "allocAndInitObjectArrayMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph allocIncomplete2dArrayMethod { digraph allocIncomplete2dArrayMethod {
node [shape=record] node [shape=record]
allocIncomplete2dArrayMethode [shape=circle,label="e",xlabel="allocIncomplete2dArrayMethod"] "allocIncomplete2dArrayMethodbb-1" [shape=circle,label="e",xlabel="allocIncomplete2dArrayMethod"]
allocIncomplete2dArrayMethodx [shape=circle,label="x"] "allocIncomplete2dArrayMethodbb-2" [shape=circle,label="x"]
allocIncomplete2dArrayMethodbb0 [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ANEWARRAY [I|4: ARETURN }"] "allocIncomplete2dArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_2 |3: ANEWARRAY [I|4: ARETURN }"]
allocIncomplete2dArrayMethode -> allocIncomplete2dArrayMethodbb0 "allocIncomplete2dArrayMethodbb-1" -> "allocIncomplete2dArrayMethodbb0"
allocIncomplete2dArrayMethodbb0 -> allocIncomplete2dArrayMethodx "allocIncomplete2dArrayMethodbb0" -> "allocIncomplete2dArrayMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph allocIntArrayMethod { digraph allocIntArrayMethod {
node [shape=record] node [shape=record]
allocIntArrayMethode [shape=circle,label="e",xlabel="allocIntArrayMethod"] "allocIntArrayMethodbb-1" [shape=circle,label="e",xlabel="allocIntArrayMethod"]
allocIntArrayMethodx [shape=circle,label="x"] "allocIntArrayMethodbb-2" [shape=circle,label="x"]
allocIntArrayMethodbb0 [label="0|{0: // label|1: // line number information|2: ICONST_3 |3: NEWARRAY T_INT|4: ARETURN }"] "allocIntArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_3 |3: NEWARRAY T_INT|4: ARETURN }"]
allocIntArrayMethode -> allocIntArrayMethodbb0 "allocIntArrayMethodbb-1" -> "allocIntArrayMethodbb0"
allocIntArrayMethodbb0 -> allocIntArrayMethodx "allocIntArrayMethodbb0" -> "allocIntArrayMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph allocObjectArrayMethod { digraph allocObjectArrayMethod {
node [shape=record] node [shape=record]
allocObjectArrayMethode [shape=circle,label="e",xlabel="allocObjectArrayMethod"] "allocObjectArrayMethodbb-1" [shape=circle,label="e",xlabel="allocObjectArrayMethod"]
allocObjectArrayMethodx [shape=circle,label="x"] "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 }"] "allocObjectArrayMethodbb0" [label="0|{0: // label|1: // line number information|2: ICONST_3 |3: ANEWARRAY java/lang/Object|4: ARETURN }"]
allocObjectArrayMethode -> allocObjectArrayMethodbb0 "allocObjectArrayMethodbb-1" -> "allocObjectArrayMethodbb0"
allocObjectArrayMethodbb0 -> allocObjectArrayMethodx "allocObjectArrayMethodbb0" -> "allocObjectArrayMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph allocObjectMethod { digraph allocObjectMethod {
node [shape=record] node [shape=record]
allocObjectMethode [shape=circle,label="e",xlabel="allocObjectMethod"] "allocObjectMethodbb-1" [shape=circle,label="e",xlabel="allocObjectMethod"]
allocObjectMethodx [shape=circle,label="x"] "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.<init> ()V|5: ARETURN }"] "allocObjectMethodbb0" [label="0|{0: // label|1: // line number information|2: NEW java/lang/Object|3: DUP |4: INVOKESPECIAL java/lang/Object.<init> ()V|5: ARETURN }"]
allocObjectMethode -> allocObjectMethodbb0 "allocObjectMethodbb-1" -> "allocObjectMethodbb0"
allocObjectMethodbb0 -> allocObjectMethodx "allocObjectMethodbb0" -> "allocObjectMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph arrayLengthMethod { digraph arrayLengthMethod {
node [shape=record] node [shape=record]
arrayLengthMethode [shape=circle,label="e",xlabel="arrayLengthMethod"] "arrayLengthMethodbb-1" [shape=circle,label="e",xlabel="arrayLengthMethod"]
arrayLengthMethodx [shape=circle,label="x"] "arrayLengthMethodbb-2" [shape=circle,label="x"]
arrayLengthMethodbb0 [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ARRAYLENGTH |4: IRETURN }"] "arrayLengthMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ARRAYLENGTH |4: IRETURN }"]
arrayLengthMethode -> arrayLengthMethodbb0 "arrayLengthMethodbb-1" -> "arrayLengthMethodbb0"
arrayLengthMethodbb0 -> arrayLengthMethodx "arrayLengthMethodbb0" -> "arrayLengthMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph arrayReadMethod { digraph arrayReadMethod {
node [shape=record] node [shape=record]
arrayReadMethode [shape=circle,label="e",xlabel="arrayReadMethod"] "arrayReadMethodbb-1" [shape=circle,label="e",xlabel="arrayReadMethod"]
arrayReadMethodx [shape=circle,label="x"] "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 }"] "arrayReadMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 1|3: ICONST_0 |4: AALOAD |5: ARETURN }"]
arrayReadMethode -> arrayReadMethodbb0 "arrayReadMethodbb-1" -> "arrayReadMethodbb0"
arrayReadMethodbb0 -> arrayReadMethodx "arrayReadMethodbb0" -> "arrayReadMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph arrayWriteMethod { digraph arrayWriteMethod {
node [shape=record] node [shape=record]
arrayWriteMethode [shape=circle,label="e",xlabel="arrayWriteMethod"] "arrayWriteMethodbb-1" [shape=circle,label="e",xlabel="arrayWriteMethod"]
arrayWriteMethodx [shape=circle,label="x"] "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 }"] "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 }"]
arrayWriteMethode -> arrayWriteMethodbb0 "arrayWriteMethodbb-1" -> "arrayWriteMethodbb0"
arrayWriteMethodbb0 -> arrayWriteMethodx "arrayWriteMethodbb0" -> "arrayWriteMethodbb-2"
} }

View file

@ -1,17 +1,17 @@
digraph condMethod { digraph condMethod {
node [shape=record] node [shape=record]
condMethode [shape=circle,label="e",xlabel="condMethod"] "condMethodbb-1" [shape=circle,label="e",xlabel="condMethod"]
condMethodx [shape=circle,label="x"] "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}"] "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}"] "condMethodbb5" [label="5|{5: ILOAD 1|6: GOTO 10}"]
condMethodbb7 [label="7|{7: // label|8: // stack frame map|9: ILOAD 2}"] "condMethodbb7" [label="7|{7: // label|8: // stack frame map|9: ILOAD 2}"]
condMethodbb10 [label="10|{10: // label|11: // stack frame map|12: IRETURN }"] "condMethodbb10" [label="10|{10: // label|11: // stack frame map|12: IRETURN }"]
condMethode -> condMethodbb0 "condMethodbb-1" -> "condMethodbb0"
condMethodbb0 -> condMethodbb5 "condMethodbb0" -> "condMethodbb5"
condMethodbb7 -> condMethodbb10 "condMethodbb7" -> "condMethodbb10"
condMethodbb10 -> condMethodx "condMethodbb10" -> "condMethodbb-2"
condMethodbb0 -> condMethodbb7 [label="T"] "condMethodbb0" -> "condMethodbb7" [label="T"]
condMethodbb5 -> condMethodbb10 [label="T"] "condMethodbb5" -> "condMethodbb10" [label="T"]
} }

View file

@ -1,15 +1,15 @@
digraph doWhileMethod { digraph doWhileMethod {
node [shape=record] node [shape=record]
doWhileMethode [shape=circle,label="e",xlabel="doWhileMethod"] "doWhileMethodbb-1" [shape=circle,label="e",xlabel="doWhileMethod"]
doWhileMethodx [shape=circle,label="x"] "doWhileMethodbb-2" [shape=circle,label="x"]
doWhileMethodbb0 [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2}"] "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}"] "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 }"] "doWhileMethodbb18" [label="18|{18: // label|19: // line number information|20: ILOAD 2|21: IRETURN }"]
doWhileMethode -> doWhileMethodbb0 "doWhileMethodbb-1" -> "doWhileMethodbb0"
doWhileMethodbb0 -> doWhileMethodbb4 "doWhileMethodbb0" -> "doWhileMethodbb4"
doWhileMethodbb4 -> doWhileMethodbb18 "doWhileMethodbb4" -> "doWhileMethodbb18"
doWhileMethodbb18 -> doWhileMethodx "doWhileMethodbb18" -> "doWhileMethodbb-2"
doWhileMethodbb4 -> doWhileMethodbb4 [label="T"] "doWhileMethodbb4" -> "doWhileMethodbb4" [label="T"]
} }

View file

@ -1,10 +1,10 @@
digraph doWhileTrue { digraph doWhileTrue {
node [shape=record] node [shape=record]
doWhileTruee [shape=circle,label="e",xlabel="doWhileTrue"] "doWhileTruebb-1" [shape=circle,label="e",xlabel="doWhileTrue"]
doWhileTruee [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}"] "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}"]
doWhileTruee -> doWhileTruebb0 "doWhileTruebb-1" -> "doWhileTruebb0"
doWhileTruebb0 -> doWhileTruebb0 [label="T"] "doWhileTruebb0" -> "doWhileTruebb0" [label="T"]
} }

View file

@ -1,10 +1,10 @@
digraph emptyMethod { digraph emptyMethod {
node [shape=record] node [shape=record]
emptyMethode [shape=circle,label="e",xlabel="emptyMethod"] "emptyMethodbb-1" [shape=circle,label="e",xlabel="emptyMethod"]
emptyMethodx [shape=circle,label="x"] "emptyMethodbb-2" [shape=circle,label="x"]
emptyMethodbb0 [label="0|{0: // label|1: // line number information|2: RETURN }"] "emptyMethodbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"]
emptyMethode -> emptyMethodbb0 "emptyMethodbb-1" -> "emptyMethodbb0"
emptyMethodbb0 -> emptyMethodx "emptyMethodbb0" -> "emptyMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph fieldReadMethod { digraph fieldReadMethod {
node [shape=record] node [shape=record]
fieldReadMethode [shape=circle,label="e",xlabel="fieldReadMethod"] "fieldReadMethodbb-1" [shape=circle,label="e",xlabel="fieldReadMethod"]
fieldReadMethodx [shape=circle,label="x"] "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 }"] "fieldReadMethodbb0" [label="0|{0: // label|1: // line number information|2: ALOAD 0|3: GETFIELD ExampleClass.field Ljava/lang/String;|4: ARETURN }"]
fieldReadMethode -> fieldReadMethodbb0 "fieldReadMethodbb-1" -> "fieldReadMethodbb0"
fieldReadMethodbb0 -> fieldReadMethodx "fieldReadMethodbb0" -> "fieldReadMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph fieldWriteMethod { digraph fieldWriteMethod {
node [shape=record] node [shape=record]
fieldWriteMethode [shape=circle,label="e",xlabel="fieldWriteMethod"] "fieldWriteMethodbb-1" [shape=circle,label="e",xlabel="fieldWriteMethod"]
fieldWriteMethodx [shape=circle,label="x"] "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 }"] "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 }"]
fieldWriteMethode -> fieldWriteMethodbb0 "fieldWriteMethodbb-1" -> "fieldWriteMethodbb0"
fieldWriteMethodbb0 -> fieldWriteMethodx "fieldWriteMethodbb0" -> "fieldWriteMethodbb-2"
} }

View file

@ -1,17 +1,17 @@
digraph forEachArrayMethod { digraph forEachArrayMethod {
node [shape=record] node [shape=record]
forEachArrayMethode [shape=circle,label="e",xlabel="forEachArrayMethod"] "forEachArrayMethodbb-1" [shape=circle,label="e",xlabel="forEachArrayMethod"]
forEachArrayMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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 }"] "forEachArrayMethodbb29" [label="29|{29: // label|30: // line number information|31: // stack frame map|32: ILOAD 2|33: IRETURN }"]
forEachArrayMethode -> forEachArrayMethodbb0 "forEachArrayMethodbb-1" -> "forEachArrayMethodbb0"
forEachArrayMethodbb0 -> forEachArrayMethodbb13 "forEachArrayMethodbb0" -> "forEachArrayMethodbb13"
forEachArrayMethodbb13 -> forEachArrayMethodbb18 "forEachArrayMethodbb13" -> "forEachArrayMethodbb18"
forEachArrayMethodbb29 -> forEachArrayMethodx "forEachArrayMethodbb29" -> "forEachArrayMethodbb-2"
forEachArrayMethodbb18 -> forEachArrayMethodbb13 [label="T"] "forEachArrayMethodbb18" -> "forEachArrayMethodbb13" [label="T"]
forEachArrayMethodbb13 -> forEachArrayMethodbb29 [label="T"] "forEachArrayMethodbb13" -> "forEachArrayMethodbb29" [label="T"]
} }

View file

@ -1,17 +1,17 @@
digraph forEachCollectionMethod { digraph forEachCollectionMethod {
node [shape=record] node [shape=record]
forEachCollectionMethode [shape=circle,label="e",xlabel="forEachCollectionMethod"] "forEachCollectionMethodbb-1" [shape=circle,label="e",xlabel="forEachCollectionMethod"]
forEachCollectionMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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 }"] "forEachCollectionMethodbb24" [label="24|{24: // label|25: // line number information|26: // stack frame map|27: ILOAD 2|28: IRETURN }"]
forEachCollectionMethode -> forEachCollectionMethodbb0 "forEachCollectionMethodbb-1" -> "forEachCollectionMethodbb0"
forEachCollectionMethodbb0 -> forEachCollectionMethodbb9 "forEachCollectionMethodbb0" -> "forEachCollectionMethodbb9"
forEachCollectionMethodbb9 -> forEachCollectionMethodbb14 "forEachCollectionMethodbb9" -> "forEachCollectionMethodbb14"
forEachCollectionMethodbb24 -> forEachCollectionMethodx "forEachCollectionMethodbb24" -> "forEachCollectionMethodbb-2"
forEachCollectionMethodbb14 -> forEachCollectionMethodbb9 [label="T"] "forEachCollectionMethodbb14" -> "forEachCollectionMethodbb9" [label="T"]
forEachCollectionMethodbb9 -> forEachCollectionMethodbb24 [label="T"] "forEachCollectionMethodbb9" -> "forEachCollectionMethodbb24" [label="T"]
} }

View file

@ -1,12 +1,12 @@
digraph forEver { digraph forEver {
node [shape=record] node [shape=record]
forEvere [shape=circle,label="e",xlabel="forEver"] "forEverbb-1" [shape=circle,label="e",xlabel="forEver"]
forEvere [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}"] "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}"] "forEverbb4" [label="4|{4: // label|5: // stack frame map|6: IINC 2 1|7: GOTO 4}"]
forEvere -> forEverbb0 "forEverbb-1" -> "forEverbb0"
forEverbb0 -> forEverbb4 "forEverbb0" -> "forEverbb4"
forEverbb4 -> forEverbb4 [label="T"] "forEverbb4" -> "forEverbb4" [label="T"]
} }

View file

@ -1,17 +1,17 @@
digraph forMethod { digraph forMethod {
node [shape=record] node [shape=record]
forMethode [shape=circle,label="e",xlabel="forMethod"] "forMethodbb-1" [shape=circle,label="e",xlabel="forMethod"]
forMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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 }"] "forMethodbb23" [label="23|{23: // label|24: // line number information|25: // stack frame map|26: ILOAD 2|27: IRETURN }"]
forMethode -> forMethodbb0 "forMethodbb-1" -> "forMethodbb0"
forMethodbb0 -> forMethodbb8 "forMethodbb0" -> "forMethodbb8"
forMethodbb8 -> forMethodbb13 "forMethodbb8" -> "forMethodbb13"
forMethodbb23 -> forMethodx "forMethodbb23" -> "forMethodbb-2"
forMethodbb13 -> forMethodbb8 [label="T"] "forMethodbb13" -> "forMethodbb8" [label="T"]
forMethodbb8 -> forMethodbb23 [label="T"] "forMethodbb8" -> "forMethodbb23" [label="T"]
} }

View file

@ -1,22 +1,22 @@
digraph forWithBreakMethod { digraph forWithBreakMethod {
node [shape=record] node [shape=record]
forWithBreakMethode [shape=circle,label="e",xlabel="forWithBreakMethod"] "forWithBreakMethodbb-1" [shape=circle,label="e",xlabel="forWithBreakMethod"]
forWithBreakMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "forWithBreakMethodbb32" [label="32|{32: // label|33: // line number information|34: // stack frame map|35: ILOAD 2|36: IRETURN }"]
forWithBreakMethode -> forWithBreakMethodbb0 "forWithBreakMethodbb-1" -> "forWithBreakMethodbb0"
forWithBreakMethodbb0 -> forWithBreakMethodbb8 "forWithBreakMethodbb0" -> "forWithBreakMethodbb8"
forWithBreakMethodbb8 -> forWithBreakMethodbb13 "forWithBreakMethodbb8" -> "forWithBreakMethodbb13"
forWithBreakMethodbb13 -> forWithBreakMethodbb18 "forWithBreakMethodbb13" -> "forWithBreakMethodbb18"
forWithBreakMethodbb32 -> forWithBreakMethodx "forWithBreakMethodbb32" -> "forWithBreakMethodbb-2"
forWithBreakMethodbb21 -> forWithBreakMethodbb8 [label="T"] "forWithBreakMethodbb21" -> "forWithBreakMethodbb8" [label="T"]
forWithBreakMethodbb13 -> forWithBreakMethodbb21 [label="T"] "forWithBreakMethodbb13" -> "forWithBreakMethodbb21" [label="T"]
forWithBreakMethodbb8 -> forWithBreakMethodbb32 [label="T"] "forWithBreakMethodbb8" -> "forWithBreakMethodbb32" [label="T"]
forWithBreakMethodbb18 -> forWithBreakMethodbb32 [label="T"] "forWithBreakMethodbb18" -> "forWithBreakMethodbb32" [label="T"]
} }

View file

@ -1,24 +1,24 @@
digraph forWithContinueMethod { digraph forWithContinueMethod {
node [shape=record] node [shape=record]
forWithContinueMethode [shape=circle,label="e",xlabel="forWithContinueMethod"] "forWithContinueMethodbb-1" [shape=circle,label="e",xlabel="forWithContinueMethod"]
forWithContinueMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "forWithContinueMethodbb33" [label="33|{33: // label|34: // line number information|35: // stack frame map|36: ILOAD 2|37: IRETURN }"]
forWithContinueMethode -> forWithContinueMethodbb0 "forWithContinueMethodbb-1" -> "forWithContinueMethodbb0"
forWithContinueMethodbb0 -> forWithContinueMethodbb8 "forWithContinueMethodbb0" -> "forWithContinueMethodbb8"
forWithContinueMethodbb8 -> forWithContinueMethodbb13 "forWithContinueMethodbb8" -> "forWithContinueMethodbb13"
forWithContinueMethodbb13 -> forWithContinueMethodbb18 "forWithContinueMethodbb13" -> "forWithContinueMethodbb18"
forWithContinueMethodbb21 -> forWithContinueMethodbb28 "forWithContinueMethodbb21" -> "forWithContinueMethodbb28"
forWithContinueMethodbb33 -> forWithContinueMethodx "forWithContinueMethodbb33" -> "forWithContinueMethodbb-2"
forWithContinueMethodbb28 -> forWithContinueMethodbb8 [label="T"] "forWithContinueMethodbb28" -> "forWithContinueMethodbb8" [label="T"]
forWithContinueMethodbb13 -> forWithContinueMethodbb21 [label="T"] "forWithContinueMethodbb13" -> "forWithContinueMethodbb21" [label="T"]
forWithContinueMethodbb18 -> forWithContinueMethodbb28 [label="T"] "forWithContinueMethodbb18" -> "forWithContinueMethodbb28" [label="T"]
forWithContinueMethodbb8 -> forWithContinueMethodbb33 [label="T"] "forWithContinueMethodbb8" -> "forWithContinueMethodbb33" [label="T"]
} }

View file

@ -1,17 +1,17 @@
digraph ifElseMethod { digraph ifElseMethod {
node [shape=record] node [shape=record]
ifElseMethode [shape=circle,label="e",xlabel="ifElseMethod"] "ifElseMethodbb-1" [shape=circle,label="e",xlabel="ifElseMethod"]
ifElseMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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 }"] "ifElseMethodbb18" [label="18|{18: // label|19: // line number information|20: // stack frame map|21: ILOAD 2|22: IRETURN }"]
ifElseMethode -> ifElseMethodbb0 "ifElseMethodbb-1" -> "ifElseMethodbb0"
ifElseMethodbb0 -> ifElseMethodbb8 "ifElseMethodbb0" -> "ifElseMethodbb8"
ifElseMethodbb13 -> ifElseMethodbb18 "ifElseMethodbb13" -> "ifElseMethodbb18"
ifElseMethodbb18 -> ifElseMethodx "ifElseMethodbb18" -> "ifElseMethodbb-2"
ifElseMethodbb0 -> ifElseMethodbb13 [label="T"] "ifElseMethodbb0" -> "ifElseMethodbb13" [label="T"]
ifElseMethodbb8 -> ifElseMethodbb18 [label="T"] "ifElseMethodbb8" -> "ifElseMethodbb18" [label="T"]
} }

View file

@ -1,15 +1,15 @@
digraph ifMethod { digraph ifMethod {
node [shape=record] node [shape=record]
ifMethode [shape=circle,label="e",xlabel="ifMethod"] "ifMethodbb-1" [shape=circle,label="e",xlabel="ifMethod"]
ifMethodx [shape=circle,label="x"] "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}"] "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}"] "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 }"] "ifMethodbb12" [label="12|{12: // label|13: // line number information|14: // stack frame map|15: ILOAD 2|16: IRETURN }"]
ifMethode -> ifMethodbb0 "ifMethodbb-1" -> "ifMethodbb0"
ifMethodbb0 -> ifMethodbb8 "ifMethodbb0" -> "ifMethodbb8"
ifMethodbb8 -> ifMethodbb12 "ifMethodbb8" -> "ifMethodbb12"
ifMethodbb12 -> ifMethodx "ifMethodbb12" -> "ifMethodbb-2"
ifMethodbb0 -> ifMethodbb12 [label="T"] "ifMethodbb0" -> "ifMethodbb12" [label="T"]
} }

View file

@ -1,10 +1,10 @@
digraph instanceCallMethod { digraph instanceCallMethod {
node [shape=record] node [shape=record]
instanceCallMethode [shape=circle,label="e",xlabel="instanceCallMethod"] "instanceCallMethodbb-1" [shape=circle,label="e",xlabel="instanceCallMethod"]
instanceCallMethodx [shape=circle,label="x"] "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 }"] "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 }"]
instanceCallMethode -> instanceCallMethodbb0 "instanceCallMethodbb-1" -> "instanceCallMethodbb0"
instanceCallMethodbb0 -> instanceCallMethodx "instanceCallMethodbb0" -> "instanceCallMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph instanceCallTarget { digraph instanceCallTarget {
node [shape=record] node [shape=record]
instanceCallTargete [shape=circle,label="e",xlabel="instanceCallTarget"] "instanceCallTargetbb-1" [shape=circle,label="e",xlabel="instanceCallTarget"]
instanceCallTargetx [shape=circle,label="x"] "instanceCallTargetbb-2" [shape=circle,label="x"]
instanceCallTargetbb0 [label="0|{0: // label|1: // line number information|2: RETURN }"] "instanceCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"]
instanceCallTargete -> instanceCallTargetbb0 "instanceCallTargetbb-1" -> "instanceCallTargetbb0"
instanceCallTargetbb0 -> instanceCallTargetx "instanceCallTargetbb0" -> "instanceCallTargetbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph interfaceCallMethod { digraph interfaceCallMethod {
node [shape=record] node [shape=record]
interfaceCallMethode [shape=circle,label="e",xlabel="interfaceCallMethod"] "interfaceCallMethodbb-1" [shape=circle,label="e",xlabel="interfaceCallMethod"]
interfaceCallMethodx [shape=circle,label="x"] "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 }"] "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 }"]
interfaceCallMethode -> interfaceCallMethodbb0 "interfaceCallMethodbb-1" -> "interfaceCallMethodbb0"
interfaceCallMethodbb0 -> interfaceCallMethodx "interfaceCallMethodbb0" -> "interfaceCallMethodbb-2"
} }

View file

@ -1,24 +1,24 @@
digraph nestedFor { digraph nestedFor {
node [shape=record] node [shape=record]
nestedFore [shape=circle,label="e",xlabel="nestedFor"] "nestedForbb-1" [shape=circle,label="e",xlabel="nestedFor"]
nestedForx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "nestedForbb37" [label="37|{37: // label|38: // line number information|39: // stack frame map|40: ILOAD 2|41: IRETURN }"]
nestedFore -> nestedForbb0 "nestedForbb-1" -> "nestedForbb0"
nestedForbb0 -> nestedForbb8 "nestedForbb0" -> "nestedForbb8"
nestedForbb8 -> nestedForbb13 "nestedForbb8" -> "nestedForbb13"
nestedForbb13 -> nestedForbb17 "nestedForbb13" -> "nestedForbb17"
nestedForbb17 -> nestedForbb22 "nestedForbb17" -> "nestedForbb22"
nestedForbb37 -> nestedForx "nestedForbb37" -> "nestedForbb-2"
nestedForbb32 -> nestedForbb8 [label="T"] "nestedForbb32" -> "nestedForbb8" [label="T"]
nestedForbb22 -> nestedForbb17 [label="T"] "nestedForbb22" -> "nestedForbb17" [label="T"]
nestedForbb17 -> nestedForbb32 [label="T"] "nestedForbb17" -> "nestedForbb32" [label="T"]
nestedForbb8 -> nestedForbb37 [label="T"] "nestedForbb8" -> "nestedForbb37" [label="T"]
} }

View file

@ -1,30 +1,30 @@
digraph nonShortCircuitMethod { digraph nonShortCircuitMethod {
node [shape=record] node [shape=record]
nonShortCircuitMethode [shape=circle,label="e",xlabel="nonShortCircuitMethod"] "nonShortCircuitMethodbb-1" [shape=circle,label="e",xlabel="nonShortCircuitMethod"]
nonShortCircuitMethodx [shape=circle,label="x"] "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}"] "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}"] "nonShortCircuitMethodbb5" [label="5|{5: ICONST_1 |6: GOTO 10}"]
nonShortCircuitMethodbb7 [label="7|{7: // label|8: // stack frame map|9: ICONST_0 }"] "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}"] "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}"] "nonShortCircuitMethodbb15" [label="15|{15: ICONST_1 |16: GOTO 20}"]
nonShortCircuitMethodbb17 [label="17|{17: // label|18: // stack frame map|19: ICONST_0 }"] "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}"] "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 }"] "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 }"] "nonShortCircuitMethodbb28" [label="28|{28: // label|29: // line number information|30: // stack frame map|31: ICONST_0 |32: IRETURN }"]
nonShortCircuitMethode -> nonShortCircuitMethodbb0 "nonShortCircuitMethodbb-1" -> "nonShortCircuitMethodbb0"
nonShortCircuitMethodbb0 -> nonShortCircuitMethodbb5 "nonShortCircuitMethodbb0" -> "nonShortCircuitMethodbb5"
nonShortCircuitMethodbb7 -> nonShortCircuitMethodbb10 "nonShortCircuitMethodbb7" -> "nonShortCircuitMethodbb10"
nonShortCircuitMethodbb10 -> nonShortCircuitMethodbb15 "nonShortCircuitMethodbb10" -> "nonShortCircuitMethodbb15"
nonShortCircuitMethodbb17 -> nonShortCircuitMethodbb20 "nonShortCircuitMethodbb17" -> "nonShortCircuitMethodbb20"
nonShortCircuitMethodbb20 -> nonShortCircuitMethodbb24 "nonShortCircuitMethodbb20" -> "nonShortCircuitMethodbb24"
nonShortCircuitMethodbb24 -> nonShortCircuitMethodx "nonShortCircuitMethodbb24" -> "nonShortCircuitMethodbb-2"
nonShortCircuitMethodbb24 -> nonShortCircuitMethodbb28 "nonShortCircuitMethodbb24" -> "nonShortCircuitMethodbb28"
nonShortCircuitMethodbb28 -> nonShortCircuitMethodx "nonShortCircuitMethodbb28" -> "nonShortCircuitMethodbb-2"
nonShortCircuitMethodbb0 -> nonShortCircuitMethodbb7 [label="T"] "nonShortCircuitMethodbb0" -> "nonShortCircuitMethodbb7" [label="T"]
nonShortCircuitMethodbb5 -> nonShortCircuitMethodbb10 [label="T"] "nonShortCircuitMethodbb5" -> "nonShortCircuitMethodbb10" [label="T"]
nonShortCircuitMethodbb10 -> nonShortCircuitMethodbb17 [label="T"] "nonShortCircuitMethodbb10" -> "nonShortCircuitMethodbb17" [label="T"]
nonShortCircuitMethodbb15 -> nonShortCircuitMethodbb20 [label="T"] "nonShortCircuitMethodbb15" -> "nonShortCircuitMethodbb20" [label="T"]
nonShortCircuitMethodbb20 -> nonShortCircuitMethodbb28 [label="T"] "nonShortCircuitMethodbb20" -> "nonShortCircuitMethodbb28" [label="T"]
} }

View file

@ -1,10 +1,10 @@
digraph privateInstanceCallMethod { digraph privateInstanceCallMethod {
node [shape=record] node [shape=record]
privateInstanceCallMethode [shape=circle,label="e",xlabel="privateInstanceCallMethod"] "privateInstanceCallMethodbb-1" [shape=circle,label="e",xlabel="privateInstanceCallMethod"]
privateInstanceCallMethodx [shape=circle,label="x"] "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 }"] "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 }"]
privateInstanceCallMethode -> privateInstanceCallMethodbb0 "privateInstanceCallMethodbb-1" -> "privateInstanceCallMethodbb0"
privateInstanceCallMethodbb0 -> privateInstanceCallMethodx "privateInstanceCallMethodbb0" -> "privateInstanceCallMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph privateInstanceCallTarget { digraph privateInstanceCallTarget {
node [shape=record] node [shape=record]
privateInstanceCallTargete [shape=circle,label="e",xlabel="privateInstanceCallTarget"] "privateInstanceCallTargetbb-1" [shape=circle,label="e",xlabel="privateInstanceCallTarget"]
privateInstanceCallTargetx [shape=circle,label="x"] "privateInstanceCallTargetbb-2" [shape=circle,label="x"]
privateInstanceCallTargetbb0 [label="0|{0: // label|1: // line number information|2: RETURN }"] "privateInstanceCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"]
privateInstanceCallTargete -> privateInstanceCallTargetbb0 "privateInstanceCallTargetbb-1" -> "privateInstanceCallTargetbb0"
privateInstanceCallTargetbb0 -> privateInstanceCallTargetx "privateInstanceCallTargetbb0" -> "privateInstanceCallTargetbb-2"
} }

View file

@ -1,19 +1,19 @@
digraph shortCircuitMethod { digraph shortCircuitMethod {
node [shape=record] node [shape=record]
shortCircuitMethode [shape=circle,label="e",xlabel="shortCircuitMethod"] "shortCircuitMethodbb-1" [shape=circle,label="e",xlabel="shortCircuitMethod"]
shortCircuitMethodx [shape=circle,label="x"] "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}"] "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}"] "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 }"] "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 }"] "shortCircuitMethodbb12" [label="12|{12: // label|13: // line number information|14: // stack frame map|15: ICONST_0 |16: IRETURN }"]
shortCircuitMethode -> shortCircuitMethodbb0 "shortCircuitMethodbb-1" -> "shortCircuitMethodbb0"
shortCircuitMethodbb0 -> shortCircuitMethodbb5 "shortCircuitMethodbb0" -> "shortCircuitMethodbb5"
shortCircuitMethodbb5 -> shortCircuitMethodbb8 "shortCircuitMethodbb5" -> "shortCircuitMethodbb8"
shortCircuitMethodbb8 -> shortCircuitMethodx "shortCircuitMethodbb8" -> "shortCircuitMethodbb-2"
shortCircuitMethodbb8 -> shortCircuitMethodbb12 "shortCircuitMethodbb8" -> "shortCircuitMethodbb12"
shortCircuitMethodbb12 -> shortCircuitMethodx "shortCircuitMethodbb12" -> "shortCircuitMethodbb-2"
shortCircuitMethodbb0 -> shortCircuitMethodbb12 [label="T"] "shortCircuitMethodbb0" -> "shortCircuitMethodbb12" [label="T"]
shortCircuitMethodbb5 -> shortCircuitMethodbb12 [label="T"] "shortCircuitMethodbb5" -> "shortCircuitMethodbb12" [label="T"]
} }

View file

@ -1,10 +1,10 @@
digraph staticCallMethod { digraph staticCallMethod {
node [shape=record] node [shape=record]
staticCallMethode [shape=circle,label="e",xlabel="staticCallMethod"] "staticCallMethodbb-1" [shape=circle,label="e",xlabel="staticCallMethod"]
staticCallMethodx [shape=circle,label="x"] "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 }"] "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 }"]
staticCallMethode -> staticCallMethodbb0 "staticCallMethodbb-1" -> "staticCallMethodbb0"
staticCallMethodbb0 -> staticCallMethodx "staticCallMethodbb0" -> "staticCallMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph staticCallTarget { digraph staticCallTarget {
node [shape=record] node [shape=record]
staticCallTargete [shape=circle,label="e",xlabel="staticCallTarget"] "staticCallTargetbb-1" [shape=circle,label="e",xlabel="staticCallTarget"]
staticCallTargetx [shape=circle,label="x"] "staticCallTargetbb-2" [shape=circle,label="x"]
staticCallTargetbb0 [label="0|{0: // label|1: // line number information|2: RETURN }"] "staticCallTargetbb0" [label="0|{0: // label|1: // line number information|2: RETURN }"]
staticCallTargete -> staticCallTargetbb0 "staticCallTargetbb-1" -> "staticCallTargetbb0"
staticCallTargetbb0 -> staticCallTargetx "staticCallTargetbb0" -> "staticCallTargetbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph staticFieldReadMethod { digraph staticFieldReadMethod {
node [shape=record] node [shape=record]
staticFieldReadMethode [shape=circle,label="e",xlabel="staticFieldReadMethod"] "staticFieldReadMethodbb-1" [shape=circle,label="e",xlabel="staticFieldReadMethod"]
staticFieldReadMethodx [shape=circle,label="x"] "staticFieldReadMethodbb-2" [shape=circle,label="x"]
staticFieldReadMethodbb0 [label="0|{0: // label|1: // line number information|2: GETSTATIC ExampleClass.staticField Ljava/lang/String;|3: ARETURN }"] "staticFieldReadMethodbb0" [label="0|{0: // label|1: // line number information|2: GETSTATIC ExampleClass.staticField Ljava/lang/String;|3: ARETURN }"]
staticFieldReadMethode -> staticFieldReadMethodbb0 "staticFieldReadMethodbb-1" -> "staticFieldReadMethodbb0"
staticFieldReadMethodbb0 -> staticFieldReadMethodx "staticFieldReadMethodbb0" -> "staticFieldReadMethodbb-2"
} }

View file

@ -1,10 +1,10 @@
digraph staticFieldWriteMethod { digraph staticFieldWriteMethod {
node [shape=record] node [shape=record]
staticFieldWriteMethode [shape=circle,label="e",xlabel="staticFieldWriteMethod"] "staticFieldWriteMethodbb-1" [shape=circle,label="e",xlabel="staticFieldWriteMethod"]
staticFieldWriteMethodx [shape=circle,label="x"] "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 }"] "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 }"]
staticFieldWriteMethode -> staticFieldWriteMethodbb0 "staticFieldWriteMethodbb-1" -> "staticFieldWriteMethodbb0"
staticFieldWriteMethodbb0 -> staticFieldWriteMethodx "staticFieldWriteMethodbb0" -> "staticFieldWriteMethodbb-2"
} }

View file

@ -1,23 +1,23 @@
digraph switchMethod { digraph switchMethod {
node [shape=record] node [shape=record]
switchMethode [shape=circle,label="e",xlabel="switchMethod"] "switchMethodbb-1" [shape=circle,label="e",xlabel="switchMethod"]
switchMethodx [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "switchMethodbb31" [label="31|{31: // label|32: // line number information|33: // stack frame map|34: ILOAD 2|35: IRETURN }"]
switchMethode -> switchMethodbb0 "switchMethodbb-1" -> "switchMethodbb0"
switchMethodbb26 -> switchMethodbb31 "switchMethodbb26" -> "switchMethodbb31"
switchMethodbb31 -> switchMethodx "switchMethodbb31" -> "switchMethodbb-2"
switchMethodbb0 -> switchMethodbb8 [label="0"] "switchMethodbb0" -> "switchMethodbb8" [label="0"]
switchMethodbb0 -> switchMethodbb14 [label="1"] "switchMethodbb0" -> "switchMethodbb14" [label="1"]
switchMethodbb0 -> switchMethodbb20 [label="2"] "switchMethodbb0" -> "switchMethodbb20" [label="2"]
switchMethodbb0 -> switchMethodbb26 [label="default"] "switchMethodbb0" -> "switchMethodbb26" [label="default"]
switchMethodbb8 -> switchMethodbb31 [label="T"] "switchMethodbb8" -> "switchMethodbb31" [label="T"]
switchMethodbb14 -> switchMethodbb31 [label="T"] "switchMethodbb14" -> "switchMethodbb31" [label="T"]
switchMethodbb20 -> switchMethodbb31 [label="T"] "switchMethodbb20" -> "switchMethodbb31" [label="T"]
} }

View file

@ -1,23 +1,23 @@
digraph switchMethod2 { digraph switchMethod2 {
node [shape=record] node [shape=record]
switchMethod2e [shape=circle,label="e",xlabel="switchMethod2"] "switchMethod2bb-1" [shape=circle,label="e",xlabel="switchMethod2"]
switchMethod2x [shape=circle,label="x"] "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}"] "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}"] "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}"] "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}"] "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}"] "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 }"] "switchMethod2bb31" [label="31|{31: // label|32: // line number information|33: // stack frame map|34: ILOAD 2|35: IRETURN }"]
switchMethod2e -> switchMethod2bb0 "switchMethod2bb-1" -> "switchMethod2bb0"
switchMethod2bb26 -> switchMethod2bb31 "switchMethod2bb26" -> "switchMethod2bb31"
switchMethod2bb31 -> switchMethod2x "switchMethod2bb31" -> "switchMethod2bb-2"
switchMethod2bb0 -> switchMethod2bb8 [label="0"] "switchMethod2bb0" -> "switchMethod2bb8" [label="0"]
switchMethod2bb0 -> switchMethod2bb14 [label="1000"] "switchMethod2bb0" -> "switchMethod2bb14" [label="1000"]
switchMethod2bb0 -> switchMethod2bb20 [label="2000"] "switchMethod2bb0" -> "switchMethod2bb20" [label="2000"]
switchMethod2bb0 -> switchMethod2bb26 [label="default"] "switchMethod2bb0" -> "switchMethod2bb26" [label="default"]
switchMethod2bb8 -> switchMethod2bb31 [label="T"] "switchMethod2bb8" -> "switchMethod2bb31" [label="T"]
switchMethod2bb14 -> switchMethod2bb31 [label="T"] "switchMethod2bb14" -> "switchMethod2bb31" [label="T"]
switchMethod2bb20 -> switchMethod2bb31 [label="T"] "switchMethod2bb20" -> "switchMethod2bb31" [label="T"]
} }

View file

@ -1,17 +1,17 @@
digraph whileMethod { digraph whileMethod {
node [shape=record] node [shape=record]
whileMethode [shape=circle,label="e",xlabel="whileMethod"] "whileMethodbb-1" [shape=circle,label="e",xlabel="whileMethod"]
whileMethodx [shape=circle,label="x"] "whileMethodbb-2" [shape=circle,label="x"]
whileMethodbb0 [label="0|{0: // label|1: // line number information|2: ICONST_0 |3: ISTORE 2}"] "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}"] "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}"] "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 }"] "whileMethodbb19" [label="19|{19: // label|20: // line number information|21: // stack frame map|22: ILOAD 2|23: IRETURN }"]
whileMethode -> whileMethodbb0 "whileMethodbb-1" -> "whileMethodbb0"
whileMethodbb0 -> whileMethodbb4 "whileMethodbb0" -> "whileMethodbb4"
whileMethodbb4 -> whileMethodbb9 "whileMethodbb4" -> "whileMethodbb9"
whileMethodbb19 -> whileMethodx "whileMethodbb19" -> "whileMethodbb-2"
whileMethodbb9 -> whileMethodbb4 [label="T"] "whileMethodbb9" -> "whileMethodbb4" [label="T"]
whileMethodbb4 -> whileMethodbb19 [label="T"] "whileMethodbb4" -> "whileMethodbb19" [label="T"]
} }

View file

@ -1,10 +1,10 @@
digraph whileTrueMethod { digraph whileTrueMethod {
node [shape=record] node [shape=record]
whileTrueMethode [shape=circle,label="e",xlabel="whileTrueMethod"] "whileTrueMethodbb-1" [shape=circle,label="e",xlabel="whileTrueMethod"]
whileTrueMethode [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}"] "whileTrueMethodbb0" [label="0|{0: // label|1: // line number information|2: // stack frame map|3: IINC 1 1|4: GOTO 0}"]
whileTrueMethode -> whileTrueMethodbb0 "whileTrueMethodbb-1" -> "whileTrueMethodbb0"
whileTrueMethodbb0 -> whileTrueMethodbb0 [label="T"] "whileTrueMethodbb0" -> "whileTrueMethodbb0" [label="T"]
} }