4b7d256a06
This reverts commite9ca6a5335andd3e00fd35e. Change-Id: I346d6156be19c4fceffa202a7ce9bfa931c7c14b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99560 Reviewed-by: Sigmund Cherem <sigmund@google.com> Reviewed-by: Vijay Menon <vsm@google.com> Reviewed-by: Siva Annamalai <asiva@google.com>
95 lines
4.2 KiB
Plaintext
95 lines
4.2 KiB
Plaintext
library;
|
|
//
|
|
// Problems in library:
|
|
//
|
|
// pkg/front_end/testcases/optional.dart:47:21: Error: The argument type 'InvalidListener' can't be assigned to the parameter type 'Listener'.
|
|
// - 'InvalidListener' is from 'pkg/front_end/testcases/optional.dart'.
|
|
// - 'Listener' is from 'pkg/front_end/testcases/optional.dart'.
|
|
// Try changing the type of the parameter, or casting the argument to 'Listener'.
|
|
// extern.listen(new InvalidListener());
|
|
// ^
|
|
//
|
|
// pkg/front_end/testcases/optional.dart:49:28: Error: Too few positional arguments: 1 required, 0 given.
|
|
// var nothing1 = foo.method();
|
|
// ^
|
|
//
|
|
// pkg/front_end/testcases/optional.dart:50:28: Error: Too many positional arguments: 3 allowed, but 4 found.
|
|
// Try removing the extra positional arguments.
|
|
// var nothing2 = foo.method(1, 2, 3, 4);
|
|
// ^
|
|
//
|
|
// pkg/front_end/testcases/optional.dart:51:39: Error: Too few positional arguments: 1 required, 0 given.
|
|
// var nothing3 = extern.externalMethod();
|
|
// ^
|
|
//
|
|
// pkg/front_end/testcases/optional.dart:52:39: Error: Too many positional arguments: 3 allowed, but 4 found.
|
|
// Try removing the extra positional arguments.
|
|
// var nothing4 = extern.externalMethod(1, 2, 3, 4);
|
|
// ^
|
|
//
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class Foo extends core::Object {
|
|
synthetic constructor •() → self::Foo
|
|
: super core::Object::•()
|
|
;
|
|
method method(dynamic x, [dynamic y = null, dynamic z = null]) → dynamic {
|
|
return "string";
|
|
}
|
|
}
|
|
abstract class External extends core::Object {
|
|
synthetic constructor •() → self::External
|
|
: super core::Object::•()
|
|
;
|
|
abstract method externalMethod(core::int x, [core::int y = null, core::int z = null]) → core::String;
|
|
abstract method listen(self::Listener listener) → void;
|
|
}
|
|
abstract class Listener extends core::Object {
|
|
synthetic constructor •() → self::Listener
|
|
: super core::Object::•()
|
|
;
|
|
abstract method event(core::String input, [core::int x = null, core::int y = null]) → void;
|
|
}
|
|
class TestListener extends self::Listener {
|
|
synthetic constructor •() → self::TestListener
|
|
: super self::Listener::•()
|
|
;
|
|
method event(core::String input, [core::int x = null, core::int y = null]) → void {}
|
|
}
|
|
class ExtendedListener extends self::Listener {
|
|
synthetic constructor •() → self::ExtendedListener
|
|
: super self::Listener::•()
|
|
;
|
|
method event(core::String input, [core::int x = null, core::int y = null, dynamic z = null]) → void {}
|
|
}
|
|
class InvalidListener extends core::Object {
|
|
synthetic constructor •() → self::InvalidListener
|
|
: super core::Object::•()
|
|
;
|
|
method event(dynamic input, [dynamic x = null]) → void {}
|
|
}
|
|
external static abstract method createExternal() → self::External;
|
|
static method main() → dynamic {
|
|
self::Foo foo = new self::Foo::•();
|
|
dynamic string1 = foo.{self::Foo::method}(1);
|
|
dynamic string2 = foo.{self::Foo::method}(1, 2);
|
|
dynamic string3 = foo.{self::Foo::method}(1, 2, 3);
|
|
self::External extern = self::createExternal();
|
|
core::String string4 = extern.{self::External::externalMethod}(1);
|
|
core::String string5 = extern.{self::External::externalMethod}(1, 2);
|
|
core::String string6 = extern.{self::External::externalMethod}(1, 2, 3);
|
|
extern.{self::External::listen}(new self::TestListener::•());
|
|
extern.{self::External::listen}(new self::ExtendedListener::•());
|
|
extern.{self::External::listen}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/optional.dart:47:21: Error: The argument type 'InvalidListener' can't be assigned to the parameter type 'Listener'.
|
|
- 'InvalidListener' is from 'pkg/front_end/testcases/optional.dart'.
|
|
- 'Listener' is from 'pkg/front_end/testcases/optional.dart'.
|
|
Try changing the type of the parameter, or casting the argument to 'Listener'.
|
|
extern.listen(new InvalidListener());
|
|
^" in new self::InvalidListener::•() as{TypeError} self::Listener);
|
|
dynamic nothing1 = foo.{self::Foo::method}();
|
|
dynamic nothing2 = foo.{self::Foo::method}(1, 2, 3, 4);
|
|
core::String nothing3 = extern.{self::External::externalMethod}();
|
|
core::String nothing4 = extern.{self::External::externalMethod}(1, 2, 3, 4);
|
|
}
|