Offset 1, 13 lines modifiedOffset 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·fields4 #·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·methods8 #·direct·methods
8 .method·static·constructor·<clinit>()V9 .method·static·constructor·<clinit>()V
Offset 91, 80 lines modifiedOffset 93, 14 lines modified
91 ····.catch·Ljava/lang/reflect/InvocationTargetException;·{:try_start_0·..·:try_end_0}·:catch_093 ····.catch·Ljava/lang/reflect/InvocationTargetException;·{:try_start_0·..·:try_end_0}·:catch_0
  
92 ····:catch_094 ····:catch_0
93 ····:goto_195 ····:goto_1
94 ····return-void96 ····return-void
95 .end·method97 .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·599 ····.locals·5
  
138 ····const/4·v0,·0x0100 ····const/4·v0,·0x0
  
139 ····:try_start_0101 ····:try_start_0
140 ····const-string·v1,·"sun.misc.SharedSecrets"102 ····const-string·v1,·"sun.misc.SharedSecrets"
Offset 239, 69 lines modifiedOffset 175, 7 lines modified
  
239 ····:catch_0175 ····:catch_0
240 ····move-exception·p0176 ····move-exception·p0
  
241 ····.line·2177 ····.line·2
242 ····throw·p0178 ····throw·p0
243 .end·method179 .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