library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:12:26: Error: Superclass has no constructor named 'Super'.
//   Class.constructor1() : super();
//                          ^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:13:26: Error: Superclass has no constructor named 'Super.unresolved'.
//   Class.constructor2() : super.unresolved();
//                          ^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:14:26: Error: Couldn't find constructor 'Class'.
//   Class.constructor3() : this();
//                          ^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:15:26: Error: Couldn't find constructor 'Class.unresolved'.
//   Class.constructor4() : this.unresolved();
//                          ^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:23:3: Error: Method not found: 'UnresolvedClass'.
//   UnresolvedClass();
//   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:24:7: Error: Couldn't find constructor 'UnresolvedClass'.
//   new UnresolvedClass();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:25:9: Error: Couldn't find constructor 'UnresolvedClass'.
//   const UnresolvedClass();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:27:3: Error: Undefined name 'UnresolvedClass'.
//   UnresolvedClass.unresolvedConstructor();
//   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:28:7: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
//   new UnresolvedClass.unresolvedConstructor();
//       ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:29:9: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
//   const UnresolvedClass.unresolvedConstructor();
//         ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:30:3: Error: Undefined name 'UnresolvedClass'.
//   UnresolvedClass /**/ .unresolvedConstructor();
//   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:31:7: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
//   new UnresolvedClass. /**/ unresolvedConstructor();
//       ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:32:9: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
//   const UnresolvedClass /**/ .unresolvedConstructor();
//         ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:34:3: Error: Undefined name 'unresolved_prefix'.
//   unresolved_prefix.UnresolvedClass();
//   ^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:35:7: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
//   new unresolved_prefix.UnresolvedClass();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:36:9: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
//   const unresolved_prefix.UnresolvedClass();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:37:3: Error: Undefined name 'unresolved_prefix'.
//   unresolved_prefix. /**/ UnresolvedClass();
//   ^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:38:7: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
//   new unresolved_prefix /**/ .UnresolvedClass();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:39:9: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
//   const unresolved_prefix. /**/ UnresolvedClass();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:41:3: Error: Undefined name 'unresolved_prefix'.
//   unresolved_prefix.UnresolvedClass.unresolvedConstructor();
//   ^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:42:41: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
//   new unresolved_prefix.UnresolvedClass.unresolvedConstructor();
//                                         ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:43:43: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
//   const unresolved_prefix.UnresolvedClass.unresolvedConstructor();
//                                           ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:44:3: Error: Undefined name 'unresolved_prefix'.
//   unresolved_prefix /**/ .UnresolvedClass.unresolvedConstructor();
//   ^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:45:47: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
//   new unresolved_prefix.UnresolvedClass /**/ .unresolvedConstructor();
//                                               ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:46:55: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
//   const unresolved_prefix. /**/ UnresolvedClass. /**/ unresolvedConstructor();
//                                                       ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:48:3: Error: Method not found: 'UnresolvedClass'.
//   UnresolvedClass<int>();
//   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:49:7: Error: Couldn't find constructor 'UnresolvedClass'.
//   new UnresolvedClass<int>();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:50:9: Error: Couldn't find constructor 'UnresolvedClass'.
//   const UnresolvedClass<int>();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:51:3: Error: Method not found: 'UnresolvedClass'.
//   UnresolvedClass /**/ <int>();
//   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:52:7: Error: Couldn't find constructor 'UnresolvedClass'.
//   new UnresolvedClass<int> /**/ ();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:53:9: Error: Couldn't find constructor 'UnresolvedClass'.
//   const UnresolvedClass /**/ <int>();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:55:3: Error: Couldn't find constructor 'UnresolvedClass'.
//   UnresolvedClass<int>.unresolvedConstructor();
//   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:56:7: Error: Couldn't find constructor 'UnresolvedClass'.
//   new UnresolvedClass<int>.unresolvedConstructor();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:57:9: Error: Couldn't find constructor 'UnresolvedClass'.
//   const UnresolvedClass<int>.unresolvedConstructor();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:58:3: Error: Couldn't find constructor 'UnresolvedClass'.
//   UnresolvedClass /**/ <int>.unresolvedConstructor();
//   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:59:7: Error: Couldn't find constructor 'UnresolvedClass'.
//   new UnresolvedClass<int> /**/ .unresolvedConstructor();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:60:9: Error: Couldn't find constructor 'UnresolvedClass'.
//   const UnresolvedClass<int>. /**/ unresolvedConstructor();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:62:3: Error: Undefined name 'unresolved_prefix'.
//   unresolved_prefix.UnresolvedClass<int>();
//   ^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:63:7: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
//   new unresolved_prefix.UnresolvedClass<int>();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:64:9: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
//   const unresolved_prefix.UnresolvedClass<int>();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:65:3: Error: Undefined name 'unresolved_prefix'.
//   unresolved_prefix /**/ .UnresolvedClass<int>();
//   ^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:66:7: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
//   new unresolved_prefix.UnresolvedClass /**/ <int>();
//       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:67:9: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
//   const unresolved_prefix.UnresolvedClass<int> /**/ ();
//         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:69:3: Error: Undefined name 'unresolved_prefix'.
//   unresolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
//   ^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:69:42: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
//   unresolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
//                                          ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:70:46: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
//   new unresolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
//                                              ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:71:48: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
//   const unresolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
//                                                ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:72:3: Error: Undefined name 'unresolved_prefix'.
//   unresolved_prefix /**/ .UnresolvedClass<int>.unresolvedConstructor();
//   ^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:72:48: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
//   unresolved_prefix /**/ .UnresolvedClass<int>.unresolvedConstructor();
//                                                ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:73:52: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
//   new unresolved_prefix.UnresolvedClass /**/ <int>.unresolvedConstructor();
//                                                    ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:74:54: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
//   const unresolved_prefix.UnresolvedClass<int>. /**/ unresolvedConstructor();
//                                                      ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:76:3: Error: Couldn't find constructor 'ResolvedClass'.
//   ResolvedClass();
//   ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:77:7: Error: Couldn't find constructor 'ResolvedClass'.
//   new ResolvedClass();
//       ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:78:9: Error: Couldn't find constructor 'ResolvedClass'.
//   const ResolvedClass();
//         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:80:17: Error: Member not found: 'ResolvedClass.unresolvedConstructor'.
//   ResolvedClass.unresolvedConstructor();
//                 ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:81:21: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   new ResolvedClass.unresolvedConstructor();
//                     ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:82:23: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   const ResolvedClass.unresolvedConstructor();
//                       ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:83:23: Error: Member not found: 'ResolvedClass.unresolvedConstructor'.
//   ResolvedClass /**/ .unresolvedConstructor();
//                       ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:84:27: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   new ResolvedClass. /**/ unresolvedConstructor();
//                           ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:85:29: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   const ResolvedClass /**/ .unresolvedConstructor();
//                             ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:87:19: Error: Method not found: 'UnresolvedClass'.
//   resolved_prefix.UnresolvedClass();
//                   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:88:23: Error: Couldn't find constructor 'UnresolvedClass'.
//   new resolved_prefix.UnresolvedClass();
//                       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:89:25: Error: Couldn't find constructor 'UnresolvedClass'.
//   const resolved_prefix.UnresolvedClass();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:90:25: Error: Method not found: 'UnresolvedClass'.
//   resolved_prefix. /**/ UnresolvedClass();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:91:29: Error: Couldn't find constructor 'UnresolvedClass'.
//   new resolved_prefix /**/ .UnresolvedClass();
//                             ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:92:31: Error: Couldn't find constructor 'UnresolvedClass'.
//   const resolved_prefix. /**/ UnresolvedClass();
//                               ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:94:19: Error: Couldn't find constructor 'ResolvedClass'.
//   resolved_prefix.ResolvedClass();
//                   ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:95:7: Error: Couldn't find constructor 'ResolvedClass'.
//   new resolved_prefix.ResolvedClass();
//       ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:96:9: Error: Couldn't find constructor 'ResolvedClass'.
//   const resolved_prefix.ResolvedClass();
//         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:97:25: Error: Couldn't find constructor 'ResolvedClass'.
//   resolved_prefix. /**/ ResolvedClass();
//                         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:98:7: Error: Couldn't find constructor 'ResolvedClass'.
//   new resolved_prefix /**/ .ResolvedClass();
//       ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:99:9: Error: Couldn't find constructor 'ResolvedClass'.
//   const resolved_prefix. /**/ ResolvedClass();
//         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:101:19: Error: Undefined name 'UnresolvedClass'.
//   resolved_prefix.UnresolvedClass.unresolvedConstructor();
//                   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:102:23: Error: Couldn't find constructor 'UnresolvedClass'.
//   new resolved_prefix.UnresolvedClass.unresolvedConstructor();
//                       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:103:25: Error: Couldn't find constructor 'UnresolvedClass'.
//   const resolved_prefix.UnresolvedClass.unresolvedConstructor();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:104:25: Error: Undefined name 'UnresolvedClass'.
//   resolved_prefix /**/ .UnresolvedClass.unresolvedConstructor();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:105:23: Error: Couldn't find constructor 'UnresolvedClass'.
//   new resolved_prefix.UnresolvedClass /**/ .unresolvedConstructor();
//                       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:106:31: Error: Couldn't find constructor 'UnresolvedClass'.
//   const resolved_prefix. /**/ UnresolvedClass. /**/ unresolvedConstructor();
//                               ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:108:33: Error: Member not found: 'ResolvedClass.unresolvedConstructor'.
//   resolved_prefix.ResolvedClass.unresolvedConstructor();
//                                 ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:109:37: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   new resolved_prefix.ResolvedClass.unresolvedConstructor();
//                                     ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:110:39: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   const resolved_prefix.ResolvedClass.unresolvedConstructor();
//                                       ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:111:39: Error: Member not found: 'ResolvedClass.unresolvedConstructor'.
//   resolved_prefix /**/ .ResolvedClass.unresolvedConstructor();
//                                       ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:112:43: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   new resolved_prefix.ResolvedClass /**/ .unresolvedConstructor();
//                                           ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:113:51: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   const resolved_prefix. /**/ ResolvedClass. /**/ unresolvedConstructor();
//                                                   ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:115:3: Error: Couldn't find constructor 'ResolvedClass'.
//   ResolvedClass<int>();
//   ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:116:7: Error: Couldn't find constructor 'ResolvedClass'.
//   new ResolvedClass<int>();
//       ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:117:9: Error: Couldn't find constructor 'ResolvedClass'.
//   const ResolvedClass<int>();
//         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:118:3: Error: Couldn't find constructor 'ResolvedClass'.
//   ResolvedClass /**/ <int>();
//   ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:119:7: Error: Couldn't find constructor 'ResolvedClass'.
//   new ResolvedClass /**/ <int>();
//       ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:120:9: Error: Couldn't find constructor 'ResolvedClass'.
//   const ResolvedClass /**/ <int>();
//         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:122:22: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   ResolvedClass<int>.unresolvedConstructor();
//                      ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:123:26: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   new ResolvedClass<int>.unresolvedConstructor();
//                          ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:124:28: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   const ResolvedClass<int>.unresolvedConstructor();
//                            ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:125:28: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   ResolvedClass<int> /**/ .unresolvedConstructor();
//                            ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:126:32: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   new ResolvedClass<int>. /**/ unresolvedConstructor();
//                                ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:127:34: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   const ResolvedClass /**/ <int>.unresolvedConstructor();
//                                  ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:129:19: Error: Method not found: 'UnresolvedClass'.
//   resolved_prefix.UnresolvedClass<int>();
//                   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:130:23: Error: Couldn't find constructor 'UnresolvedClass'.
//   new resolved_prefix.UnresolvedClass<int>();
//                       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:131:25: Error: Couldn't find constructor 'UnresolvedClass'.
//   const resolved_prefix.UnresolvedClass<int>();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:132:25: Error: Method not found: 'UnresolvedClass'.
//   resolved_prefix. /**/ UnresolvedClass<int>();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:133:23: Error: Couldn't find constructor 'UnresolvedClass'.
//   new resolved_prefix.UnresolvedClass /**/ <int>();
//                       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:134:25: Error: Couldn't find constructor 'UnresolvedClass'.
//   const resolved_prefix.UnresolvedClass<int> /**/ ();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:136:19: Error: Couldn't find constructor 'ResolvedClass'.
//   resolved_prefix.ResolvedClass<int>();
//                   ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:137:7: Error: Couldn't find constructor 'ResolvedClass'.
//   new resolved_prefix.ResolvedClass<int>();
//       ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:138:9: Error: Couldn't find constructor 'ResolvedClass'.
//   const resolved_prefix.ResolvedClass<int>();
//         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:139:25: Error: Couldn't find constructor 'ResolvedClass'.
//   resolved_prefix. /**/ ResolvedClass<int>();
//                         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:140:7: Error: Couldn't find constructor 'ResolvedClass'.
//   new resolved_prefix.ResolvedClass /**/ <int>();
//       ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:141:9: Error: Couldn't find constructor 'ResolvedClass'.
//   const resolved_prefix.ResolvedClass<int> /**/ ();
//         ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:143:19: Error: Couldn't find constructor 'UnresolvedClass'.
//   resolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
//                   ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:144:23: Error: Couldn't find constructor 'UnresolvedClass'.
//   new resolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
//                       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:145:25: Error: Couldn't find constructor 'UnresolvedClass'.
//   const resolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:146:25: Error: Couldn't find constructor 'UnresolvedClass'.
//   resolved_prefix /**/ .UnresolvedClass<int>.unresolvedConstructor();
//                         ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:147:23: Error: Couldn't find constructor 'UnresolvedClass'.
//   new resolved_prefix.UnresolvedClass<int> /**/ .unresolvedConstructor();
//                       ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:149:14: Error: Couldn't find constructor 'UnresolvedClass'.
//       . /**/ UnresolvedClass<int>. /**/ unresolvedConstructor();
//              ^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:151:38: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   resolved_prefix.ResolvedClass<int>.unresolvedConstructor();
//                                      ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:152:42: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   new resolved_prefix.ResolvedClass<int>.unresolvedConstructor();
//                                          ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:153:44: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   const resolved_prefix.ResolvedClass<int>.unresolvedConstructor();
//                                            ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:154:44: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   resolved_prefix /**/ .ResolvedClass<int>.unresolvedConstructor();
//                                            ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:155:48: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   new resolved_prefix.ResolvedClass<int> /**/ .unresolvedConstructor();
//                                                ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:156:56: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
//   const resolved_prefix. /**/ ResolvedClass<int>. /**/ unresolvedConstructor();
//                                                        ^^^^^^^^^^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;

