dart-sdk/tests/language/issue_25671b_test.dart
Johnni Winther 059f44aa3b Fix super noSuchMethod handling.
Closes #25680

- This CL fixes the handling of inapplicable noSuchMethod methods on superclasses (see issue 25671) for both SSA and CPS.
- The CPS implementation for normal noSuchMethod calls on super was wrong is fixed with this CL, including the addition the missing visitUnresolvedSuperSet method  on the SemanticSendVisitor.
- An error (presumably in type inference) affecting SSA was found with the added tests (Issue 25716 filed)

R=asgerf@google.com, het@google.com

Committed: 756d95a372

Reverted: a0d7b64fde

Review URL: https://codereview.chromium.org/1678053002.
2016-02-09 15:19:19 +01:00

22 lines
759 B
Dart

// Copyright (c) 2016, 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';
class A {
noSuchMethod() { /// 01: static type warning
throw new Exception( /// 01: continued
"Wrong noSuchMethod() should not be called"); /// 01: continued
} /// 01: continued
}
class C extends Object with A {
test() {
super.v = 1; /// 01: continued
}
}
main() {
C c = new C();
Expect.throws(() => c.test(), (e) => e is NoSuchMethodError); /// 01: continued
}