blob: 569b235267f8554bb2532b0b01162bde045ea99f [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extensions/extension_setter_error.dart:13:41: Error: A value of type 'GenericClass<int>' can't be assigned to a variable of type 'GenericClass<double>'.
// - 'GenericClass' is from 'pkg/front_end/testcases/extensions/extension_setter_error.dart'.
// Try changing the type of the left hand side, or casting the right hand side to 'GenericClass<double>'.
// expect(null, GenericExtension<double>(genericClass).setter = null);
// ^
//
import self as self;
import "dart:core" as core;
class GenericClass<T extends core::Object* = dynamic> extends core::Object {
synthetic constructor •() self::GenericClass<self::GenericClass::T*>*
: super core::Object::•()
;
}
extension GenericExtension<T extends core::Object* = dynamic> on self::GenericClass<T*>* {
set setter = self::GenericExtension|set#setter;
}
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
static method error() dynamic {
self::GenericClass<core::int*>* genericClass = new self::GenericClass::•<core::int*>();
self::expect(null, let final self::GenericClass<core::int*>* #t1 = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/extensions/extension_setter_error.dart:13:41: Error: A value of type 'GenericClass<int>' can't be assigned to a variable of type 'GenericClass<double>'.
- 'GenericClass' is from 'pkg/front_end/testcases/extensions/extension_setter_error.dart'.
Try changing the type of the left hand side, or casting the right hand side to 'GenericClass<double>'.
expect(null, GenericExtension<double>(genericClass).setter = null);
^" in genericClass as{TypeError} self::GenericClass<core::double*>* in let final core::Null? #t3 = null in let final void #t4 = self::GenericExtension|set#setter<core::double*>(#t1, #t3) in #t3);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!expected.{core::Object::==}(actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}