import "org-dartlang-testcase:///unresolved_constructor_invocation.dart" as resolved_prefix;

class Super extends core::Object {
  constructor named() → self::Super
    : super core::Object::•()
    ;
}
class Class extends self::Super {
  constructor constructor1() → self::Class
    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:12:26: Error: Superclass has no constructor named 'Super'.
  Class.constructor1() : super();
                         ^^^^^"
    ;
  constructor constructor2() → self::Class
    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:13:26: Error: Superclass has no constructor named 'Super.unresolved'.
  Class.constructor2() : super.unresolved();
                         ^^^^^"
    ;
  constructor constructor3() → self::Class
    : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:14:26: Error: Couldn't find constructor 'Class'.
  Class.constructor3() : this();
                         ^^^^"
    ;
  constructor constructor4() → self::Class
    : final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:15:26: Error: Couldn't find constructor 'Class.unresolved'.
  Class.constructor4() : this.unresolved();
                         ^^^^"
    ;
}
class ResolvedClass<T extends core::Object? = dynamic> extends core::Object {
  constructor named() → self::ResolvedClass<self::ResolvedClass::T%>
    : super core::Object::•()
    ;
}
static method test() → dynamic {
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:23:3: Error: Method not found: 'UnresolvedClass'.
  UnresolvedClass();
  ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:24:7: Error: Couldn't find constructor 'UnresolvedClass'.
  new UnresolvedClass();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:25:9: Error: Couldn't find constructor 'UnresolvedClass'.
  const UnresolvedClass();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:27:3: Error: Undefined name 'UnresolvedClass'.
  UnresolvedClass.unresolvedConstructor();
  ^^^^^^^^^^^^^^^"{dynamic}.unresolvedConstructor();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:28:7: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
  new UnresolvedClass.unresolvedConstructor();
      ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:29:9: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
  const UnresolvedClass.unresolvedConstructor();
        ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:30:3: Error: Undefined name 'UnresolvedClass'.
  UnresolvedClass /**/ .unresolvedConstructor();
  ^^^^^^^^^^^^^^^"{dynamic}.unresolvedConstructor();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:31:7: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
  new UnresolvedClass. /**/ unresolvedConstructor();
      ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:32:9: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
  const UnresolvedClass /**/ .unresolvedConstructor();
        ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:34:3: Error: Undefined name 'unresolved_prefix'.
  unresolved_prefix.UnresolvedClass();
  ^^^^^^^^^^^^^^^^^"{dynamic}.UnresolvedClass();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:35:7: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
  new unresolved_prefix.UnresolvedClass();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:36:9: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
  const unresolved_prefix.UnresolvedClass();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:37:3: Error: Undefined name 'unresolved_prefix'.
  unresolved_prefix. /**/ UnresolvedClass();
  ^^^^^^^^^^^^^^^^^"{dynamic}.UnresolvedClass();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:38:7: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
  new unresolved_prefix /**/ .UnresolvedClass();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:39:9: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
  const unresolved_prefix. /**/ UnresolvedClass();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:41:3: Error: Undefined name 'unresolved_prefix'.
  unresolved_prefix.UnresolvedClass.unresolvedConstructor();
  ^^^^^^^^^^^^^^^^^"{<invalid>}.UnresolvedClass{dynamic}.unresolvedConstructor();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:42:41: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
  new unresolved_prefix.UnresolvedClass.unresolvedConstructor();
                                        ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:43:43: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
  const unresolved_prefix.UnresolvedClass.unresolvedConstructor();
                                          ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:44:3: Error: Undefined name 'unresolved_prefix'.
  unresolved_prefix /**/ .UnresolvedClass.unresolvedConstructor();
  ^^^^^^^^^^^^^^^^^"{<invalid>}.UnresolvedClass{dynamic}.unresolvedConstructor();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:45:47: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
  new unresolved_prefix.UnresolvedClass /**/ .unresolvedConstructor();
                                              ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:46:55: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
  const unresolved_prefix. /**/ UnresolvedClass. /**/ unresolvedConstructor();
                                                      ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:48:3: Error: Method not found: 'UnresolvedClass'.
  UnresolvedClass<int>();
  ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:49:7: Error: Couldn't find constructor 'UnresolvedClass'.
  new UnresolvedClass<int>();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:50:9: Error: Couldn't find constructor 'UnresolvedClass'.
  const UnresolvedClass<int>();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:51:3: Error: Method not found: 'UnresolvedClass'.
  UnresolvedClass /**/ <int>();
  ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:52:7: Error: Couldn't find constructor 'UnresolvedClass'.
  new UnresolvedClass<int> /**/ ();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:53:9: Error: Couldn't find constructor 'UnresolvedClass'.
  const UnresolvedClass /**/ <int>();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:55:3: Error: Couldn't find constructor 'UnresolvedClass'.
  UnresolvedClass<int>.unresolvedConstructor();
  ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:56:7: Error: Couldn't find constructor 'UnresolvedClass'.
  new UnresolvedClass<int>.unresolvedConstructor();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:57:9: Error: Couldn't find constructor 'UnresolvedClass'.
  const UnresolvedClass<int>.unresolvedConstructor();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:58:3: Error: Couldn't find constructor 'UnresolvedClass'.
  UnresolvedClass /**/ <int>.unresolvedConstructor();
  ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:59:7: Error: Couldn't find constructor 'UnresolvedClass'.
  new UnresolvedClass<int> /**/ .unresolvedConstructor();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:60:9: Error: Couldn't find constructor 'UnresolvedClass'.
  const UnresolvedClass<int>. /**/ unresolvedConstructor();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:62:3: Error: Undefined name 'unresolved_prefix'.
  unresolved_prefix.UnresolvedClass<int>();
  ^^^^^^^^^^^^^^^^^"{dynamic}.UnresolvedClass<core::int>();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:63:7: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
  new unresolved_prefix.UnresolvedClass<int>();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:64:9: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
  const unresolved_prefix.UnresolvedClass<int>();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:65:3: Error: Undefined name 'unresolved_prefix'.
  unresolved_prefix /**/ .UnresolvedClass<int>();
  ^^^^^^^^^^^^^^^^^"{dynamic}.UnresolvedClass<core::int>();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:66:7: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
  new unresolved_prefix.UnresolvedClass /**/ <int>();
      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:67:9: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass'.
  const unresolved_prefix.UnresolvedClass<int> /**/ ();
        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:69:42: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
  unresolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
                                         ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:70:46: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
  new unresolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
                                             ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:71:48: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
  const unresolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
                                               ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:72:48: Error: Couldn't find constructor 'UnresolvedClass.unresolvedConstructor'.
  unresolved_prefix /**/ .UnresolvedClass<int>.unresolvedConstructor();
                                               ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:73:52: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
  new unresolved_prefix.UnresolvedClass /**/ <int>.unresolvedConstructor();
                                                   ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:74:54: Error: Couldn't find constructor 'unresolved_prefix.UnresolvedClass.unresolvedConstructor'.
  const unresolved_prefix.UnresolvedClass<int>. /**/ unresolvedConstructor();
                                                     ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:76:3: Error: Couldn't find constructor 'ResolvedClass'.
  ResolvedClass();
  ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:77:7: Error: Couldn't find constructor 'ResolvedClass'.
  new ResolvedClass();
      ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:78:9: Error: Couldn't find constructor 'ResolvedClass'.
  const ResolvedClass();
        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:80:17: Error: Member not found: 'ResolvedClass.unresolvedConstructor'.
  ResolvedClass.unresolvedConstructor();
                ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:81:21: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  new ResolvedClass.unresolvedConstructor();
                    ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:82:23: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  const ResolvedClass.unresolvedConstructor();
                      ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:83:23: Error: Member not found: 'ResolvedClass.unresolvedConstructor'.
  ResolvedClass /**/ .unresolvedConstructor();
                      ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:84:27: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  new ResolvedClass. /**/ unresolvedConstructor();
                          ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:85:29: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  const ResolvedClass /**/ .unresolvedConstructor();
                            ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:87:19: Error: Method not found: 'UnresolvedClass'.
  resolved_prefix.UnresolvedClass();
                  ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:88:23: Error: Couldn't find constructor 'UnresolvedClass'.
  new resolved_prefix.UnresolvedClass();
                      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:89:25: Error: Couldn't find constructor 'UnresolvedClass'.
  const resolved_prefix.UnresolvedClass();
                        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:90:25: Error: Method not found: 'UnresolvedClass'.
  resolved_prefix. /**/ UnresolvedClass();
                        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:91:29: Error: Couldn't find constructor 'UnresolvedClass'.
  new resolved_prefix /**/ .UnresolvedClass();
                            ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:92:31: Error: Couldn't find constructor 'UnresolvedClass'.
  const resolved_prefix. /**/ UnresolvedClass();
                              ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:94:19: Error: Couldn't find constructor 'ResolvedClass'.
  resolved_prefix.ResolvedClass();
                  ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:95:7: Error: Couldn't find constructor 'ResolvedClass'.
  new resolved_prefix.ResolvedClass();
      ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:96:9: Error: Couldn't find constructor 'ResolvedClass'.
  const resolved_prefix.ResolvedClass();
        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:97:25: Error: Couldn't find constructor 'ResolvedClass'.
  resolved_prefix. /**/ ResolvedClass();
                        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:98:7: Error: Couldn't find constructor 'ResolvedClass'.
  new resolved_prefix /**/ .ResolvedClass();
      ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:99:9: Error: Couldn't find constructor 'ResolvedClass'.
  const resolved_prefix. /**/ ResolvedClass();
        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:101:19: Error: Undefined name 'UnresolvedClass'.
  resolved_prefix.UnresolvedClass.unresolvedConstructor();
                  ^^^^^^^^^^^^^^^"{dynamic}.unresolvedConstructor();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:102:23: Error: Couldn't find constructor 'UnresolvedClass'.
  new resolved_prefix.UnresolvedClass.unresolvedConstructor();
                      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:103:25: Error: Couldn't find constructor 'UnresolvedClass'.
  const resolved_prefix.UnresolvedClass.unresolvedConstructor();
                        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:104:25: Error: Undefined name 'UnresolvedClass'.
  resolved_prefix /**/ .UnresolvedClass.unresolvedConstructor();
                        ^^^^^^^^^^^^^^^"{dynamic}.unresolvedConstructor();
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:105:23: Error: Couldn't find constructor 'UnresolvedClass'.
  new resolved_prefix.UnresolvedClass /**/ .unresolvedConstructor();
                      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:106:31: Error: Couldn't find constructor 'UnresolvedClass'.
  const resolved_prefix. /**/ UnresolvedClass. /**/ unresolvedConstructor();
                              ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:108:33: Error: Member not found: 'ResolvedClass.unresolvedConstructor'.
  resolved_prefix.ResolvedClass.unresolvedConstructor();
                                ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:109:37: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  new resolved_prefix.ResolvedClass.unresolvedConstructor();
                                    ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:110:39: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  const resolved_prefix.ResolvedClass.unresolvedConstructor();
                                      ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:111:39: Error: Member not found: 'ResolvedClass.unresolvedConstructor'.
  resolved_prefix /**/ .ResolvedClass.unresolvedConstructor();
                                      ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:112:43: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  new resolved_prefix.ResolvedClass /**/ .unresolvedConstructor();
                                          ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:113:51: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  const resolved_prefix. /**/ ResolvedClass. /**/ unresolvedConstructor();
                                                  ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:115:3: Error: Couldn't find constructor 'ResolvedClass'.
  ResolvedClass<int>();
  ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:116:7: Error: Couldn't find constructor 'ResolvedClass'.
  new ResolvedClass<int>();
      ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:117:9: Error: Couldn't find constructor 'ResolvedClass'.
  const ResolvedClass<int>();
        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:118:3: Error: Couldn't find constructor 'ResolvedClass'.
  ResolvedClass /**/ <int>();
  ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:119:7: Error: Couldn't find constructor 'ResolvedClass'.
  new ResolvedClass /**/ <int>();
      ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:120:9: Error: Couldn't find constructor 'ResolvedClass'.
  const ResolvedClass /**/ <int>();
        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:122:22: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  ResolvedClass<int>.unresolvedConstructor();
                     ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:123:26: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  new ResolvedClass<int>.unresolvedConstructor();
                         ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:124:28: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  const ResolvedClass<int>.unresolvedConstructor();
                           ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:125:28: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  ResolvedClass<int> /**/ .unresolvedConstructor();
                           ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:126:32: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  new ResolvedClass<int>. /**/ unresolvedConstructor();
                               ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:127:34: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  const ResolvedClass /**/ <int>.unresolvedConstructor();
                                 ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:129:19: Error: Method not found: 'UnresolvedClass'.
  resolved_prefix.UnresolvedClass<int>();
                  ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:130:23: Error: Couldn't find constructor 'UnresolvedClass'.
  new resolved_prefix.UnresolvedClass<int>();
                      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:131:25: Error: Couldn't find constructor 'UnresolvedClass'.
  const resolved_prefix.UnresolvedClass<int>();
                        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:132:25: Error: Method not found: 'UnresolvedClass'.
  resolved_prefix. /**/ UnresolvedClass<int>();
                        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:133:23: Error: Couldn't find constructor 'UnresolvedClass'.
  new resolved_prefix.UnresolvedClass /**/ <int>();
                      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:134:25: Error: Couldn't find constructor 'UnresolvedClass'.
  const resolved_prefix.UnresolvedClass<int> /**/ ();
                        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:136:19: Error: Couldn't find constructor 'ResolvedClass'.
  resolved_prefix.ResolvedClass<int>();
                  ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:137:7: Error: Couldn't find constructor 'ResolvedClass'.
  new resolved_prefix.ResolvedClass<int>();
      ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:138:9: Error: Couldn't find constructor 'ResolvedClass'.
  const resolved_prefix.ResolvedClass<int>();
        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:139:25: Error: Couldn't find constructor 'ResolvedClass'.
  resolved_prefix. /**/ ResolvedClass<int>();
                        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:140:7: Error: Couldn't find constructor 'ResolvedClass'.
  new resolved_prefix.ResolvedClass /**/ <int>();
      ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:141:9: Error: Couldn't find constructor 'ResolvedClass'.
  const resolved_prefix.ResolvedClass<int> /**/ ();
        ^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:143:19: Error: Couldn't find constructor 'UnresolvedClass'.
  resolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
                  ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:144:23: Error: Couldn't find constructor 'UnresolvedClass'.
  new resolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
                      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:145:25: Error: Couldn't find constructor 'UnresolvedClass'.
  const resolved_prefix.UnresolvedClass<int>.unresolvedConstructor();
                        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:146:25: Error: Couldn't find constructor 'UnresolvedClass'.
  resolved_prefix /**/ .UnresolvedClass<int>.unresolvedConstructor();
                        ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:147:23: Error: Couldn't find constructor 'UnresolvedClass'.
  new resolved_prefix.UnresolvedClass<int> /**/ .unresolvedConstructor();
                      ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:149:14: Error: Couldn't find constructor 'UnresolvedClass'.
      . /**/ UnresolvedClass<int>. /**/ unresolvedConstructor();
             ^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:151:38: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  resolved_prefix.ResolvedClass<int>.unresolvedConstructor();
                                     ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:152:42: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  new resolved_prefix.ResolvedClass<int>.unresolvedConstructor();
                                         ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:153:44: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  const resolved_prefix.ResolvedClass<int>.unresolvedConstructor();
                                           ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:154:44: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  resolved_prefix /**/ .ResolvedClass<int>.unresolvedConstructor();
                                           ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:155:48: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  new resolved_prefix.ResolvedClass<int> /**/ .unresolvedConstructor();
                                               ^^^^^^^^^^^^^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/general/unresolved_constructor_invocation.dart:156:56: Error: Couldn't find constructor 'ResolvedClass.unresolvedConstructor'.
  const resolved_prefix. /**/ ResolvedClass<int>. /**/ unresolvedConstructor();
                                                       ^^^^^^^^^^^^^^^^^^^^^";
}
static method main() → dynamic {}
