1 .class public LB22331663; 2 .super Ljava/lang/Object; 3 4 5 .method public static run(Z)V 6 .registers 6 7 # Make v4 defined, just use null. 8 const v4, 0 9 10 if-eqz v5, :Label2 11 12 :Label1 13 # Construct a java.lang.Object completely, and throw a new exception. 14 new-instance v4, Ljava/lang/Object; 15 invoke-direct {v4}, Ljava/lang/Object;-><init>()V 16 17 new-instance v3, Ljava/lang/RuntimeException; 18 invoke-direct {v3}, Ljava/lang/RuntimeException;-><init>()V 19 throw v3 20 21 :Label2 22 # Allocate a java.lang.Object (do not initialize), and throw a new exception. 23 new-instance v4, Ljava/lang/Object; 24 25 new-instance v3, Ljava/lang/RuntimeException; 26 invoke-direct {v3}, Ljava/lang/RuntimeException;-><init>()V 27 throw v3 28 29 :Label3 30 # Catch handler. Here we had to merge the uninitialized with the initialized reference, 31 # which creates a conflict. Copy the conflict, and then return. This should not make the 32 # verifier fail the method. 33 move-object v0, v4 34 35 return-void 36 37 .catchall {:Label1 .. :Label3} :Label3 38 .end method 39