blob: 62bff19b740fb64a3e3ce8355600ac1bebc81a9a [file] [log] [blame]
library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart:30:30: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
// . /*@target=A::value*/ value;
// ^
//
import self as self;
import "dart:core" as core;
import "infer_types_on_generic_instantiations_in_library_cycle_a.dart" as inf;
import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle_a.dart";
abstract class A<E extends core::Object* = dynamic> extends core::Object implements inf::I<self::A::E*> {
final field self::A::E* value = null;
const constructor •() self::A<self::A::E*>*
: super core::Object::•()
;
}
abstract class M extends core::Object {
final field core::int* y = 0;
synthetic constructor •() self::M*
: super core::Object::•()
;
}
class B<E extends core::Object* = dynamic> extends self::A<self::B::E*> implements self::M {
const constructor •() self::B<self::B::E*>*
: super self::A::•()
;
get y() core::int*
return 0;
method m(dynamic a, (dynamic, core::int*) →* dynamic f) self::A<self::B::E*>* {}
}
static method foo() dynamic {
core::int* y = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart:30:30: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
. /*@target=A::value*/ value;
^" in new self::B::•<core::String*>().{self::B::m}(null, null).{self::A::value} as{TypeError} core::int*;
core::String* z = new self::B::•<core::String*>().{self::B::m}(null, null).{self::A::value};
}
static method main() → dynamic {}
library;
import self as inf;
import "dart:core" as core;
import "infer_types_on_generic_instantiations_in_library_cycle.dart" as self;
import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle.dart";
abstract class I<E extends core::Object* = dynamic> extends core::Object {
synthetic constructor •() inf::I<inf::I::E*>*
: super core::Object::•()
;
abstract method m(dynamic a, (dynamic, core::int*) →* core::String* f) self::A<inf::I::E*>*;
}
static method main() dynamic {}