blob: d06a52c64f864de5b356a6f40b1e9cded4499dfb [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:26:5: Error: The method 'methodB' isn't defined for the class 'A'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodB'.
// a.methodB(); // Error
// ^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:27:5: Error: The method 'methodC1' isn't defined for the class 'A'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC1'.
// a.methodC1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:28:5: Error: The method 'methodC2' isn't defined for the class 'A'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
// a.methodC2(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:29:5: Error: The method 'methodD1' isn't defined for the class 'A'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
// a.methodD1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:31:6: Error: The method 'methodA' isn't defined for the class 'B<String>'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodA'.
// b1.methodA(); // Error
// ^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:32:6: Error: The method 'methodC1' isn't defined for the class 'B<String>'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC1'.
// b1.methodC1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:33:6: Error: The method 'methodC2' isn't defined for the class 'B<String>'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
// b1.methodC2(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:34:6: Error: The method 'methodD1' isn't defined for the class 'B<String>'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
// b1.methodD1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:36:6: Error: The method 'methodA' isn't defined for the class 'B<num>'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodA'.
// b2.methodA(); // Error
// ^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:37:6: Error: The method 'methodC1' isn't defined for the class 'B<num>'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC1'.
// b2.methodC1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:38:6: Error: The method 'methodC2' isn't defined for the class 'B<num>'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
// b2.methodC2(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:39:6: Error: The method 'methodD1' isn't defined for the class 'B<num>'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
// b2.methodD1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:41:6: Error: The method 'methodB' isn't defined for the class 'C1'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodB'.
// c1.methodB(); // Error
// ^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:42:6: Error: The method 'methodC2' isn't defined for the class 'C1'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
// c1.methodC2(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:43:6: Error: The method 'methodD1' isn't defined for the class 'C1'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
// c1.methodD1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:45:6: Error: The method 'methodC1' isn't defined for the class 'C2'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC1'.
// c2.methodC1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:46:6: Error: The method 'methodD1' isn't defined for the class 'C2'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
// c2.methodD1(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:48:6: Error: The method 'methodB' isn't defined for the class 'D1'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodB'.
// d1.methodB(); // Error
// ^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:49:6: Error: The method 'methodC2' isn't defined for the class 'D1'.
// Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
// d1.methodC2(); // Error
// ^^^^^^^^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:51:7: Error: A value of type 'B<String>' can't be assigned to a variable of type 'A'.
// a = b1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:52:7: Error: A value of type 'B<num>' can't be assigned to a variable of type 'A'.
// a = b2; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:54:8: Error: A value of type 'A' can't be assigned to a variable of type 'B<String>'.
// b1 = a; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:55:8: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<String>'.
// b1 = b2; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:56:8: Error: A value of type 'C1' can't be assigned to a variable of type 'B<String>'.
// b1 = c1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:57:8: Error: A value of type 'C2' can't be assigned to a variable of type 'B<String>'.
// b1 = c2; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:58:8: Error: A value of type 'D1' can't be assigned to a variable of type 'B<String>'.
// b1 = d1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:60:8: Error: A value of type 'A' can't be assigned to a variable of type 'B<num>'.
// b2 = a; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:61:8: Error: A value of type 'B<String>' can't be assigned to a variable of type 'B<num>'.
// b2 = b1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:62:8: Error: A value of type 'C1' can't be assigned to a variable of type 'B<num>'.
// b2 = c1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:63:8: Error: A value of type 'D1' can't be assigned to a variable of type 'B<num>'.
// b2 = d1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:65:8: Error: A value of type 'A' can't be assigned to a variable of type 'C1'.
// c1 = a; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:66:8: Error: A value of type 'B<String>' can't be assigned to a variable of type 'C1'.
// c1 = b1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:67:8: Error: A value of type 'B<num>' can't be assigned to a variable of type 'C1'.
// c1 = b2; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:68:8: Error: A value of type 'C2' can't be assigned to a variable of type 'C1'.
// c1 = c2; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:70:8: Error: A value of type 'A' can't be assigned to a variable of type 'C2'.
// c2 = a; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:71:8: Error: A value of type 'B<String>' can't be assigned to a variable of type 'C2'.
// c2 = b1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:72:8: Error: A value of type 'B<num>' can't be assigned to a variable of type 'C2'.
// c2 = b2; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:73:8: Error: A value of type 'C1' can't be assigned to a variable of type 'C2'.
// c2 = c1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:74:8: Error: A value of type 'D1' can't be assigned to a variable of type 'C2'.
// c2 = d1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:76:8: Error: A value of type 'A' can't be assigned to a variable of type 'D1'.
// d1 = a; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:77:8: Error: A value of type 'B<String>' can't be assigned to a variable of type 'D1'.
// d1 = b1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:78:8: Error: A value of type 'B<num>' can't be assigned to a variable of type 'D1'.
// d1 = b2; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:79:8: Error: A value of type 'C1' can't be assigned to a variable of type 'D1'.
// d1 = c1; // Error
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/implements.dart:80:8: Error: A value of type 'C2' can't be assigned to a variable of type 'D1'.
// d1 = c2; // Error
// ^
//
import self as self;
import "dart:core" as core;
extension type A(core::int it) {
method methodA = self::A|methodA;
tearoff methodA = self::A|get#methodA;
constructor = self::A|;
tearoff = self::A|_#new#tearOff;
}
extension type B<T extends core::Object? = dynamic>(T% it) {
method methodB = self::B|methodB;
tearoff methodB = self::B|get#methodB;
constructor = self::B|;
tearoff = self::B|_#new#tearOff;
}
extension type C1(core::int it) implements self::A /* = core::int */ {
method methodC1 = self::C1|methodC1;
tearoff methodC1 = self::C1|get#methodC1;
constructor = self::C1|;
tearoff = self::C1|_#new#tearOff;
}
extension type C2(core::int it) implements self::A /* = core::int */, self::B<core::int> /* = core::int */ {
method methodC2 = self::C2|methodC2;
tearoff methodC2 = self::C2|get#methodC2;
constructor = self::C2|;
tearoff = self::C2|_#new#tearOff;
}
extension type D1(core::int it) implements self::C1 /* = core::int */ {
method methodD1 = self::D1|methodD1;
tearoff methodD1 = self::D1|get#methodD1;
constructor = self::D1|;
tearoff = self::D1|_#new#tearOff;
}
static inline-class-member method A|(core::int it) self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = it;
return #this;
}
static inline-class-member method A|_#new#tearOff(core::int it) → self::A /* = core::int */
return self::A|(it);
static inline-class-member method A|methodA(lowered final self::A /* = core::int */ #this) → core::int
return (#this as{Unchecked} core::int).{core::num::+}(5){(core::num) core::int};
static inline-class-member method A|get#methodA(lowered final self::A /* = core::int */ #this) → () → core::int
return () core::int => self::A|methodA(#this);
static inline-class-member method B|<T extends core::Object? = dynamic>(self::B|::T% it) self::B<self::B|::T%> /* = self::B|::T% */ {
lowered final self::B<self::B|::T%> /* = self::B|::T% */ #this = it;
return #this;
}
static inline-class-member method B|_#new#tearOff<T extends core::Object? = dynamic>(self::B|_#new#tearOff::T% it) → self::B<self::B|_#new#tearOff::T%> /* = self::B|_#new#tearOff::T% */
return self::B|<self::B|_#new#tearOff::T%>(it);
static inline-class-member method B|methodB<T extends core::Object? = dynamic>(lowered final self::B<self::B|methodB::T%> /* = self::B|methodB::T% */ #this) → self::B|methodB::T%
return #this as{Unchecked} self::B|methodB::T%;
static inline-class-member method B|get#methodB<T extends core::Object? = dynamic>(lowered final self::B<self::B|get#methodB::T%> /* = self::B|get#methodB::T% */ #this) → () → self::B|get#methodB::T%
return () self::B|get#methodB::T% => self::B|methodB<self::B|get#methodB::T%>(#this);
static inline-class-member method C1|(core::int it) self::C1 /* = core::int */ {
lowered final self::C1 /* = core::int */ #this = it;
return #this;
}
static inline-class-member method C1|_#new#tearOff(core::int it) → self::C1 /* = core::int */
return self::C1|(it);
static inline-class-member method C1|methodC1(lowered final self::C1 /* = core::int */ #this) → core::int
return (#this as{Unchecked} core::int).{core::num::+}(42){(core::num) core::int};
static inline-class-member method C1|get#methodC1(lowered final self::C1 /* = core::int */ #this) → () → core::int
return () core::int => self::C1|methodC1(#this);
static inline-class-member method C2|(core::int it) self::C2 /* = core::int */ {
lowered final self::C2 /* = core::int */ #this = it;
return #this;
}
static inline-class-member method C2|_#new#tearOff(core::int it) → self::C2 /* = core::int */
return self::C2|(it);
static inline-class-member method C2|methodC2(lowered final self::C2 /* = core::int */ #this) → core::int
return (#this as{Unchecked} core::int).{core::num::+}(87){(core::num) core::int};
static inline-class-member method C2|get#methodC2(lowered final self::C2 /* = core::int */ #this) → () → core::int
return () core::int => self::C2|methodC2(#this);
static inline-class-member method D1|(core::int it) self::D1 /* = core::int */ {
lowered final self::D1 /* = core::int */ #this = it;
return #this;
}
static inline-class-member method D1|_#new#tearOff(core::int it) → self::D1 /* = core::int */
return self::D1|(it);
static inline-class-member method D1|methodD1(lowered final self::D1 /* = core::int */ #this) → core::int
return (#this as{Unchecked} core::int).{core::num::+}(123){(core::num) core::int};
static inline-class-member method D1|get#methodD1(lowered final self::D1 /* = core::int */ #this) → () → core::int
return () core::int => self::D1|methodD1(#this);
static method errors(self::A /* = core::int */ a, self::B<core::String> /* = core::String */ b1, self::B<core::num> /* = core::num */ b2, self::C1 /* = core::int */ c1, self::C2 /* = core::int */ c2, self::D1 /* = core::int */ d1) dynamic {
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:26:5: Error: The method 'methodB' isn't defined for the class 'A'.
Try correcting the name to the name of an existing method, or defining a method named 'methodB'.
a.methodB(); // Error
^^^^^^^" in a{<unresolved>}.methodB();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:27:5: Error: The method 'methodC1' isn't defined for the class 'A'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC1'.
a.methodC1(); // Error
^^^^^^^^" in a{<unresolved>}.methodC1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:28:5: Error: The method 'methodC2' isn't defined for the class 'A'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
a.methodC2(); // Error
^^^^^^^^" in a{<unresolved>}.methodC2();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:29:5: Error: The method 'methodD1' isn't defined for the class 'A'.
Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
a.methodD1(); // Error
^^^^^^^^" in a{<unresolved>}.methodD1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:31:6: Error: The method 'methodA' isn't defined for the class 'B<String>'.
Try correcting the name to the name of an existing method, or defining a method named 'methodA'.
b1.methodA(); // Error
^^^^^^^" in b1{<unresolved>}.methodA();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:32:6: Error: The method 'methodC1' isn't defined for the class 'B<String>'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC1'.
b1.methodC1(); // Error
^^^^^^^^" in b1{<unresolved>}.methodC1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:33:6: Error: The method 'methodC2' isn't defined for the class 'B<String>'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
b1.methodC2(); // Error
^^^^^^^^" in b1{<unresolved>}.methodC2();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:34:6: Error: The method 'methodD1' isn't defined for the class 'B<String>'.
Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
b1.methodD1(); // Error
^^^^^^^^" in b1{<unresolved>}.methodD1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:36:6: Error: The method 'methodA' isn't defined for the class 'B<num>'.
Try correcting the name to the name of an existing method, or defining a method named 'methodA'.
b2.methodA(); // Error
^^^^^^^" in b2{<unresolved>}.methodA();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:37:6: Error: The method 'methodC1' isn't defined for the class 'B<num>'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC1'.
b2.methodC1(); // Error
^^^^^^^^" in b2{<unresolved>}.methodC1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:38:6: Error: The method 'methodC2' isn't defined for the class 'B<num>'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
b2.methodC2(); // Error
^^^^^^^^" in b2{<unresolved>}.methodC2();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:39:6: Error: The method 'methodD1' isn't defined for the class 'B<num>'.
Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
b2.methodD1(); // Error
^^^^^^^^" in b2{<unresolved>}.methodD1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:41:6: Error: The method 'methodB' isn't defined for the class 'C1'.
Try correcting the name to the name of an existing method, or defining a method named 'methodB'.
c1.methodB(); // Error
^^^^^^^" in c1{<unresolved>}.methodB();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:42:6: Error: The method 'methodC2' isn't defined for the class 'C1'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
c1.methodC2(); // Error
^^^^^^^^" in c1{<unresolved>}.methodC2();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:43:6: Error: The method 'methodD1' isn't defined for the class 'C1'.
Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
c1.methodD1(); // Error
^^^^^^^^" in c1{<unresolved>}.methodD1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:45:6: Error: The method 'methodC1' isn't defined for the class 'C2'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC1'.
c2.methodC1(); // Error
^^^^^^^^" in c2{<unresolved>}.methodC1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:46:6: Error: The method 'methodD1' isn't defined for the class 'C2'.
Try correcting the name to the name of an existing method, or defining a method named 'methodD1'.
c2.methodD1(); // Error
^^^^^^^^" in c2{<unresolved>}.methodD1();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:48:6: Error: The method 'methodB' isn't defined for the class 'D1'.
Try correcting the name to the name of an existing method, or defining a method named 'methodB'.
d1.methodB(); // Error
^^^^^^^" in d1{<unresolved>}.methodB();
invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:49:6: Error: The method 'methodC2' isn't defined for the class 'D1'.
Try correcting the name to the name of an existing method, or defining a method named 'methodC2'.
d1.methodC2(); // Error
^^^^^^^^" in d1{<unresolved>}.methodC2();
a = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:51:7: Error: A value of type 'B<String>' can't be assigned to a variable of type 'A'.
a = b1; // Error
^" in b1 as{TypeError} self::A /* = core::int */;
a = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:52:7: Error: A value of type 'B<num>' can't be assigned to a variable of type 'A'.
a = b2; // Error
^" in b2 as{TypeError} self::A /* = core::int */;
b1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:54:8: Error: A value of type 'A' can't be assigned to a variable of type 'B<String>'.
b1 = a; // Error
^" in a as{TypeError} self::B<core::String> /* = core::String */;
b1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:55:8: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<String>'.
b1 = b2; // Error
^" in b2 as{TypeError} self::B<core::String> /* = core::String */;
b1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:56:8: Error: A value of type 'C1' can't be assigned to a variable of type 'B<String>'.
b1 = c1; // Error
^" in c1 as{TypeError} self::B<core::String> /* = core::String */;
b1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:57:8: Error: A value of type 'C2' can't be assigned to a variable of type 'B<String>'.
b1 = c2; // Error
^" in c2 as{TypeError} self::B<core::String> /* = core::String */;
b1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:58:8: Error: A value of type 'D1' can't be assigned to a variable of type 'B<String>'.
b1 = d1; // Error
^" in d1 as{TypeError} self::B<core::String> /* = core::String */;
b2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:60:8: Error: A value of type 'A' can't be assigned to a variable of type 'B<num>'.
b2 = a; // Error
^" in a as{TypeError} self::B<core::num> /* = core::num */;
b2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:61:8: Error: A value of type 'B<String>' can't be assigned to a variable of type 'B<num>'.
b2 = b1; // Error
^" in b1 as{TypeError} self::B<core::num> /* = core::num */;
b2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:62:8: Error: A value of type 'C1' can't be assigned to a variable of type 'B<num>'.
b2 = c1; // Error
^" in c1 as{TypeError} self::B<core::num> /* = core::num */;
b2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:63:8: Error: A value of type 'D1' can't be assigned to a variable of type 'B<num>'.
b2 = d1; // Error
^" in d1 as{TypeError} self::B<core::num> /* = core::num */;
c1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:65:8: Error: A value of type 'A' can't be assigned to a variable of type 'C1'.
c1 = a; // Error
^" in a as{TypeError} self::C1 /* = core::int */;
c1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:66:8: Error: A value of type 'B<String>' can't be assigned to a variable of type 'C1'.
c1 = b1; // Error
^" in b1 as{TypeError} self::C1 /* = core::int */;
c1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:67:8: Error: A value of type 'B<num>' can't be assigned to a variable of type 'C1'.
c1 = b2; // Error
^" in b2 as{TypeError} self::C1 /* = core::int */;
c1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:68:8: Error: A value of type 'C2' can't be assigned to a variable of type 'C1'.
c1 = c2; // Error
^" in c2 as{TypeError} self::C1 /* = core::int */;
c2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:70:8: Error: A value of type 'A' can't be assigned to a variable of type 'C2'.
c2 = a; // Error
^" in a as{TypeError} self::C2 /* = core::int */;
c2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:71:8: Error: A value of type 'B<String>' can't be assigned to a variable of type 'C2'.
c2 = b1; // Error
^" in b1 as{TypeError} self::C2 /* = core::int */;
c2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:72:8: Error: A value of type 'B<num>' can't be assigned to a variable of type 'C2'.
c2 = b2; // Error
^" in b2 as{TypeError} self::C2 /* = core::int */;
c2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:73:8: Error: A value of type 'C1' can't be assigned to a variable of type 'C2'.
c2 = c1; // Error
^" in c1 as{TypeError} self::C2 /* = core::int */;
c2 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:74:8: Error: A value of type 'D1' can't be assigned to a variable of type 'C2'.
c2 = d1; // Error
^" in d1 as{TypeError} self::C2 /* = core::int */;
d1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:76:8: Error: A value of type 'A' can't be assigned to a variable of type 'D1'.
d1 = a; // Error
^" in a as{TypeError} self::D1 /* = core::int */;
d1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:77:8: Error: A value of type 'B<String>' can't be assigned to a variable of type 'D1'.
d1 = b1; // Error
^" in b1 as{TypeError} self::D1 /* = core::int */;
d1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:78:8: Error: A value of type 'B<num>' can't be assigned to a variable of type 'D1'.
d1 = b2; // Error
^" in b2 as{TypeError} self::D1 /* = core::int */;
d1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:79:8: Error: A value of type 'C1' can't be assigned to a variable of type 'D1'.
d1 = c1; // Error
^" in c1 as{TypeError} self::D1 /* = core::int */;
d1 = invalid-expression "pkg/front_end/testcases/inline_class/extension_types/implements.dart:80:8: Error: A value of type 'C2' can't be assigned to a variable of type 'D1'.
d1 = c2; // Error
^" in c2 as{TypeError} self::D1 /* = core::int */;
}
static method method(self::A /* = core::int */ a, self::B<core::String> /* = core::String */ b1, self::B<core::num> /* = core::num */ b2, self::C1 /* = core::int */ c1, self::C2 /* = core::int */ c2, self::D1 /* = core::int */ d1) dynamic {
self::expect(0.{core::num::+}(5){(core::num) core::int}, self::A|methodA(a));
self::expect("0", self::B|methodB<core::String>(b1));
self::expect(1.{core::num::+}(0){(core::num) core::int}, self::B|methodB<core::num>(b2));
self::expect(2.{core::num::+}(5){(core::num) core::int}, self::A|methodA(c1));
self::expect(2.{core::num::+}(42){(core::num) core::int}, self::C1|methodC1(c1));
self::expect(3.{core::num::+}(5){(core::num) core::int}, self::A|methodA(c2));
self::expect(3, self::B|methodB<core::int>(c2));
self::expect(3.{core::num::+}(87){(core::num) core::int}, self::C2|methodC2(c2));
self::expect(4.{core::num::+}(5){(core::num) core::int}, self::A|methodA(d1));
self::expect(4.{core::num::+}(42){(core::num) core::int}, self::C1|methodC1(d1));
self::expect(4.{core::num::+}(123){(core::num) core::int}, self::D1|methodD1(d1));
a = a;
a = c1;
a = c2;
a = d1;
b1 = b1;
b2 = b2;
b2 = c2;
c1 = c1;
c1 = d1;
c2 = c2;
d1 = d1;
}
static method main() dynamic {
self::method(self::A|(0), self::B|<core::String>("0"), self::B|<core::num>(1), self::C1|(2), self::C2|(3), self::D1|(4));
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual)) {
throw "Expected ${expected}, actual ${actual}";
}
}