| // Copyright (c) 2015, 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 |
| |
| // Validate the following spec text from section 16.14.3 (Unqualified |
| // invocation): |
| // An unqualifiedfunction invocation i has the form |
| // id(a1, ..., an, xn+1 : an+1, ..., xn+k : an+k), |
| // where id is an identifier. |
| // If there exists a lexically visible declaration named id, let fid be the |
| // innermost such declaration. Then: |
| // - If fid is a prefix object, a compile-time error occurs. |
| |
| import "empty_library.dart" as p; |
| |
| class Base { |
| void p() {} |
| } |
| |
| class Derived extends Base { |
| void f() { |
| p(); |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT |
| // [cfe] A prefix can't be used as an expression. |
| } |
| } |
| |
| main() { |
| new Derived().f(); |
| p(); |
| //^ |
| // [analyzer] COMPILE_TIME_ERROR.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT |
| // [cfe] A prefix can't be used as an expression. |
| } |