874710bdf3
Change-Id: I5c87f431bae49471908a96fbbfe8b1f4d3098c6b Reviewed-on: https://dart-review.googlesource.com/c/81822 Commit-Queue: Peter von der Ahé <ahe@google.com> Auto-Submit: Peter von der Ahé <ahe@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
82 lines
2.7 KiB
Plaintext
82 lines
2.7 KiB
Plaintext
library;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class Foo extends core::Object {
|
|
synthetic constructor •() → self::Foo
|
|
: super core::Object::•()
|
|
;
|
|
method instanceMethod() → dynamic {
|
|
return 123;
|
|
}
|
|
}
|
|
abstract class ExternalValue extends core::Object {
|
|
synthetic constructor •() → self::ExternalValue
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
abstract class Bar extends core::Object {
|
|
synthetic constructor •() → self::Bar
|
|
: super core::Object::•()
|
|
;
|
|
abstract method externalInstanceMethod() → self::ExternalValue;
|
|
}
|
|
class Box extends core::Object {
|
|
field dynamic field = null;
|
|
synthetic constructor •() → self::Box
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
class FinalBox extends core::Object {
|
|
final field dynamic finalField;
|
|
constructor •(dynamic finalField) → self::FinalBox
|
|
: self::FinalBox::finalField = finalField, super core::Object::•()
|
|
;
|
|
}
|
|
class SubFinalBox extends self::FinalBox {
|
|
constructor •(dynamic value) → self::SubFinalBox
|
|
: super self::FinalBox::•(value)
|
|
;
|
|
}
|
|
class DynamicReceiver1 extends core::Object {
|
|
synthetic constructor •() → self::DynamicReceiver1
|
|
: super core::Object::•()
|
|
;
|
|
method dynamicallyCalled(dynamic x) → dynamic {}
|
|
}
|
|
class DynamicReceiver2 extends core::Object {
|
|
synthetic constructor •() → self::DynamicReceiver2
|
|
: super core::Object::•()
|
|
;
|
|
method dynamicallyCalled(dynamic x) → dynamic {}
|
|
}
|
|
static method staticMethod() → dynamic {
|
|
return "sdfg";
|
|
}
|
|
external static abstract method externalStatic() → core::bool;
|
|
external static abstract method createBar() → self::Bar;
|
|
static method stringArgument(dynamic x) → dynamic {}
|
|
static method intArgument(dynamic x) → dynamic {}
|
|
static method makeDynamicCall(dynamic receiver) → void {
|
|
receiver.dynamicallyCalled("sdfg");
|
|
}
|
|
static method main() → dynamic {
|
|
dynamic x = self::staticMethod();
|
|
dynamic y = new self::Foo::•().{self::Foo::instanceMethod}();
|
|
core::bool z = self::externalStatic();
|
|
self::ExternalValue w = self::createBar().{self::Bar::externalInstanceMethod}();
|
|
self::stringArgument("sdfg");
|
|
self::intArgument(42);
|
|
self::Box box = new self::Box::•();
|
|
box.{self::Box::field} = "sdfg";
|
|
dynamic a = box.{self::Box::field};
|
|
self::FinalBox finalBox = new self::FinalBox::•("dfg");
|
|
dynamic b = finalBox.{self::FinalBox::finalField};
|
|
self::SubFinalBox subBox = new self::SubFinalBox::•("dfg");
|
|
dynamic c = subBox.{self::FinalBox::finalField};
|
|
self::makeDynamicCall(new self::DynamicReceiver1::•());
|
|
self::makeDynamicCall(new self::DynamicReceiver2::•());
|
|
core::List<core::String> list = <core::String>["string"];
|
|
core::String d = list.{core::List::[]}(0);
|
|
}
|