| library test; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart:26:10: Error: A value of type 'A' can't be assigned to a variable of type 'int'. |
| // - 'A' is from 'pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart'. |
| // Try changing the type of the variable. |
| // for (i in iterable) {} |
| // ^ |
| // |
| // pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart:27:16: Error: A value of type 'A' can't be assigned to a variable of type 'int'. |
| // - 'A' is from 'pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart'. |
| // Try changing the type of the variable. |
| // await for (i in stream) {} |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| import "dart:async" as asy; |
| |
| import "dart:async"; |
| |
| class A extends core::Object { |
| synthetic constructor •() → self::A* |
| : super core::Object::•() |
| ; |
| abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse |
| abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== |
| abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode |
| abstract member-signature method toString() → core::String*; -> core::Object::toString |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod |
| abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType |
| } |
| class B extends self::A { |
| synthetic constructor •() → self::B* |
| : super self::A::•() |
| ; |
| } |
| static method f<T extends core::Object* = dynamic>() → self::f::T* |
| return null; |
| static method test() → dynamic async /* futureValueType= dynamic */ { |
| core::Iterable<self::A*>* iterable; |
| asy::Stream<self::A*>* stream; |
| self::A* a; |
| self::B* b; |
| core::int* i; |
| { |
| core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<self::A*>*}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final self::A* #t1 = :sync-for-iterator.{core::Iterator::current}{self::A*}; |
| { |
| a = #t1; |
| } |
| } |
| } |
| { |
| asy::Stream<self::A*>* :stream = stream; |
| asy::_StreamIterator<self::A*>* :for-iterator = new asy::_StreamIterator::•<self::A*>(:stream); |
| try |
| while (let dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) { |
| final self::A* #t3 = :for-iterator.{asy::_StreamIterator::current}{self::A*}; |
| { |
| a = #t3; |
| } |
| } |
| finally |
| if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) |
| await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}; |
| } |
| { |
| core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<self::A*>*}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final self::A* #t4 = :sync-for-iterator.{core::Iterator::current}{self::A*}; |
| { |
| b = #t4 as{TypeError} self::B*; |
| } |
| } |
| } |
| { |
| asy::Stream<self::A*>* :stream = stream; |
| asy::_StreamIterator<self::A*>* :for-iterator = new asy::_StreamIterator::•<self::A*>(:stream); |
| try |
| while (let dynamic #t5 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) { |
| final self::A* #t6 = :for-iterator.{asy::_StreamIterator::current}{self::A*}; |
| { |
| b = #t6 as{TypeError} self::B*; |
| } |
| } |
| finally |
| if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) |
| await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}; |
| } |
| { |
| core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<self::A*>*}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final self::A* #t7 = :sync-for-iterator.{core::Iterator::current}{self::A*}; |
| { |
| i = invalid-expression "pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart:26:10: Error: A value of type 'A' can't be assigned to a variable of type 'int'. |
| - 'A' is from 'pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart'. |
| Try changing the type of the variable. |
| for (i in iterable) {} |
| ^" in #t7 as{TypeError} core::int*; |
| } |
| } |
| } |
| { |
| asy::Stream<self::A*>* :stream = stream; |
| asy::_StreamIterator<self::A*>* :for-iterator = new asy::_StreamIterator::•<self::A*>(:stream); |
| try |
| while (let dynamic #t8 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) { |
| final self::A* #t9 = :for-iterator.{asy::_StreamIterator::current}{self::A*}; |
| { |
| i = invalid-expression "pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart:27:16: Error: A value of type 'A' can't be assigned to a variable of type 'int'. |
| - 'A' is from 'pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart'. |
| Try changing the type of the variable. |
| await for (i in stream) {} |
| ^" in #t9 as{TypeError} core::int*; |
| } |
| } |
| finally |
| if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) |
| await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}; |
| } |
| { |
| core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator}{core::Iterator<self::A*>*}; |
| for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) { |
| final self::A* #t10 = :sync-for-iterator.{core::Iterator::current}{self::A*}; |
| { |
| a = #t10; |
| } |
| } |
| } |
| { |
| asy::Stream<self::A*>* :stream = self::f<asy::Stream<self::A*>*>(); |
| asy::_StreamIterator<self::A*>* :for-iterator = new asy::_StreamIterator::•<self::A*>(:stream); |
| try |
| while (let dynamic #t11 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) { |
| final self::A* #t12 = :for-iterator.{asy::_StreamIterator::current}{self::A*}; |
| { |
| a = #t12; |
| } |
| } |
| finally |
| if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) |
| await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}; |
| } |
| } |
| static method main() → dynamic {} |