// 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. // Checks that an overriding method has compatible parameters. abstract class I { m({a, b}); } abstract class J extends I {} abstract class K extends J { m({c, d}); // //# 00: compile-time error } class C implements I { m({a, b}) { print("$a $b"); } } class D extends C // //# 01: compile-time error implements I // //# 02: compile-time error implements J // //# 03: compile-time error { m({c, d}) { print("$c $d"); } } int main() { var c = new C(); c.m(a: "hello", b: "world"); var d = new D(); d.m(c: "hello", d: "world"); }