|  | // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | // @dart = 2.9 | 
|  |  | 
|  | // Tests that malformed types used in extends, implements, and with clauses | 
|  | // cause compile-time errors. | 
|  |  | 
|  | class A<T> {} | 
|  |  | 
|  | class C | 
|  | extends Unresolved | 
|  | //      ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.EXTENDS_NON_CLASS | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | class C1 | 
|  | extends A<Unresolved> | 
|  | //        ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | class C2 | 
|  | //    ^ | 
|  | // [cfe] The type 'Unresolved' can't be mixed in. | 
|  | extends Object with Unresolved | 
|  | //                  ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.MIXIN_OF_NON_CLASS | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | class C3 | 
|  | extends Object with A<Unresolved> | 
|  | //                    ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | class C4 | 
|  | implements Unresolved | 
|  | //         ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.IMPLEMENTS_NON_CLASS | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | class C5 | 
|  | implements A<Unresolved> | 
|  | //           ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | class C6<A> | 
|  | extends A<int> | 
|  | //      ^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.EXTENDS_NON_CLASS | 
|  | // [cfe] Can't use type arguments with type variable 'A'. | 
|  | //      ^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS | 
|  | { | 
|  | } | 
|  |  | 
|  | class C7<A> | 
|  | extends A<Unresolved> | 
|  | //      ^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.EXTENDS_NON_CLASS | 
|  | // [cfe] Can't use type arguments with type variable 'A'. | 
|  | //      ^^^^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS | 
|  | //        ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | class C8<A> | 
|  | //    ^ | 
|  | // [cfe] The type 'A<int>' can't be mixed in. | 
|  | extends Object with A<int> | 
|  | //                  ^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.MIXIN_OF_NON_CLASS | 
|  | // [cfe] Can't use type arguments with type variable 'A'. | 
|  | //                  ^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS | 
|  | { | 
|  | } | 
|  |  | 
|  | class C9<A> | 
|  | //    ^ | 
|  | // [cfe] The type 'A<Unresolved>' can't be mixed in. | 
|  | extends Object with A<Unresolved> | 
|  | //                  ^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.MIXIN_OF_NON_CLASS | 
|  | // [cfe] Can't use type arguments with type variable 'A'. | 
|  | //                  ^^^^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS | 
|  | //                    ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | class C10<A> | 
|  | implements A<int> | 
|  | //         ^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.IMPLEMENTS_NON_CLASS | 
|  | // [cfe] Can't use type arguments with type variable 'A'. | 
|  | //         ^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS | 
|  | { | 
|  | } | 
|  |  | 
|  | class C11<A> | 
|  | implements A<Unresolved> | 
|  | //         ^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.IMPLEMENTS_NON_CLASS | 
|  | // [cfe] Can't use type arguments with type variable 'A'. | 
|  | //         ^^^^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS | 
|  | //           ^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT | 
|  | // [cfe] Type 'Unresolved' not found. | 
|  | { | 
|  | } | 
|  |  | 
|  | void main() { | 
|  | new C(); | 
|  | new C1(); | 
|  | new C2(); | 
|  | new C3(); | 
|  | new C4(); | 
|  | new C5(); | 
|  | new C6<Object>(); | 
|  | new C7<Object>(); | 
|  | new C8<Object>(); | 
|  | new C9<Object>(); | 
|  | new C10<Object>(); | 
|  | new C11<Object>(); | 
|  | } |