Index: tests/language/prefix_unqualified_invocation_test.dart |
diff --git a/tests/language/prefix_unqualified_invocation_test.dart b/tests/language/prefix_unqualified_invocation_test.dart |
index 29eebb94d96f12ff9470c631c0e2c3221aaa2af3..020ca3e53190ea0a3c2a2b2e7e279d90b6e09f1b 100644 |
--- a/tests/language/prefix_unqualified_invocation_test.dart |
+++ b/tests/language/prefix_unqualified_invocation_test.dart |
@@ -2,44 +2,28 @@ |
// 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. |
-// Validate that an attempt to invoke a prefix is handled consistently with the |
-// following spec text from section 16.14.3 (Unqualified invocation): |
+// 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 isa local function, a library function, a library or static |
-// getter or a variable then ... |
-// - Otherwise, if fid is a static method of the enclosing class C, ... |
-// - Otherwise, fid is considered equivalent to the ordinary method |
-// invocation this.id(a1, ..., an, xn+1 : an+1, ..., xn+k : an+k). |
-// |
-// Therefore, if p is an import prefix, evaluation of "p()" should be |
-// equivalent to "this.p()". That is, it should call the method "p" |
-// dynamically if inside a method, and should produce a NoSucMethodError (and a |
-// static warning) outside a method. |
+// innermost such declaration. Then: |
+// - If fid is a prefix object, a compile-time error occurs. |
-import "package:expect/expect.dart"; |
import "empty_library.dart" as p; |
class Base { |
- var pCalled = false; |
- |
- void p() { |
- pCalled = true; |
- } |
+ void p() {} |
} |
class Derived extends Base { |
void f() { |
- p(); Expect.isTrue(pCalled); /// 01: ok |
+ p(); /// 01: compile-time error |
} |
} |
-noMethod(e) => e is NoSuchMethodError; |
- |
main() { |
new Derived().f(); |
- Expect.throws(() { p(); }, noMethod); /// 02: static type warning |
+ p(); /// 02: compile-time error |
} |