| | | |
Offset 1, 28 lines modified | Offset 1, 20 lines modified |
1 | .class·public·abstract·Lcom/google/common/util/concurrent/Futures; | 1 | .class·public·abstract·Lcom/google/common/util/concurrent/Futures; |
2 | .super·Lcom/google/common/util/concurrent/Uninterruptibles; | 2 | .super·Ljava/lang/Object; |
3 | .source·"Futures.java" | 3 | .source·"Futures.java" |
| |
| |
4 | #·annotations | |
5 | .annotation·system·Ldalvik/annotation/MemberClasses; | |
6 | ····value·=·{ | |
7 | ········Lcom/google/common/util/concurrent/Futures$FutureCombiner; | |
8 | ····} | |
9 | .end·annotation | |
| |
| |
10 | #·direct·methods | 4 | #·direct·methods |
11 | .method·public·static·addCallback(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/FutureCallback;Ljava/util/concurrent/Executor;)V | 5 | .method·public·static·addCallback(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/FutureCallback;Ljava/util/concurrent/Executor;)V |
12 | ····.locals·1 | 6 | ····.locals·1 |
| |
13 | ····.line·1 | 7 | ····.line·1 |
14 | ····new-instance·v0,·Lcom/google/common/util/concurrent/AggregateFuture$2; | 8 | ····new-instance·v0,·Lcom/google/common/util/concurrent/Futures$CallbackListener; |
| |
15 | ····invoke-direct·{v0,·p0,·p1},·Lcom/google/common/util/concurrent/AggregateFuture$2;-><init>(Ljava/util/concurrent/Future;Lcom/google/common/util/concurrent/FutureCallback;)V | 9 | ····invoke-direct·{v0,·p0,·p1},·Lcom/google/common/util/concurrent/Futures$CallbackListener;-><init>(Ljava/util/concurrent/Future;Lcom/google/common/util/concurrent/FutureCallback;)V |
| |
16 | ····invoke-interface·{p0,·v0,·p2},·Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V | 10 | ····invoke-interface·{p0,·v0,·p2},·Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V |
| |
17 | ····return-void | 11 | ····return-void |
18 | .end·method | 12 | .end·method |
| |
19 | .method·public·static·getDone(Ljava/util/concurrent/Future;)Ljava/lang/Object; | 13 | .method·public·static·getDone(Ljava/util/concurrent/Future;)Ljava/lang/Object; |
Offset 82, 130 lines modified | Offset 74, 7 lines modified |
82 | ····throw·p0 | 74 | ····throw·p0 |
| |
83 | ····:catch_0 | 75 | ····:catch_0 |
84 | ····const/4·v0,·0x1 | 76 | ····const/4·v0,·0x1 |
| |
85 | ····goto·:goto_0 | 77 | ····goto·:goto_0 |
86 | .end·method | 78 | .end·method |
| |
87 | .method·public·static·immediateFuture(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture; | |
88 | ····.locals·1 | |
| |
89 | ····if-nez·p0,·:cond_0 | |
| |
90 | ····.line·1 | |
91 | ····sget-object·p0,·Lcom/google/common/util/concurrent/ImmediateFuture;->NULL:Lcom/google/common/util/concurrent/ListenableFuture; | |
| |
92 | ····return-object·p0 | |
| |
93 | ····.line·2 | |
94 | ····:cond_0 | |
95 | ····new-instance·v0,·Lcom/google/common/util/concurrent/ImmediateFuture; | |
| |
96 | ····invoke-direct·{v0,·p0},·Lcom/google/common/util/concurrent/ImmediateFuture;-><init>(Ljava/lang/Object;)V | |
| |
97 | ····return-object·v0 | |
98 | .end·method | |
| |
99 | .method·public·static·immediateVoidFuture()Lcom/google/common/util/concurrent/ListenableFuture; | |
100 | ····.locals·1 | |
| |
101 | ····.line·1 | |
102 | ····sget-object·v0,·Lcom/google/common/util/concurrent/ImmediateFuture;->NULL:Lcom/google/common/util/concurrent/ListenableFuture; | |
| |
103 | ····return-object·v0 | |
104 | .end·method | |
| |
105 | .method·public·static·submitAsync(Lcom/google/common/util/concurrent/AsyncCallable;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture; | |
106 | ····.locals·1 | |
| |
107 | ····.line·1 | |
108 | ····new-instance·v0,·Lcom/google/common/util/concurrent/TrustedListenableFutureTask; | |
| |
109 | ····invoke-direct·{v0,·p0},·Lcom/google/common/util/concurrent/TrustedListenableFutureTask;-><init>(Lcom/google/common/util/concurrent/AsyncCallable;)V | |
| |
110 | ····.line·2 | |
111 | ····check-cast·p1,·Lcom/google/common/util/concurrent/MoreExecutors$ListeningDecorator; | |
| |
112 | ····invoke-virtual·{p1,·v0},·Lcom/google/common/util/concurrent/MoreExecutors$ListeningDecorator;->execute(Ljava/lang/Runnable;)V | |
| |
113 | ····return-object·v0 | |
114 | .end·method | |
| |
115 | .method·public·static·transform(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture; | |
116 | ····.locals·1 | |
| |
117 | ····.line·1 | |
118 | ····sget·v0,·Lcom/google/common/util/concurrent/AbstractTransformFuture;->$r8$clinit:I | |
| |
119 | ····.line·2 | |
120 | ····invoke-static·{p1},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; | |
| |
121 | ····.line·3 | |
122 | ····new-instance·v0,·Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture; | |
| |
123 | ····invoke-direct·{v0,·p0,·p1},·Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;)V | |
| |
124 | ····.line·4 | |
125 | ····invoke-static·{p2,·v0},·Lcom/google/common/util/concurrent/MoreExecutors;->rejectionPropagatingExecutor(Ljava/util/concurrent/Executor;Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/util/concurrent/Executor; | |
| |
126 | ····move-result-object·p1 | |
| |
127 | ····invoke-interface·{p0,·v0,·p1},·Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V | |
| |
128 | ····return-object·v0 | |
129 | .end·method | |
| |
130 | .method·public·static·transformAsync(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture; | |
131 | ····.locals·1 | |
| |
132 | ····.line·1 | |
133 | ····sget·v0,·Lcom/google/common/util/concurrent/AbstractTransformFuture;->$r8$clinit:I | |
| |
134 | ····.line·2 | |
135 | ····invoke-static·{p2},·Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; | |
| |
136 | ····.line·3 | |
137 | ····new-instance·v0,·Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture; | |
| |
138 | ····invoke-direct·{v0,·p0,·p1},·Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;)V | |
| |
139 | ····.line·4 | |
140 | ····sget-object·p1,·Lcom/google/common/util/concurrent/DirectExecutor;->INSTANCE:Lcom/google/common/util/concurrent/DirectExecutor; | |
| |
141 | ····if-ne·p2,·p1,·:cond_0 | |
| |
142 | ····goto·:goto_0 | |
| |
143 | ····.line·5 | |
144 | ····:cond_0 | |
145 | ····new-instance·p1,·Lcom/google/common/util/concurrent/MoreExecutors$5; | |
| |
146 | ····invoke-direct·{p1,·p2,·v0},·Lcom/google/common/util/concurrent/MoreExecutors$5;-><init>(Ljava/util/concurrent/Executor;Lcom/google/common/util/concurrent/AbstractFuture;)V | |
| |
147 | ····move-object·p2,·p1 | |
| |
148 | ····.line·6 | |
149 | ····:goto_0 | |
150 | ····invoke-interface·{p0,·v0,·p2},·Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V | |
| |
151 | ····return-object·v0 | |
152 | .end·method | |
| |
153 | .method·public·static·whenAllComplete(Ljava/lang/Iterable;)Lcom/google/common/util/concurrent/Futures$FutureCombiner; | |
154 | ····.locals·3 | |
| |
155 | ····.line·1 | |
156 | ····new-instance·v0,·Lcom/google/common/util/concurrent/Futures$FutureCombiner; | |
| |
157 | ····invoke-static·{p0},·Lcom/google/common/collect/ImmutableList;->copyOf(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList; | |
| |
158 | ····move-result-object·p0 | |
| |
159 | ····const/4·v1,·0x0 | |
| |
160 | ····const/4·v2,·0x0 | |
| |
161 | ····invoke-direct·{v0,·v1,·p0,·v2},·Lcom/google/common/util/concurrent/Futures$FutureCombiner;-><init>(ZLcom/google/common/collect/ImmutableList;Lcom/google/common/util/concurrent/Futures$1;)V | |
| |
162 | ····return-object·v0 | |
163 | .end·method | |