reading Blort.class... method ()V first 0007 block 0000 pred 0005 Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws }(java.lang.Object.:()V catch) . <- v0:NffffLBlort; next 0006 block 0005 pred 0007 Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- . Blort.java:2@0000: goto . <- . next 0000 block 0006 pred 0000 Blort.java:2@0004: return-void . <- . returns block 0007 @????: goto . <- . next 0005 method testMultipleIdenticalSuccessors (I)V first 002e block 0000 pred 0025 Blort.java:5@0001: switch({1, 2, 3}) . <- v3:I next 001c next 001c next 001c next 0026 * block 001c pred 0000 pred 0000 pred 0000 Blort.java:9@001c: get-static-object(java.lang.System.out:Ljava/io/PrintStrea m; catch) . <- . next 002c block 001f pred 002c Blort.java:9@001f: const-object("foo" catch) . <- . next 002d block 0021 pred 002d Blort.java:9@0021: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/S tring; call throws }(java.io.PrintStream.println:(Ljava/lang/String;)V c atch) . <- v0:Ljava/io/PrintStream; v1:Ljava/lang/String;="foo" next 0026 block 0025 pred 002e Blort.java:5@0000: move-param-object(0) v2:"this"LBlort; <- . Blort.java:5@0000: move-param-int(1) v3:"foo"I <- . Blort.java:5@0000: goto . <- . next 0000 block 0026 pred 0000 pred 0021 Blort.java:12@0024: return-void . <- . returns block 002c pred 001c Blort.java:9@001c: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} v 0:Ljava/io/PrintStream; <- . Blort.java:9@001c: goto . <- . next 001f block 002d pred 001f Blort.java:9@001f: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:L java/lang/String;="foo" <- . Blort.java:9@001f: goto . <- . next 0021 block 002e @????: goto . <- . next 0025 method testNoPrimarySuccessor ()V first 0012 block 0000 pred 000a Blort.java:16@0000: new-instance(java.lang.RuntimeException catch java.lang.R untimeException) . <- . next 0013 next 0011 * block 0003 pred 0011 Blort.java:16@0004: Rop{invoke-direct . <- Ljava/lang/RuntimeException; call throws }(java.lang.RuntimeException.:()V catch java.lang.RuntimeEx ception) . <- v0:N0000Ljava/lang/RuntimeException; next 0013 next 0007 * block 0007 pred 0003 Blort.java:16@0007: throw(catch java.lang.RuntimeException) . <- v0:Ljava/lan g/RuntimeException; next 0013 block 000a pred 0012 Blort.java:16@0000: move-param-object(0) v1:"this"LBlort; <- . Blort.java:16@0000: goto . <- . next 0000 block 000b pred 0013 Blort.java:19@0009: return-void . <- . returns block 0011 pred 0000 Blort.java:16@0000: Rop{move-result-pseudo N0000Ljava/lang/RuntimeException; <- . flows} v0:N0000Ljava/lang/RuntimeException; <- . Blort.java:16@0000: goto . <- . next 0003 block 0012 @????: goto . <- . next 000a block 0013 pred 0000 pred 0003 pred 0007 Blort.java:17@0008: Rop{move-exception Ljava/lang/RuntimeException; <- . flow s} v0:Ljava/lang/RuntimeException; <- . @????: goto . <- . next 000b