| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:16:14: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // var c1 = C.bar<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:18:18: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // var c2 = new C.bar<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:20:22: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // var c3 = C<String>.bar<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:22:26: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // var c4 = new C<String>.bar<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:25:16: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // const d1 = D.foo<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:27:22: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // const d2 = const D.foo<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:29:24: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // const d3 = D<String>.foo<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:31:30: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // const d4 = const D<String>.foo<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:34:16: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // var e1 = p.E.bar<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:36:20: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // var e2 = new p.E.bar<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:38:24: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // var e3 = p.E<String>.bar<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:40:28: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // var e4 = new p.E<String>.bar<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:43:18: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // const f1 = p.F.foo<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:45:24: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // const f2 = const p.F.foo<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:47:26: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // const f3 = p.F<String>.foo<int>(); |
| // ^^^ |
| // |
| // pkg/front_end/testcases/regress/issue_34403_2.dart:49:32: Error: A constructor invocation can't have type arguments after the constructor name. |
| // Try removing the type arguments or placing them after the class name. |
| // const f4 = const p.F<String>.foo<int>(); |
| // ^^^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| import "issue_34403_lib.dart" as iss; |
| |
| import "org-dartlang-testcase:///issue_34403_lib.dart" as p; |
| |
| class C<T extends core::Object? = dynamic> extends core::Object { |
| constructor bar() → self::C<self::C::T%> |
| : super core::Object::•() |
| ; |
| } |
| class D<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ { |
| const constructor foo() → self::D<self::D::T%> |
| : super core::Object::•() |
| ; |
| } |
| static method main() → dynamic { |
| self::C<core::int> c1 = new self::C::bar<core::int>(); |
| c1.{core::Object::toString}(){() → core::String}; |
| self::C<core::int> c2 = new self::C::bar<core::int>(); |
| c2.{core::Object::toString}(){() → core::String}; |
| self::C<core::int> c3 = new self::C::bar<core::int>(); |
| c3.{core::Object::toString}(){() → core::String}; |
| self::C<core::String> c4 = new self::C::bar<core::String>(); |
| c4.{core::Object::toString}(){() → core::String}; |
| #C1.{core::Object::toString}(){() → core::String}; |
| #C1.{core::Object::toString}(){() → core::String}; |
| #C1.{core::Object::toString}(){() → core::String}; |
| #C2.{core::Object::toString}(){() → core::String}; |
| iss::E<core::int> e1 = new iss::E::bar<core::int>(); |
| e1.{core::Object::toString}(){() → core::String}; |
| iss::E<dynamic> e2 = new iss::E::bar<dynamic>(); |
| e2.{core::Object::toString}(){() → core::String}; |
| iss::E<core::int> e3 = new iss::E::bar<core::int>(); |
| e3.{core::Object::toString}(){() → core::String}; |
| iss::E<core::String> e4 = new iss::E::bar<core::String>(); |
| e4.{core::Object::toString}(){() → core::String}; |
| #C3.{core::Object::toString}(){() → core::String}; |
| #C4.{core::Object::toString}(){() → core::String}; |
| #C3.{core::Object::toString}(){() → core::String}; |
| #C5.{core::Object::toString}(){() → core::String}; |
| } |
| |
| library /*isNonNullableByDefault*/; |
| import self as iss; |
| import "dart:core" as core; |
| |
| class E<T extends core::Object? = dynamic> extends core::Object { |
| constructor bar() → iss::E<iss::E::T%> |
| : super core::Object::•() |
| ; |
| } |
| class F<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ { |
| const constructor foo() → iss::F<iss::F::T%> |
| : super core::Object::•() |
| ; |
| } |
| |
| constants { |
| #C1 = self::D<core::int*> {} |
| #C2 = self::D<core::String*> {} |
| #C3 = iss::F<core::int*> {} |
| #C4 = iss::F<dynamic> {} |
| #C5 = iss::F<core::String*> {} |
| } |
| |
| |
| Constructor coverage from constants: |
| org-dartlang-testcase:///issue_34403_2.dart: |
| - D.foo (from org-dartlang-testcase:///issue_34403_2.dart:12:9) |
| - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9) |
| - F.foo (from org-dartlang-testcase:///issue_34403_lib.dart:12:9) |