14011f47e3
They're back from the grave, and ready to party! Change-Id: I088134a9be7ecabf1fbf751c015a656a15cabff9 Reviewed-on: https://dart-review.googlesource.com/12821 Commit-Queue: Bob Nystrom <rnystrom@google.com> Reviewed-by: William Hesse <whesse@google.com>
103 lines
1.8 KiB
Dart
103 lines
1.8 KiB
Dart
// Copyright (c) 2012, 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.
|
|
|
|
import "package:expect/expect.dart";
|
|
|
|
// When attempting to call a nonexistent static method, getter or setter, check
|
|
// that a NoSuchMethodError is thrown.
|
|
|
|
class C {}
|
|
|
|
class D {
|
|
get hest => 1; // //# 04: continued
|
|
set hest(val) {} // //# 05: continued
|
|
}
|
|
|
|
get fisk => 2; //# 09: continued
|
|
set fisk(val) {} //# 10: continued
|
|
|
|
expectNsme([void fun()]) {
|
|
if (fun != null) {
|
|
Expect.throws(fun, (e) => e is NoSuchMethodError);
|
|
}
|
|
}
|
|
|
|
alwaysThrows() {
|
|
throw new NoSuchMethodError(null, const Symbol('foo'), [], {});
|
|
}
|
|
|
|
test01() {
|
|
C.hest = 1; // //# 01: static type warning
|
|
}
|
|
|
|
test02() {
|
|
C.hest; // //# 02: static type warning
|
|
}
|
|
|
|
test03() {
|
|
C.hest(); // //# 03: static type warning
|
|
}
|
|
|
|
test04() {
|
|
D.hest = 1; // //# 04: static type warning
|
|
}
|
|
|
|
test05() {
|
|
D.hest; // //# 05: static type warning
|
|
}
|
|
|
|
test06() {
|
|
fisk = 1; // //# 06: static type warning
|
|
}
|
|
|
|
test07() {
|
|
fisk; // //# 07: static type warning
|
|
}
|
|
|
|
test08() {
|
|
fisk(); // //# 08: static type warning
|
|
}
|
|
|
|
test09() {
|
|
fisk = 1; // //# 09: static type warning
|
|
}
|
|
|
|
test10() {
|
|
fisk; // //# 10: static type warning
|
|
}
|
|
|
|
main() {
|
|
expectNsme(alwaysThrows);
|
|
expectNsme(
|
|
test01 // //# 01: continued
|
|
);
|
|
expectNsme(
|
|
test02 // //# 02: continued
|
|
);
|
|
expectNsme(
|
|
test03 // //# 03: continued
|
|
);
|
|
expectNsme(
|
|
test04 // //# 04: continued
|
|
);
|
|
expectNsme(
|
|
test05 // //# 05: continued
|
|
);
|
|
expectNsme(
|
|
test06 // //# 06: continued
|
|
);
|
|
expectNsme(
|
|
test07 // //# 07: continued
|
|
);
|
|
expectNsme(
|
|
test08 // //# 08: continued
|
|
);
|
|
expectNsme(
|
|
test09 // //# 09: continued
|
|
);
|
|
expectNsme(
|
|
test10 // //# 10: continued
|
|
);
|
|
}
|