blob: 0611224cbbc33522d68bd8a93b02a59373938862 [file] [log] [blame]
// Copyright (c) 2013, 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.
// Test use of @proxy and noSuchMethod in relation to abstract methods in
// concrete classes.
abstract class A {
method6(); //# 06: static type warning
method7(); //# 07: static type warning
method8(); //# 08: ok
}
abstract class I {
method9(); //# 09: static type warning
method10(); //# 10: static type warning
method11(); //# 11: ok
}
@proxy //# 02: static type warning
@proxy //# 07: continued
@proxy //# 10: continued
class Class1 extends A implements I {
method1(); //# 01: static type warning
method2(); //# 02: continued
noSuchMethod(_) => null; //# 03: ok
method3(); //# 03: continued
noSuchMethod(_, [__]) => null; //# 04: ok
method4(); //# 04: continued
noSuchMethod(_); //# 05: ok
method5(); //# 05: continued
noSuchMethod(_) => null; //# 08: continued
noSuchMethod(_) => null; //# 11: continued
}
@proxy //# 12: static type warning
class B {
method12(); //# 12: continued
noSuchMethod(_) => null; //# 13: ok
method13(); //# 13: continued
}
class Class2 extends B {}
main() {
new Class1();
new Class2();
}