| OLD | NEW |
| 1 part of dart.async; | 1 part of dart.async; |
| 2 abstract class Future<T> {static final _Future _nullFuture = ((__x10) => DEVC$R
T.cast(__x10, DEVC$RT.type((Future<dynamic> _) { | 2 abstract class Future<T> {static final _Future _nullFuture = ((__x10) => DEVC$R
T.cast(__x10, DEVC$RT.type((Future<dynamic> _) { |
| 3 } | 3 } |
| 4 ), DEVC$RT.type((_Future<dynamic> _) { | 4 ), DEVC$RT.type((_Future<dynamic> _) { |
| 5 } | 5 } |
| 6 ), "CastExact", """line 98, column 38 of dart:async/future.dart: """, __x10 is _
Future<dynamic>, true))(new Future.value(null)); | 6 ), "InferableAllocation", """line 98, column 38 of dart:async/future.dart: """,
__x10 is _Future<dynamic>, true))(new Future.value(null)); |
| 7 factory Future(computation()) { | 7 factory Future(computation()) { |
| 8 _Future result = new _Future<T>(); | 8 _Future result = new _Future<T>(); |
| 9 Timer.run(() { | 9 Timer.run(() { |
| 10 try { | 10 try { |
| 11 result._complete(computation()); | 11 result._complete(computation()); |
| 12 } | 12 } |
| 13 catch (e, s) { | 13 catch (e, s) { |
| 14 _completeWithErrorCallback(result, e, s); | 14 _completeWithErrorCallback(result, e, s); |
| 15 } | 15 } |
| 16 } | 16 } |
| 17 ); | 17 ); |
| 18 return DEVC$RT.cast(result, DEVC$RT.type((_Future<dynamic> _) { | 18 return DEVC$RT.cast(result, DEVC$RT.type((_Future<dynamic> _) { |
| 19 } | 19 } |
| 20 ), DEVC$RT.type((Future<T> _) { | 20 ), DEVC$RT.type((Future<T> _) { |
| 21 } | 21 } |
| 22 ), "CastDynamic", """line 123, column 12 of dart:async/future.dart: """, resul
t is Future<T>, false); | 22 ), "CompositeCast", """line 123, column 12 of dart:async/future.dart: """, res
ult is Future<T>, false); |
| 23 } | 23 } |
| 24 factory Future.microtask(computation()) { | 24 factory Future.microtask(computation()) { |
| 25 _Future result = new _Future<T>(); | 25 _Future result = new _Future<T>(); |
| 26 scheduleMicrotask(() { | 26 scheduleMicrotask(() { |
| 27 try { | 27 try { |
| 28 result._complete(computation()); | 28 result._complete(computation()); |
| 29 } | 29 } |
| 30 catch (e, s) { | 30 catch (e, s) { |
| 31 _completeWithErrorCallback(result, e, s); | 31 _completeWithErrorCallback(result, e, s); |
| 32 } | 32 } |
| 33 } | 33 } |
| 34 ); | 34 ); |
| 35 return DEVC$RT.cast(result, DEVC$RT.type((_Future<dynamic> _) { | 35 return DEVC$RT.cast(result, DEVC$RT.type((_Future<dynamic> _) { |
| 36 } | 36 } |
| 37 ), DEVC$RT.type((Future<T> _) { | 37 ), DEVC$RT.type((Future<T> _) { |
| 38 } | 38 } |
| 39 ), "CastDynamic", """line 149, column 12 of dart:async/future.dart: """, resul
t is Future<T>, false); | 39 ), "CompositeCast", """line 149, column 12 of dart:async/future.dart: """, res
ult is Future<T>, false); |
| 40 } | 40 } |
| 41 factory Future.sync(computation()) { | 41 factory Future.sync(computation()) { |
| 42 try { | 42 try { |
| 43 var result = computation(); | 43 var result = computation(); |
| 44 return new Future<T>.value(result); | 44 return new Future<T>.value(result); |
| 45 } | 45 } |
| 46 catch (error, stackTrace) { | 46 catch (error, stackTrace) { |
| 47 return new Future<T>.error(error, stackTrace); | 47 return new Future<T>.error(error, stackTrace); |
| 48 } | 48 } |
| 49 } | 49 } |
| (...skipping 19 matching lines...) Expand all Loading... |
| 69 } | 69 } |
| 70 catch (e, s) { | 70 catch (e, s) { |
| 71 _completeWithErrorCallback(result, e, s); | 71 _completeWithErrorCallback(result, e, s); |
| 72 } | 72 } |
| 73 } | 73 } |
| 74 ); | 74 ); |
| 75 return DEVC$RT.cast(result, DEVC$RT.type((_Future<dynamic> _) { | 75 return DEVC$RT.cast(result, DEVC$RT.type((_Future<dynamic> _) { |
| 76 } | 76 } |
| 77 ), DEVC$RT.type((Future<T> _) { | 77 ), DEVC$RT.type((Future<T> _) { |
| 78 } | 78 } |
| 79 ), "CastDynamic", """line 233, column 12 of dart:async/future.dart: """, resul
t is Future<T>, false); | 79 ), "CompositeCast", """line 233, column 12 of dart:async/future.dart: """, res
ult is Future<T>, false); |
| 80 } | 80 } |
| 81 static Future<List> wait(Iterable<Future> futures, { | 81 static Future<List> wait(Iterable<Future> futures, { |
| 82 bool eagerError : false, void cleanUp(successValue)} | 82 bool eagerError : false, void cleanUp(successValue)} |
| 83 ) { | 83 ) { |
| 84 final _Future<List> result = new _Future<List>(); | 84 final _Future<List> result = new _Future<List>(); |
| 85 List values; | 85 List values; |
| 86 int remaining = 0; | 86 int remaining = 0; |
| 87 var error; | 87 var error; |
| 88 StackTrace stackTrace; | 88 StackTrace stackTrace; |
| 89 void handleError(theError, theStackTrace) { | 89 void handleError(theError, theStackTrace) { |
| 90 remaining--; | 90 remaining--; |
| 91 if (values != null) { | 91 if (values != null) { |
| 92 if (cleanUp != null) { | 92 if (cleanUp != null) { |
| 93 for (var value in values) { | 93 for (var value in values) { |
| 94 if (value != null) { | 94 if (value != null) { |
| 95 new Future.sync(() { | 95 new Future.sync(() { |
| 96 cleanUp(value); | 96 cleanUp(value); |
| 97 } | 97 } |
| 98 ); | 98 ); |
| 99 } | 99 } |
| 100 } | 100 } |
| 101 } | 101 } |
| 102 values = null; | 102 values = null; |
| 103 if (remaining == 0 || eagerError) { | 103 if (remaining == 0 || eagerError) { |
| 104 result._completeError(theError, DEVC$RT.cast(theStackTrace, dynamic, Sta
ckTrace, "CastGeneral", """line 280, column 43 of dart:async/future.dart: """, t
heStackTrace is StackTrace, true)); | 104 result._completeError(theError, DEVC$RT.cast(theStackTrace, dynamic, Sta
ckTrace, "DynamicCast", """line 280, column 43 of dart:async/future.dart: """, t
heStackTrace is StackTrace, true)); |
| 105 } | 105 } |
| 106 else { | 106 else { |
| 107 error = theError; | 107 error = theError; |
| 108 stackTrace = DEVC$RT.cast(theStackTrace, dynamic, StackTrace, "CastGene
ral", """line 283, column 24 of dart:async/future.dart: """, theStackTrace is St
ackTrace, true); | 108 stackTrace = DEVC$RT.cast(theStackTrace, dynamic, StackTrace, "DynamicC
ast", """line 283, column 24 of dart:async/future.dart: """, theStackTrace is St
ackTrace, true); |
| 109 } | 109 } |
| 110 } | 110 } |
| 111 else if (remaining == 0 && !eagerError) { | 111 else if (remaining == 0 && !eagerError) { |
| 112 result._completeError(error, stackTrace); | 112 result._completeError(error, stackTrace); |
| 113 } | 113 } |
| 114 } | 114 } |
| 115 for (Future future in futures) { | 115 for (Future future in futures) { |
| 116 int pos = remaining++; | 116 int pos = remaining++; |
| 117 future.then((Object value) { | 117 future.then((Object value) { |
| 118 remaining--; | 118 remaining--; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 134 } | 134 } |
| 135 } | 135 } |
| 136 } | 136 } |
| 137 , onError: handleError); | 137 , onError: handleError); |
| 138 } | 138 } |
| 139 if (remaining == 0) { | 139 if (remaining == 0) { |
| 140 return ((__x11) => DEVC$RT.cast(__x11, DEVC$RT.type((Future<dynamic> _) { | 140 return ((__x11) => DEVC$RT.cast(__x11, DEVC$RT.type((Future<dynamic> _) { |
| 141 } | 141 } |
| 142 ), DEVC$RT.type((Future<List<dynamic>> _) { | 142 ), DEVC$RT.type((Future<List<dynamic>> _) { |
| 143 } | 143 } |
| 144 ), "CastExact", """line 313, column 14 of dart:async/future.dart: """, __x11
is Future<List<dynamic>>, false))(new Future.value(const [])); | 144 ), "InferableAllocation", """line 313, column 14 of dart:async/future.dart:
""", __x11 is Future<List<dynamic>>, false))(new Future.value(const [])); |
| 145 } | 145 } |
| 146 values = new List(remaining); | 146 values = new List(remaining); |
| 147 return result; | 147 return result; |
| 148 } | 148 } |
| 149 static Future forEach(Iterable input, f(element)) { | 149 static Future forEach(Iterable input, f(element)) { |
| 150 Iterator iterator = input.iterator; | 150 Iterator iterator = input.iterator; |
| 151 return doWhile(() { | 151 return doWhile(() { |
| 152 if (!iterator.moveNext()) return false; | 152 if (!iterator.moveNext()) return false; |
| 153 return new Future.sync(() => f(iterator.current)).then((_) => true); | 153 return new Future.sync(() => f(iterator.current)).then((_) => true); |
| 154 } | 154 } |
| 155 ); | 155 ); |
| 156 } | 156 } |
| 157 static Future doWhile(f()) { | 157 static Future doWhile(f()) { |
| 158 _Future doneSignal = new _Future(); | 158 _Future doneSignal = new _Future(); |
| 159 var nextIteration; | 159 var nextIteration; |
| 160 nextIteration = Zone.current.bindUnaryCallback((bool keepGoing) { | 160 nextIteration = Zone.current.bindUnaryCallback((bool keepGoing) { |
| 161 if (keepGoing) { | 161 if (keepGoing) { |
| 162 new Future.sync(f).then(DEVC$RT.cast(nextIteration, dynamic, __t12, "CastG
eneral", """line 361, column 33 of dart:async/future.dart: """, nextIteration is
__t12, true), onError: doneSignal._completeError); | 162 new Future.sync(f).then(DEVC$RT.cast(nextIteration, dynamic, __t12, "Dynam
icCast", """line 361, column 33 of dart:async/future.dart: """, nextIteration is
__t12, true), onError: doneSignal._completeError); |
| 163 } | 163 } |
| 164 else { | 164 else { |
| 165 doneSignal._complete(null); | 165 doneSignal._complete(null); |
| 166 } | 166 } |
| 167 } | 167 } |
| 168 , runGuarded: true); | 168 , runGuarded: true); |
| 169 nextIteration(true); | 169 nextIteration(true); |
| 170 return doneSignal; | 170 return doneSignal; |
| 171 } | 171 } |
| 172 Future then(onValue(T value), { | 172 Future then(onValue(T value), { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 192 } | 192 } |
| 193 } | 193 } |
| 194 abstract class Completer<T> {factory Completer() => new _AsyncCompleter<T>(); | 194 abstract class Completer<T> {factory Completer() => new _AsyncCompleter<T>(); |
| 195 factory Completer.sync() => new _SyncCompleter<T>(); | 195 factory Completer.sync() => new _SyncCompleter<T>(); |
| 196 Future<T> get future; | 196 Future<T> get future; |
| 197 void complete([value]); | 197 void complete([value]); |
| 198 void completeError(Object error, [StackTrace stackTrace]); | 198 void completeError(Object error, [StackTrace stackTrace]); |
| 199 bool get isCompleted; | 199 bool get isCompleted; |
| 200 } | 200 } |
| 201 void _completeWithErrorCallback(_Future result, error, stackTrace) { | 201 void _completeWithErrorCallback(_Future result, error, stackTrace) { |
| 202 AsyncError replacement = Zone.current.errorCallback(error, DEVC$RT.cast(stackTra
ce, dynamic, StackTrace, "CastGeneral", """line 719, column 62 of dart:async/fut
ure.dart: """, stackTrace is StackTrace, true)); | 202 AsyncError replacement = Zone.current.errorCallback(error, DEVC$RT.cast(stackTra
ce, dynamic, StackTrace, "DynamicCast", """line 719, column 62 of dart:async/fut
ure.dart: """, stackTrace is StackTrace, true)); |
| 203 if (replacement != null) { | 203 if (replacement != null) { |
| 204 error = _nonNullError(replacement.error); | 204 error = _nonNullError(replacement.error); |
| 205 stackTrace = replacement.stackTrace; | 205 stackTrace = replacement.stackTrace; |
| 206 } | 206 } |
| 207 result._completeError(error, DEVC$RT.cast(stackTrace, dynamic, StackTrace, "Cas
tGeneral", """line 724, column 32 of dart:async/future.dart: """, stackTrace is
StackTrace, true)); | 207 result._completeError(error, DEVC$RT.cast(stackTrace, dynamic, StackTrace, "Dyn
amicCast", """line 724, column 32 of dart:async/future.dart: """, stackTrace is
StackTrace, true)); |
| 208 } | 208 } |
| 209 Object _nonNullError(Object error) => (error != null) ? error : new NullThrownE
rror(); | 209 Object _nonNullError(Object error) => (error != null) ? error : new NullThrownE
rror(); |
| 210 typedef dynamic __t12(dynamic __u13); | 210 typedef dynamic __t12(dynamic __u13); |
| OLD | NEW |