blob: 714c6fb36a7038a8653cc46ab4ac9ef2a2df4e64 [file] [log] [blame]
// 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 An unqualified function 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 local function, a library function, a library or static getter
* or a variable then i is interpreted as a function expression invocation.
* . . .
* @description Checks that if fid is a library getter,
* then i is interpreted as a function expression invocation.
* @author msyabro
*/
import '../../../../Utils/expect.dart';
get m {
return (p1, p2) {
Expect.equals("a", p1);
Expect.equals(1, p2);
return '$p1$p2';
};
}
get n {
return "a1";
}
class A {
test() {
Expect.equals("a1", m("a", 1));
try {
n("a", 1);
Expect.fail("NoSuchMethodError expected");
} on NoSuchMethodError catch (ok) {}
}
}
main() {
new A().test();
}