| | | | |
| 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 | |