-------------------- <Graph: void <clinit>()> (live-var) --------------------
[0@L4] %stringconst0 = "line.separator"; [%stringconst0]
[1@L4] temp$0 = invokestatic <java.lang.System: java.lang.String getProperty(java.lang.String)>(%stringconst0); [temp$0]
[2@L5] <Graph: java.lang.String NEWLINE> = temp$0; []
[3@L5] return; []

-------------------- <Graph: void <init>(int)> (live-var) --------------------
[0@L11] invokespecial %this.<java.lang.Object: void <init>()>(); [%this, V]
[1@L12] %this.<Graph: int V> = V; [%this, V]
[2@L13] temp$0 = 0; [%this, V, temp$0]
[3@L13] %this.<Graph: int E> = temp$0; [%this, V]
[4@L14] temp$1 = newarray java.util.List[V]; [%this, V, temp$1]
[5@L14] %this.<Graph: java.util.List[] adj> = temp$1; [%this, V]
[6@L15] v = 0; [%this, V, v]
[7@L15] nop; [%this, V, v]
[8@L15] if (v < V) goto 10; [%this, V, v]
[9@L15] goto 19; []
[10@L15] nop; [%this, V, v]
[11@L16] temp$2 = %this.<Graph: java.util.List[] adj>; [%this, V, temp$2, v]
[12@L16] temp$4 = new java.util.ArrayList; [%this, V, temp$2, temp$4, v]
[13@L16] invokespecial temp$4.<java.util.ArrayList: void <init>()>(); [%this, V, temp$2, temp$4, v]
[14@L16] temp$2[v] = temp$4; [%this, V, v]
[15@L16] nop; [%this, V, v]
[16@L15] %intconst0 = 1; [%intconst0, %this, V, v]
[17@L15] v = v + %intconst0; [%this, V, v]
[18@L15] goto 7; [%this, V, v]
[19@L15] nop; []
[20@L15] return; []

-------------------- <Graph: void addEdge(int,int)> (live-var) --------------------
[0@L21] temp$0 = %this.<Graph: int E>; [%this, temp$0, v, w]
[1@L21] %intconst0 = 1; [%intconst0, %this, temp$0, v, w]
[2@L21] temp$1 = temp$0 + %intconst0; [%this, temp$1, v, w]
[3@L21] %this.<Graph: int E> = temp$1; [%this, v, w]
[4@L22] temp$2 = %this.<Graph: java.util.List[] adj>; [%this, temp$2, v, w]
[5@L22] temp$4 = temp$2[v]; [%this, temp$4, v, w]
[6@L22] temp$5 = invokestatic <java.lang.Integer: java.lang.Integer valueOf(int)>(w); [%this, temp$4, temp$5, v, w]
[7@L22] invokeinterface temp$4.<java.util.List: boolean add(java.lang.Object)>(temp$5); [%this, v, w]
[8@L23] temp$7 = %this.<Graph: java.util.List[] adj>; [temp$7, v, w]
[9@L23] temp$9 = temp$7[w]; [temp$9, v]
[10@L23] temp$10 = invokestatic <java.lang.Integer: java.lang.Integer valueOf(int)>(v); [temp$10, temp$9]
[11@L23] invokeinterface temp$9.<java.util.List: boolean add(java.lang.Object)>(temp$10); []
[12@L23] return; []

