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