| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/extension_types/const_constructor.dart:16:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected. |
| // Try using a constructor or factory that is 'const'. |
| // const Class.named(42); // Error |
| // ^^^^^ |
| // |
| // pkg/front_end/testcases/extension_types/const_constructor.dart:17:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected. |
| // Try using a constructor or factory that is 'const'. |
| // const Class.fact(87); // Error |
| // ^^^^^ |
| // |
| // pkg/front_end/testcases/extension_types/const_constructor.dart:18:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected. |
| // Try using a constructor or factory that is 'const'. |
| // const Class.redirect2(87); // Error |
| // ^^^^^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| extension type Class(core::int i) { |
| abstract extension-type-member representation-field get i() → core::int; |
| constructor • = self::Class|constructor#; |
| constructor tearoff • = self::Class|constructor#_#new#tearOff; |
| constructor named = self::Class|constructor#named; |
| constructor tearoff named = self::Class|constructor#_#named#tearOff; |
| static redirecting-factory redirect = self::Class|constructor#redirect; |
| static redirecting-factory tearoff redirect = self::Class|constructor#_#redirect#tearOff; |
| static factory fact = self::Class|constructor#fact; |
| static factory tearoff fact = self::Class|constructor#_#fact#tearOff; |
| static redirecting-factory redirect2 = self::Class|constructor#redirect2; |
| static redirecting-factory tearoff redirect2 = self::Class|constructor#_#redirect2#tearOff; |
| } |
| static extension-type-member method Class|constructor#(core::int i) → self::Class% /* erasure=core::int, declared=! */ { |
| lowered final self::Class% /* erasure=core::int, declared=! */ #this = i; |
| return #this; |
| } |
| static extension-type-member method Class|constructor#_#new#tearOff(core::int i) → self::Class% /* erasure=core::int, declared=! */ |
| return self::Class|constructor#(i); |
| static extension-type-member method Class|constructor#named(core::int i) → self::Class% /* erasure=core::int, declared=! */ { |
| lowered final self::Class% /* erasure=core::int, declared=! */ #this = i; |
| return #this; |
| } |
| static extension-type-member method Class|constructor#_#named#tearOff(core::int i) → self::Class% /* erasure=core::int, declared=! */ |
| return self::Class|constructor#named(i); |
| static extension-type-member method Class|constructor#redirect(core::int i) → self::Class% /* erasure=core::int, declared=! */ /* redirection-target: self::Class|constructor# */ |
| return self::Class|constructor#(i); |
| static extension-type-member method Class|constructor#_#redirect#tearOff(core::int i) → self::Class% /* erasure=core::int, declared=! */ |
| return self::Class|constructor#(i); |
| static extension-type-member method Class|constructor#fact(core::int i) → self::Class% /* erasure=core::int, declared=! */ |
| return self::Class|constructor#(i); |
| static extension-type-member method Class|constructor#_#fact#tearOff(core::int i) → self::Class% /* erasure=core::int, declared=! */ |
| return self::Class|constructor#fact(i); |
| static extension-type-member method Class|constructor#redirect2(core::int i) → self::Class% /* erasure=core::int, declared=! */ /* redirection-target: self::Class|constructor# */ |
| return self::Class|constructor#(i); |
| static extension-type-member method Class|constructor#_#redirect2#tearOff(core::int i) → self::Class% /* erasure=core::int, declared=! */ |
| return self::Class|constructor#(i); |
| static method test() → dynamic { |
| invalid-expression "pkg/front_end/testcases/extension_types/const_constructor.dart:16:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected. |
| Try using a constructor or factory that is 'const'. |
| const Class.named(42); // Error |
| ^^^^^"; |
| invalid-expression "pkg/front_end/testcases/extension_types/const_constructor.dart:17:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected. |
| Try using a constructor or factory that is 'const'. |
| const Class.fact(87); // Error |
| ^^^^^"; |
| invalid-expression "pkg/front_end/testcases/extension_types/const_constructor.dart:18:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected. |
| Try using a constructor or factory that is 'const'. |
| const Class.redirect2(87); // Error |
| ^^^^^"; |
| } |
| static method main() → dynamic { |
| self::expect(42, #C1); |
| self::expect(87, #C2); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, actual ${actual}"; |
| } |
| |
| constants { |
| #C1 = 42 |
| #C2 = 87 |
| } |