-------------------- <Graph: java.lang.String toString()> (live-var) --------------------
[0@L27] temp$0 = new java.lang.StringBuilder; [%this, temp$0]
[1@L27] invokespecial temp$0.<java.lang.StringBuilder: void <init>()>(); [%this, temp$0]
[2@L27] s = temp$0; [%this, s]
[3@L28] temp$1 = new java.lang.StringBuffer; [%this, s, temp$1]
[4@L28] invokespecial temp$1.<java.lang.StringBuffer: void <init>()>(); [%this, s, temp$1]
[5@L28] temp$2 = %this.<Graph: int V>; [%this, s, temp$1, temp$2]
[6@L28] invokevirtual temp$1.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(temp$2); [%this, s, temp$1]
[7@L28] %stringconst0 = " vertices, "; [%stringconst0, %this, s, temp$1]
[8@L28] invokevirtual temp$1.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>(%stringconst0); [%this, s, temp$1]
[9@L28] temp$3 = %this.<Graph: int E>; [%this, s, temp$1, temp$3]
[10@L28] invokevirtual temp$1.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(temp$3); [%this, s, temp$1]
[11@L28] %stringconst1 = " edges "; [%stringconst1, %this, s, temp$1]
[12@L28] invokevirtual temp$1.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>(%stringconst1); [%this, s, temp$1]
[13@L28] temp$4 = <Graph: java.lang.String NEWLINE>; [%this, s, temp$1, temp$4]
[14@L28] invokevirtual temp$1.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>(temp$4); [%this, s, temp$1]
[15@L28] temp$5 = invokevirtual temp$1.<java.lang.StringBuffer: java.lang.String toString()>(); [%this, s, temp$5]
[16@L28] invokevirtual s.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(temp$5); [%this, s]
[17@L29] v = 0; [%this, s, v]
[18@L29] nop; [%this, s, v]
[19@L29] temp$7 = %this.<Graph: int V>; [%this, s, temp$7, v]
[20@L29] if (v < temp$7) goto 22; [%this, s, v]
[21@L29] goto 56; [s]
[22@L29] nop; [%this, s, v]
[23@L30] temp$8 = new java.lang.StringBuffer; [%this, s, temp$8, v]
[24@L30] invokespecial temp$8.<java.lang.StringBuffer: void <init>()>(); [%this, s, temp$8, v]
[25@L30] invokevirtual temp$8.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(v); [%this, s, temp$8, v]
[26@L30] %stringconst2 = ": "; [%stringconst2, %this, s, temp$8, v]
[27@L30] invokevirtual temp$8.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>(%stringconst2); [%this, s, temp$8, v]
[28@L30] temp$9 = invokevirtual temp$8.<java.lang.StringBuffer: java.lang.String toString()>(); [%this, s, temp$9, v]
[29@L30] invokevirtual s.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(temp$9); [%this, s, v]
[30@L31] temp$11 = %this.<Graph: java.util.List[] adj>; [%this, s, temp$11, v]
[31@L31] temp$13 = temp$11[v]; [%this, s, temp$13, v]
[32@L31] temp$14 = invokeinterface temp$13.<java.lang.Iterable: java.util.Iterator iterator()>(); [%this, s, temp$14, v]
[33@L31] nop; [%this, s, temp$14, v]
[34@L31] temp$15 = invokeinterface temp$14.<java.util.Iterator: boolean hasNext()>(); [%this, s, temp$14, temp$15, v]
[35@L31] %intconst3 = 0; [%intconst3, %this, s, temp$14, temp$15, v]
[36@L31] if (temp$15 == %intconst3) goto 49; [%this, s, temp$14, v]
[37@L31] temp$16 = invokeinterface temp$14.<java.util.Iterator: java.lang.Object next()>(); [%this, s, temp$14, temp$16, v]
[38@L31] temp$17 = (java.lang.Integer) temp$16; [%this, s, temp$14, temp$17, v]
[39@L31] w = invokevirtual temp$17.<java.lang.Integer: int intValue()>(); [%this, s, temp$14, v, w]
[40@L32] temp$18 = new java.lang.StringBuffer; [%this, s, temp$14, temp$18, v, w]
[41@L32] invokespecial temp$18.<java.lang.StringBuffer: void <init>()>(); [%this, s, temp$14, temp$18, v, w]
[42@L32] invokevirtual temp$18.<java.lang.StringBuffer: java.lang.StringBuffer append(int)>(w); [%this, s, temp$14, temp$18, v]
[43@L32] %stringconst4 = " "; [%stringconst4, %this, s, temp$14, temp$18, v]
[44@L32] invokevirtual temp$18.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.Object)>(%stringconst4); [%this, s, temp$14, temp$18, v]
[45@L32] temp$19 = invokevirtual temp$18.<java.lang.StringBuffer: java.lang.String toString()>(); [%this, s, temp$14, temp$19, v]
[46@L32] invokevirtual s.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(temp$19); [%this, s, temp$14, v]
[47@L32] nop; [%this, s, temp$14, v]
[48@L32] goto 33; [%this, s, temp$14, v]
[49@L32] nop; [%this, s, v]
[50@L34] temp$21 = <Graph: java.lang.String NEWLINE>; [%this, s, temp$21, v]
[51@L34] invokevirtual s.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(temp$21); [%this, s, v]
[52@L34] nop; [%this, s, v]
[53@L29] %intconst5 = 1; [%intconst5, %this, s, v]
[54@L29] v = v + %intconst5; [%this, s, v]
[55@L29] goto 18; [%this, s, v]
[56@L29] nop; [s]
[57@L29] temp$25 = invokevirtual s.<java.lang.StringBuilder: java.lang.String toString()>(); [temp$25]
[58@L36] return temp$25; []

