c1160d8cfa
Change-Id: Ied8777df13aa0411daf89f3ad3ec6bdda7bb4898 Reviewed-on: https://dart-review.googlesource.com/35862 Reviewed-by: Kevin Millikin <kmillikin@google.com> Commit-Queue: Jens Johansen <jensj@google.com>
82 lines
2.6 KiB
Plaintext
82 lines
2.6 KiB
Plaintext
library;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class Foo extends core::Object {
|
|
synthetic constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
method instanceMethod() → dynamic {
|
|
return 123;
|
|
}
|
|
}
|
|
abstract class ExternalValue extends core::Object {
|
|
synthetic constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
abstract class Bar extends core::Object {
|
|
synthetic constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
abstract method externalInstanceMethod() → self::ExternalValue;
|
|
}
|
|
class Box extends core::Object {
|
|
field dynamic field = null;
|
|
synthetic constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
class FinalBox extends core::Object {
|
|
final field dynamic finalField;
|
|
constructor •(dynamic finalField) → void
|
|
: self::FinalBox::finalField = finalField, super core::Object::•()
|
|
;
|
|
}
|
|
class SubFinalBox extends self::FinalBox {
|
|
constructor •(dynamic value) → void
|
|
: super self::FinalBox::•(value)
|
|
;
|
|
}
|
|
class DynamicReceiver1 extends core::Object {
|
|
synthetic constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
method dynamicallyCalled(dynamic x) → dynamic {}
|
|
}
|
|
class DynamicReceiver2 extends core::Object {
|
|
synthetic constructor •() → void
|
|
: 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);
|
|
}
|