blob: db02db7ac451bd0a2b71c9db0268d78b861fbced [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 The result of a lookup of method m in class C with respect to library L is:
* If C declares a concreate instance method named m that is accessible to L, then that
* method is the result of the lookup. Otherwise, if C has a superclass S, then
* the result of the lookup is the result of looking up m in S with respect to L.
* Otherwise, we say that the method lookup has failed.
* @description Checks that if class C declares an abstract instance method
* and has a superclass, then the result of lookup is the the result of
* lookup in the superclass.
* @author ilya
*/
import "../../../Utils/expect.dart";
class S {
int m() => 1;
}
class C extends S {
int m(); // static warning: abstract method in a concrete class
}
main() {
var o = new C();
Expect.equals(1, o.m());
}