blob: 91908157b703ab58116059c5d9016ab2e9596b82 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/type_variable_bound_access.dart:22:36: Error: The getter 'length' isn't defined for the class 'num'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'length'.
// num method2() => field1 + field2.length;
// ^^^^^^
//
import self as self;
import "dart:core" as core;
class DynamicClass<T extends dynamic, S extends self::DynamicClass::T% = dynamic> extends core::Object {
covariant-by-class field self::DynamicClass::T% field1;
covariant-by-class field self::DynamicClass::T% field2;
constructor •(self::DynamicClass::T% field1, self::DynamicClass::T% field2) self::DynamicClass<self::DynamicClass::T%, self::DynamicClass::S%>
: self::DynamicClass::field1 = field1, self::DynamicClass::field2 = field2, super core::Object::•()
;
method method() dynamic
return this.{self::DynamicClass::field1}{self::DynamicClass::T%}{dynamic}.*(this.{self::DynamicClass::field2}{self::DynamicClass::T%});
}
class NumClass<T extends core::num, S extends self::NumClass::T = core::num> extends core::Object {
covariant-by-class field self::NumClass::T field1;
covariant-by-class field self::NumClass::S field2;
constructor •(self::NumClass::T field1, self::NumClass::S field2) self::NumClass<self::NumClass::T, self::NumClass::S>
: self::NumClass::field1 = field1, self::NumClass::field2 = field2, super core::Object::•()
;
method method1() core::num
return this.{self::NumClass::field1}{self::NumClass::T}.{core::num::*}(this.{self::NumClass::field2}{self::NumClass::S}){(core::num) core::num};
method method2() core::num
return this.{self::NumClass::field1}{self::NumClass::T}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/type_variable_bound_access.dart:22:36: Error: The getter 'length' isn't defined for the class 'num'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'length'.
num method2() => field1 + field2.length;
^^^^^^" in this.{self::NumClass::field2}{self::NumClass::S}{<unresolved>}.length as{TypeError,ForDynamic,ForNonNullableByDefault} core::num){(core::num) core::num};
}
class Class<X5 extends self::Class::X4 = core::int, X4 extends self::Class::X3 = core::int, X3 extends self::Class::X2 = core::int, X2 extends self::Class::X1 = core::int, X1 extends self::Class::X0 = core::int, X0 extends core::int> extends core::Object {
covariant-by-class field self::Class::X0 field0;
covariant-by-class field self::Class::X1 field1;
covariant-by-class field self::Class::X2 field2;
covariant-by-class field self::Class::X3 field3;
covariant-by-class field self::Class::X4 field4;
covariant-by-class field self::Class::X5 field5;
constructor •(self::Class::X0 field0, self::Class::X1 field1, self::Class::X2 field2, self::Class::X3 field3, self::Class::X4 field4, self::Class::X5 field5) self::Class<self::Class::X5, self::Class::X4, self::Class::X3, self::Class::X2, self::Class::X1, self::Class::X0>
: self::Class::field0 = field0, self::Class::field1 = field1, self::Class::field2 = field2, self::Class::field3 = field3, self::Class::field4 = field4, self::Class::field5 = field5, super core::Object::•()
;
method method() dynamic {
this.{self::Class::field0}{self::Class::X0}.{core::int::isEven}{core::bool};
this.{self::Class::field1}{self::Class::X1}.{core::int::isEven}{core::bool};
this.{self::Class::field2}{self::Class::X2}.{core::int::isEven}{core::bool};
this.{self::Class::field3}{self::Class::X3}.{core::int::isEven}{core::bool};
this.{self::Class::field4}{self::Class::X4}.{core::int::isEven}{core::bool};
this.{self::Class::field5}{self::Class::X5}.{core::int::isEven}{core::bool};
}
}
static method main() dynamic {
new self::DynamicClass::•<core::num, core::int>(0.5, 2).{self::DynamicClass::method}(){() dynamic};
new self::NumClass::•<core::num, core::double>(2, 0.5).{self::NumClass::method1}(){() core::num};
}