|   |   |   |   | 
| Offset 1, 13 lines modified | Offset 1, 15 lines modified | 
| 1  | .class·public·abstract·Lcom/google/common/base/Throwables; | 1  | .class·public·abstract·Lcom/google/common/base/Throwables; | 
| 2  | .super·Ljava/lang/Object; | 2  | .super·Ljava/lang/Object; | 
| 3  | .source·"Throwables.java" | 3  | .source·"Throwables.java" | 
|   |   | 
|   |   | 
| 4  | #·static·fields | 4  | #·static·fields | 
|   | 5  | .field·public·static·final·synthetic·$r8$clinit:I·=·0x0 | 
|   |   | 
| 5  | .field·static·final·SHARED_SECRETS_CLASSNAME:Ljava/lang/String;·=·"sun.misc.SharedSecrets" | 6  | .field·static·final·SHARED_SECRETS_CLASSNAME:Ljava/lang/String;·=·"sun.misc.SharedSecrets" | 
|   |   | 
| 6  | .field·private·static·final·jla:Ljava/lang/Object; | 7  | .field·private·static·final·jla:Ljava/lang/Object; | 
|   |   | 
|   |   | 
| 7  | #·direct·methods | 8  | #·direct·methods | 
| 8  | .method·static·constructor·<clinit>()V | 9  | .method·static·constructor·<clinit>()V | 
| Offset 91, 80 lines modified | Offset 93, 14 lines modified | 
| 91  | ····.catch·Ljava/lang/reflect/InvocationTargetException;·{:try_start_0·..·:try_end_0}·:catch_0 | 93  | ····.catch·Ljava/lang/reflect/InvocationTargetException;·{:try_start_0·..·:try_end_0}·:catch_0 | 
|   |   | 
| 92  | ····:catch_0 | 94  | ····:catch_0 | 
| 93  | ····:goto_1 | 95  | ····:goto_1 | 
| 94  | ····return-void | 96  | ····return-void | 
| 95  | .end·method | 97  | .end·method | 
|   |   | 
| 96  | .method·public·static·getCausalChain(Ljava/lang/Throwable;)Ljava/util/List; |   | 
| 97  | ····.locals·3 |   | 
|   |   | 
| 98  | ····.line·1 |   | 
| 99  | ····invoke-static·{p0},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; |   | 
|   |   | 
| 100  | ····.line·2 |   | 
| 101  | ····new-instance·v0,·Ljava/util/ArrayList; |   | 
|   |   | 
| 102  | ····const/4·v1,·0x4 |   | 
|   |   | 
| 103  | ····invoke-direct·{v0,·v1},·Ljava/util/ArrayList;-><init>(I)V |   | 
|   |   | 
| 104  | ····.line·3 |   | 
| 105  | ····invoke-virtual·{v0,·p0},·Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z |   | 
|   |   | 
| 106  | ····const/4·v1,·0x0 |   | 
|   |   | 
| 107  | ····move·v2,·v1 |   | 
|   |   | 
| 108  | ····move-object·v1,·p0 |   | 
|   |   | 
| 109  | ····.line·4 |   | 
| 110  | ····:goto_0 |   | 
| 111  | ····invoke-virtual·{p0},·Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable; |   | 
|   |   | 
| 112  | ····move-result-object·p0 |   | 
|   |   | 
| 113  | ····if-eqz·p0,·:cond_2 |   | 
|   |   | 
| 114  | ····.line·5 |   | 
| 115  | ····invoke-virtual·{v0,·p0},·Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z |   | 
|   |   | 
| 116  | ····if-eq·p0,·v1,·:cond_1 |   | 
|   |   | 
| 117  | ····if-eqz·v2,·:cond_0 |   | 
|   |   | 
| 118  | ····.line·6 |   | 
| 119  | ····invoke-virtual·{v1},·Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable; |   | 
|   |   | 
| 120  | ····move-result-object·v1 |   | 
|   |   | 
| 121  | ····:cond_0 |   | 
| 122  | ····xor-int/lit8·v2,·v2,·0x1 |   | 
|   |   | 
| 123  | ····goto·:goto_0 |   | 
|   |   | 
| 124  | ····.line·7 |   | 
| 125  | ····:cond_1 |   | 
| 126  | ····new-instance·v0,·Ljava/lang/IllegalArgumentException; |   | 
|   |   | 
| 127  | ····const-string·v1,·"Loop·in·causal·chain·detected." |   | 
|   |   | 
| 128  | ····invoke-direct·{v0,·v1,·p0},·Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V |   | 
|   |   | 
| 129  | ····throw·v0 |   | 
|   |   | 
| 130  | ····.line·8 |   | 
| 131  | ····:cond_2 |   | 
| 132  | ····invoke-static·{v0},·Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List; |   | 
|   |   | 
| 133  | ····move-result-object·p0 |   | 
|   |   | 
| 134  | ····return-object·p0 |   | 
| 135  | .end·method |   | 
|   |   | 
| 136  | .method·private·static·getJLA()Ljava/lang/Object; | 98  | .method·private·static·getJLA()Ljava/lang/Object; | 
| 137  | ····.locals·5 | 99  | ····.locals·5 | 
|   |   | 
| 138  | ····const/4·v0,·0x0 | 100  | ····const/4·v0,·0x0 | 
|   |   | 
| 139  | ····:try_start_0 | 101  | ····:try_start_0 | 
| 140  | ····const-string·v1,·"sun.misc.SharedSecrets" | 102  | ····const-string·v1,·"sun.misc.SharedSecrets" | 
| Offset 239, 69 lines modified | Offset 175, 7 lines modified | 
|   |   | 
| 239  | ····:catch_0 | 175  | ····:catch_0 | 
| 240  | ····move-exception·p0 | 176  | ····move-exception·p0 | 
|   |   | 
| 241  | ····.line·2 | 177  | ····.line·2 | 
| 242  | ····throw·p0 | 178  | ····throw·p0 | 
| 243  | .end·method | 179  | .end·method | 
|   |   | 
| 244  | .method·public·static·propagateIfPossible(Ljava/lang/Throwable;Ljava/lang/Class;)V |   | 
| 245  | ····.locals·1 |   | 
| 246  | ····.annotation·system·Ldalvik/annotation/Throws; |   | 
| 247  | ········value·=·{ |   | 
| 248  | ············Ljava/lang/Throwable; |   | 
| 249  | ········} |   | 
| 250  | ····.end·annotation |   | 
|   |   | 
| 251  | ····.line·1 |   | 
| 252  | ····invoke-virtual·{p1,·p0},·Ljava/lang/Class;->isInstance(Ljava/lang/Object;)Z |   | 
|   |   | 
| 253  | ····move-result·v0 |   | 
|   |   | 
| 254  | ····if-nez·v0,·:cond_0 |   | 
|   |   | 
| 255  | ····.line·2 |   | 
| 256  | ····invoke-static·{p0},·Lcom/google/common/base/Throwables;->throwIfUnchecked(Ljava/lang/Throwable;)V |   | 
|   |   | 
| 257  | ····return-void |   | 
|   |   | 
| 258  | ····.line·3 |   | 
| 259  | ····:cond_0 |   | 
| 260  | ····invoke-virtual·{p1,·p0},·Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object; |   | 
|   |   | 
| 261  | ····move-result-object·p0 |   | 
|   |   | 
| 262  | ····check-cast·p0,·Ljava/lang/Throwable; |   | 
|   |   | 
| 263  | ····throw·p0 |   | 
| 264  | .end·method |   | 
|   |   | 
| 265  | .method·public·static·throwIfUnchecked(Ljava/lang/Throwable;)V |   | 
| 266  | ····.locals·1 |   | 
|   |   | 
| 267  | ····.line·1 |   | 
| 268  | ····invoke-static·{p0},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; |   | 
|   |   | 
| 269  | ····.line·2 |   | 
| 270  | ····instance-of·v0,·p0,·Ljava/lang/RuntimeException; |   | 
|   |   | 
| 271  | ····if-nez·v0,·:cond_1 |   | 
|   |   | 
| 272  | ····.line·3 |   | 
| 273  | ····instance-of·v0,·p0,·Ljava/lang/Error; |   | 
|   |   | 
| 274  | ····if-nez·v0,·:cond_0 |   | 
|   |   | 
| 275  | ····return-void |   | 
|   |   | 
| 276  | ····.line·4 |   | 
| 277  | ····:cond_0 |   | 
| 278  | ····check-cast·p0,·Ljava/lang/Error; |   | 
|   |   | 
| 279  | ····throw·p0 |   | 
|   |   | 
| 280  | ····.line·5 |   | 
| 281  | ····:cond_1 |   | 
| 282  | ····check-cast·p0,·Ljava/lang/RuntimeException; |   | 
|   |   | 
| 283  | ····throw·p0 |   | 
| 284  | .end·method |   |