blob: bb96ac54ba933071cdda94b547c944a774357261 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "const_lib.dart" as con;
import "dart:core" as core;
import "org-dartlang-testcase:///const_lib.dart";
static const field con::B crossModule = #C3;
static method main() dynamic {
self::expect(2.71, #C3.{con::A::d}{core::double});
self::expect("default", #C3.{con::A::s}{core::String});
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
library /*isNonNullableByDefault*/;
import self as con;
import "dart:core" as core;
abstract class A extends core::Object /*hasConstConstructor*/ {
final field core::double d;
final field core::String s;
const constructor •({core::double d = #C4, core::String s = #C2}) → con::A
: con::A::d = d, con::A::s = s, super core::Object::•()
;
}
abstract class _B&A&M extends con::A implements con::M /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •({core::double d = #C4, core::String s = #C2}) → con::_B&A&M
: super con::A::•(d: d, s: s)
;
method m1() dynamic {}
}
class B extends con::_B&A&M /*hasConstConstructor*/ {
const constructor •({core::double d = #C1}) → con::B
: super con::_B&A&M::•(d: d)
;
}
abstract class M extends con::A /*isMixinDeclaration*/ {
method m1() dynamic {}
}
constants {
#C1 = 2.71
#C2 = "default"
#C3 = con::B {d:#C1, s:#C2}
#C4 = 3.14
}
Constructor coverage from constants:
org-dartlang-testcase:///main.dart:
- B. (from org-dartlang-testcase:///const_lib.dart:16:9)
- _B&A&M. (from org-dartlang-testcase:///const_lib.dart:15:7)
- A. (from org-dartlang-testcase:///const_lib.dart:6:9)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)