1.class public LB134061982_2;
2.super Ljava/lang/Object;
3
4
5.method public constructor <init>()V
6.registers 1
7       invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8       return-void
9.end method
10
11.method public static run(I)V
12.registers 4
13
14# Registers:
15# * v0 = 0/null
16# * v1 = "outer" catch value to operate on
17# * v2 = exception value for inner catch
18# * v3 = p0 = input for two legs.
19
20        const v0, 0
21
22        # Start with r1 == null
23        const v1, 0
24
25        if-eqz p0, :direct_leg
26        goto :indirect_leg
27
28:direct_leg
29        throw v0
30
31:indirect_leg
32        # Make r1 not-reference.
33        const v1, 1
34        throw v0
35
36:end
37        return-void
38
39:catch_inner
40        move-exception v2
41        # r2 should not be primitive, so this should hard-fail if reached.
42        add-int/lit8 v2, v2, 0x1
43        goto :end
44
45:catch_outer
46        # Just some random call.
47        invoke-virtual {v1}, Ljava/io/PrintStream;->println()V
48        goto :end
49
50# Direct leg is directly covered by catch_outer.
51.catchall {:direct_leg .. :indirect_leg} :catch_outer
52
53# Indirect leg is directly covered by catch_inner.
54# * Covered by unresolved and resolved exception classes -> live.
55.catch Ldoes/not/ResolveException; {:indirect_leg .. :end} :catch_inner
56.catch Ljava/lang/ArithmeticException; {:indirect_leg .. :end} :catch_inner
57
58# catch_inner is covered by catch_outer.
59.catchall {:catch_inner .. :catch_outer} :catch_outer
60
61.end method
62