| // Copyright (c) 2011, 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. |
| |
| /// @assertion It is a compile-time error if a built-in identifier is used as |
| /// the declared name of a prefix, class, type parameter or type alias. |
| /// @description Checks that when a built-in identifier is used in an identifier |
| /// reference, but since no declaration with that name can exist, lookup fails |
| /// eventually with the type of error depending on context. This test checks that |
| /// in a class instance scope, referencing a built-in identifier results in |
| /// a compile error |
| /// @author rodionov |
| |
| |
| class A { |
| test() { |
| abstract(); |
| // ^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_METHOD |
| // [cfe] The method 'abstract' isn't defined for the class 'A'. |
| 1 + as; |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'as' isn't defined for the class 'A'. |
| 1 << export; |
| // ^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'export' isn't defined for the class 'A'. |
| external ^ 0; |
| // ^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'external' isn't defined for the class 'A'. |
| 1 * factory; |
| // ^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'factory' isn't defined for the class 'A'. |
| 1 >= get; |
| // ^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'get' isn't defined for the class 'A'. |
| var x = implements; |
| // ^^^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'implements' isn't defined for the class 'A'. |
| 1 == import; |
| // ^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'import' isn't defined for the class 'A'. |
| 1 == library; |
| // ^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'library' isn't defined for the class 'A'. |
| operator.x; |
| // ^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'operator' isn't defined for the class 'A'. |
| 1 == part; |
| // ^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'part' isn't defined for the class 'A'. |
| --set; |
| // ^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| true && static; |
| // ^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER |
| // [cfe] The getter 'static' isn't defined for the class 'A'. |
| ++typedef; |
| // ^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| } |
| } |
| |
| main() { |
| new A().test(); |
| } |