blob: faf298aadf37363ffe2521ead2f26425d2e696d7 [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.
// @dart = 2.9
import 'package:expect/expect.dart';
class A {
foo(required1, {named1: 499}) => -(required1 + named1 * 3);
bar(required1, required2, {named1: 13, named2: 17}) =>
-(required1 + required2 * 3 + named1 * 5 + named2 * 7);
gee({named1: 31}) => -named1;
}
class B extends A {
foo(
//^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
// [cfe] The method 'B.foo' has fewer named arguments than those of overridden method 'A.foo'.
required1
/*
,
{named1: 499}
*/
) {
return required1;
}
bar(required1, required2,
//^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
// [cfe] The method 'B.bar' has fewer named arguments than those of overridden method 'A.bar'.
{named1: 13
/*
,
named2: 17
*/
}) {
return required1 + required2 * 3 + named1 * 5;
}
gee(
//^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
// [cfe] The method 'B.gee' doesn't have the named parameter 'named1' of overridden method 'A.gee'.
{named2: 11
/*
,
named1: 31
*/
}) {
return named2 * 99;
}
}
main() {
// Ensure that compile-time errors are reached.
var b = new B();
b.foo(499);
b.bar(1, 3, named1: 5);
b.gee(named2: 3);
}