2d63f26ef5
This removes the @fields and @=fields canonical name encodings that allowed for encoding of conflicting members and didn't support field<->getter/setter conversion between dills or between outline and full dill. TEST=existing tests+add aot expectation tests Change-Id: I119b0c95f90e456356146cdc2d9241de4c1b4fff Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186680 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
117 lines
4.2 KiB
Plaintext
117 lines
4.2 KiB
Plaintext
library /*isNonNullableByDefault*/;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
import "main_lib.dart" as mai;
|
|
|
|
import "org-dartlang-testcase:///main_lib.dart";
|
|
|
|
class UnusedEnum extends core::Object /*isEnum*/ {
|
|
final field core::int index;
|
|
final field core::String _name;
|
|
static const field core::List<self::UnusedEnum> values = #C7;
|
|
static const field self::UnusedEnum a = #C3;
|
|
static const field self::UnusedEnum b = #C6;
|
|
const constructor •(core::int index, core::String _name) → self::UnusedEnum
|
|
: self::UnusedEnum::index = index, self::UnusedEnum::_name = _name, super core::Object::•()
|
|
;
|
|
method toString() → core::String
|
|
return this.{self::UnusedEnum::_name};
|
|
}
|
|
class UsedEnum extends core::Object /*isEnum*/ {
|
|
final field core::int index;
|
|
final field core::String _name;
|
|
static const field core::List<self::UsedEnum> values = #C12;
|
|
static const field self::UsedEnum unusedValue = #C9;
|
|
static const field self::UsedEnum usedValue = #C11;
|
|
const constructor •(core::int index, core::String _name) → self::UsedEnum
|
|
: self::UsedEnum::index = index, self::UsedEnum::_name = _name, super core::Object::•()
|
|
;
|
|
method toString() → core::String
|
|
return this.{self::UsedEnum::_name};
|
|
}
|
|
class UnusedInterface extends core::Object {
|
|
field core::int? usedInterfaceField;
|
|
constructor •(core::int? usedInterfaceField) → self::UnusedInterface
|
|
: self::UnusedInterface::usedInterfaceField = usedInterfaceField, super core::Object::•()
|
|
;
|
|
}
|
|
class UsedClass extends core::Object implements self::UnusedInterface {
|
|
field core::int? unusedField = null;
|
|
field core::int? usedField = null;
|
|
field core::int? usedInterfaceField = null;
|
|
synthetic constructor •() → self::UsedClass
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
class UnusedClass extends core::Object {
|
|
synthetic constructor •() → self::UnusedClass
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
static method usedMethod(self::UnusedInterface c) → dynamic {
|
|
c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
|
|
}
|
|
static method unusedMethod() → dynamic {}
|
|
static method main() → dynamic {
|
|
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
|
|
#t1.{self::UsedClass::usedField};
|
|
} =>#t1);
|
|
#C11;
|
|
core::List<self::UnusedEnum> list = <self::UnusedEnum>[];
|
|
if(list.{core::Iterable::isNotEmpty}) {
|
|
new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum);
|
|
}
|
|
}
|
|
|
|
library /*isNonNullableByDefault*/;
|
|
import self as mai;
|
|
import "dart:core" as core;
|
|
|
|
class ConstEnum extends core::Object /*isEnum*/ {
|
|
final field core::int index;
|
|
final field core::String _name;
|
|
static const field core::List<mai::ConstEnum> values = #C15;
|
|
static const field mai::ConstEnum value = #C14;
|
|
const constructor •(core::int index, core::String _name) → mai::ConstEnum
|
|
: mai::ConstEnum::index = index, mai::ConstEnum::_name = _name, super core::Object::•()
|
|
;
|
|
method toString() → core::String
|
|
return this.{mai::ConstEnum::_name};
|
|
}
|
|
class ConstClass extends core::Object {
|
|
synthetic constructor •() → mai::ConstClass
|
|
: super core::Object::•()
|
|
;
|
|
method method(mai::ConstEnum e) → core::int
|
|
return e.{mai::ConstEnum::index};
|
|
}
|
|
|
|
constants {
|
|
#C1 = 0
|
|
#C2 = "UnusedEnum.a"
|
|
#C3 = self::UnusedEnum {index:#C1, _name:#C2}
|
|
#C4 = 1
|
|
#C5 = "UnusedEnum.b"
|
|
#C6 = self::UnusedEnum {index:#C4, _name:#C5}
|
|
#C7 = <self::UnusedEnum*>[#C3, #C6]
|
|
#C8 = "UsedEnum.unusedValue"
|
|
#C9 = self::UsedEnum {index:#C1, _name:#C8}
|
|
#C10 = "UsedEnum.usedValue"
|
|
#C11 = self::UsedEnum {index:#C4, _name:#C10}
|
|
#C12 = <self::UsedEnum*>[#C9, #C11]
|
|
#C13 = "ConstEnum.value"
|
|
#C14 = mai::ConstEnum {index:#C1, _name:#C13}
|
|
#C15 = <mai::ConstEnum*>[#C14]
|
|
}
|
|
|
|
|
|
Constructor coverage from constants:
|
|
org-dartlang-testcase:///main_lib.dart:
|
|
- ConstEnum. (from org-dartlang-testcase:///main_lib.dart:5:6)
|
|
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
|
|
|
|
org-dartlang-testcase:///main.dart:
|
|
- UnusedEnum. (from org-dartlang-testcase:///main.dart:7:6)
|
|
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
|
|
- UsedEnum. (from org-dartlang-testcase:///main.dart:8:6)
|