1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-03 08:19:13 +00:00

This is a trial submit of the unfork CL, it will be reverted immediately.

This commit is being done so we can roll it into Flutter and run some device lab testing to see the effect this CL will have on Flutter.

[BUILD] - Initial CL to unfork the NNBD Dart SDK

- Flips the flag from --nnbd to --no-nnbd so that by default it builds
  the NNBD version
- using the --no-nnbd flag results in the SDK being built in a
  directory which has the 'Legacy' suffix added to it
  (e.g: out/DebugX64Legacy)
- the '--enable-experiment=non-nullable' flag still needs to be passed
  in during execution so that CFE runs in that mode. This is different
  from the 'null_safety' flag

Change-Id: I83c813aee2a5b61ad876d8a7b0988705bb24c839
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144082
Reviewed-by: Siva Annamalai <asiva@google.com>
This commit is contained in:
asiva 2020-04-20 03:46:06 +00:00 committed by Siva Annamalai
parent 1c12bde2a9
commit 393468dc89
31 changed files with 2049 additions and 296 deletions

View File

@ -74,13 +74,13 @@ group("runtime_precompiled") {
]
}
if (use_nnbd) {
if (dont_use_nnbd) {
group("create_sdk") {
public_deps = [ "sdk_nnbd:create_sdk" ]
public_deps = [ "sdk:create_sdk" ]
}
} else {
group("create_sdk") {
public_deps = [ "sdk:create_sdk" ]
public_deps = [ "sdk_nnbd:create_sdk" ]
}
}

View File

@ -11,9 +11,7 @@ void main() {
group('migrate', defineMigrateTests, timeout: longTimeout);
}
// TODO(jcollins-g): Set to true and/or remove when when NNBD is enabled in the
// SDK running this test.
bool _nnbdIsEnabled = false;
bool _nnbdIsEnabled = true;
void defineMigrateTests() {
final didYouForgetToRunPubGet = contains('Did you forget to run "pub get"?');

View File

@ -75,7 +75,12 @@ class SourceToSummaryDillStep implements IOModularStep {
List<String> extraArgs;
if (module.isSdk) {
sources = ['dart:core'];
extraArgs = ['--libraries-file', '$rootScheme:///sdk/lib/libraries.json'];
extraArgs = [
'--libraries-file',
'$rootScheme:///sdk_nnbd/lib/libraries.json',
'--enable-experiment',
'non-nullable',
];
assert(transitiveDependencies.isEmpty);
} else {
sources = module.sources.map(sourceToImportUri).toList();
@ -149,7 +154,13 @@ class DDCStep implements IOModularStep {
List<String> extraArgs;
if (module.isSdk) {
sources = ['dart:core'];
extraArgs = ['--compile-sdk'];
extraArgs = [
'--compile-sdk',
'--libraries-file',
'$rootScheme:///sdk_nnbd/lib/libraries.json',
'--enable-experiment',
'non-nullable',
];
assert(transitiveDependencies.isEmpty);
} else {
var sdkModule = module.dependencies.firstWhere((m) => m.isSdk);
@ -229,6 +240,8 @@ class RunD8 implements IOModularStep {
var runjs = '''
import { dart, _isolate_helper } from 'dart_sdk.js';
import { main } from 'main.js';
// Run with weak null safety.
dart.strictSubtypeChecks(false);
_isolate_helper.startRootIsolate(() => {}, []);
main.main();
''';

View File

@ -468,15 +468,6 @@ class TestConfiguration {
var normal = '$result$arch';
var cross = '${result}X$arch';
// TODO(38701): When enabling the NNBD experiment, we need to use the
// forked version of the SDK core libraries that have NNBD support. Remove
// this once the forked SDK at `<repo>/sdk_nnbd` has been merged back with
// `<repo>/sdk`.
if (experiments.contains("non-nullable")) {
normal += "NNBD";
cross += "NNBD";
}
var outDir = system.outputDirectory;
var normalDir = Directory(Path('$outDir$normal').toNativePath());
var crossDir = Directory(Path('$outDir$cross').toNativePath());

View File

@ -259,6 +259,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class '_NamespaceImpl', script = '#lib'
extends dart:core::Object
implements [#lib::_Namespace]
@ -412,6 +452,46 @@ ConstantPool {
[3] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class '_Namespace', script = '#lib'
extends dart:core::Object
@ -485,6 +565,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'VMLibraryHooks', script = '#lib'
extends dart:core::Object
@ -585,6 +705,46 @@ ConstantPool {
[3] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'Stdin', script = '#lib'
extends dart:core::Object
@ -607,6 +767,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class '_StdIOUtils', script = '#lib'
extends dart:core::Object
@ -644,6 +844,46 @@ ConstantPool {
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
}
]library #lib from "#lib" as #lib {
@ -653,6 +893,16 @@ ConstantPool {
synthetic constructor •() → #lib::_ScheduleImmediate*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class _NamespaceImpl extends dart.core::Object implements #lib::_Namespace {
static field #lib::_NamespaceImpl* _cachedNamespace = null;
@ -669,13 +919,23 @@ ConstantPool {
#lib::_NamespaceImpl::_cachedNamespace = #lib::_NamespaceImpl::_create(new #lib::_NamespaceImpl::_(), namespace);
}
static get _namespace() → #lib::_NamespaceImpl* {
if(#lib::_NamespaceImpl::_cachedNamespace.{dart.core::Object::==}(null)) {
if(#lib::_NamespaceImpl::_cachedNamespace.{#lib::_NamespaceImpl::==}(null)) {
#lib::_NamespaceImpl::_cachedNamespace = #lib::_NamespaceImpl::_create(new #lib::_NamespaceImpl::_(), #lib::_NamespaceImpl::_getDefault());
}
return #lib::_NamespaceImpl::_cachedNamespace;
}
static get _namespacePointer() → dart.core::int*
return #lib::_NamespaceImpl::_getPointer(#lib::_NamespaceImpl::_namespace);
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class _Namespace extends dart.core::Object {
synthetic constructor •() → #lib::_Namespace*
@ -688,6 +948,16 @@ ConstantPool {
return #lib::_NamespaceImpl::_namespace;
static get _namespacePointer() → dart.core::int*
return #lib::_NamespaceImpl::_namespacePointer;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class VMLibraryHooks extends dart.core::Object {
static field dynamic timerFactory = null;
@ -714,11 +984,31 @@ ConstantPool {
}
return #lib::VMLibraryHooks::_cachedScript;
}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class Stdin extends dart.core::Object {
synthetic constructor •() → #lib::Stdin*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class _StdIOUtils extends dart.core::Object {
synthetic constructor •() → #lib::_StdIOUtils*
@ -726,6 +1016,16 @@ ConstantPool {
;
static method _getStdioInputStream(dart.core::int* fd) → #lib::Stdin*
return null;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
static field dart.core::int* _stdinFD = 0;
static field dart.core::int* _stdoutFD = 1;
@ -759,7 +1059,7 @@ ConstantPool {
#lib::VMLibraryHooks::platformScript = #C10;
}
static get stdin() → #lib::Stdin* {
#lib::_stdin.{dart.core::Object::==}(null) ?{#lib::Stdin*} #lib::_stdin = #lib::_StdIOUtils::_getStdioInputStream(#lib::_stdinFD) : null;
#lib::_stdin.{#lib::Stdin::==}(null) ?{#lib::Stdin*} #lib::_stdin = #lib::_StdIOUtils::_getStdioInputStream(#lib::_stdinFD) : null;
return #lib::_stdin;
}
static method main() → dynamic {}

View File

@ -383,6 +383,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C2', script = '#lib'
extends dart:core::Object
@ -405,6 +445,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C3', script = '#lib'
extends dart:core::Object
@ -427,6 +507,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C4', script = '#lib'
extends dart:core::Object
@ -449,6 +569,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C5', script = '#lib'
extends dart:core::Object
@ -471,6 +631,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C6', script = '#lib'
extends dart:core::Object
@ -493,6 +693,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C7', script = '#lib'
extends dart:core::Object
@ -515,6 +755,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C8', script = '#lib'
extends dart:core::Object
@ -537,6 +817,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'A', script = '#lib'
type-params <dart:core::Object T1, dart:core::Object T2> (args: 2)
extends dart:core::Object
@ -846,6 +1166,46 @@ ClosureCode {
ReturnTOS
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'B', script = '#lib'
extends dart:core::Object
@ -1101,6 +1461,46 @@ ClosureCode {
ReturnTOS
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C', script = '#lib'
extends dart:core::Object
@ -1380,6 +1780,46 @@ ClosureCode {
ReturnTOS
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'D', script = '#lib'
type-params <dart:core::Object T> (args: 1)
extends dart:core::Object
@ -1565,6 +2005,46 @@ ClosureCode {
ReturnTOS
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'E', script = '#lib', abstract
extends dart:core::Object
@ -1715,6 +2195,46 @@ ConstantPool {
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
}
]library #lib from "#lib" as #lib {
@ -1723,41 +2243,121 @@ ConstantPool {
synthetic constructor •() → #lib::C1*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C2 extends dart.core::Object {
synthetic constructor •() → #lib::C2*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C3 extends dart.core::Object {
synthetic constructor •() → #lib::C3*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C4 extends dart.core::Object {
synthetic constructor •() → #lib::C4*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C5 extends dart.core::Object {
synthetic constructor •() → #lib::C5*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C6 extends dart.core::Object {
synthetic constructor •() → #lib::C6*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C7 extends dart.core::Object {
synthetic constructor •() → #lib::C7*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C8 extends dart.core::Object {
synthetic constructor •() → #lib::C8*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class A<T1 extends dart.core::Object* = dynamic, T2 extends dart.core::Object* = dynamic> extends dart.core::Object {
synthetic constructor •() → #lib::A<#lib::A::T1*, #lib::A::T2*>*
@ -1778,6 +2378,16 @@ ConstantPool {
[@vm.call-site-attributes.metadata=receiverType:FunctionType(void Function<T5, T6>()*)] nested1.call<#lib::C5*, #lib::C6*>();
[@vm.call-site-attributes.metadata=receiverType:FunctionType(void Function<T5, T6>()*)] nested1.call<dart.core::List<#lib::C5*>*, dart.core::List<#lib::C6*>*>();
}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class B extends dart.core::Object {
field dart.core::int* foo = null;
@ -1817,6 +2427,16 @@ ConstantPool {
[@vm.call-site-attributes.metadata=receiverType:FunctionType(Null? Function()*)] closure3.call();
}
}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C extends dart.core::Object {
synthetic constructor •() → #lib::C*
@ -1848,6 +2468,16 @@ ConstantPool {
}
}
}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class D<T extends dart.core::Object* = dynamic> extends dart.core::Object {
synthetic constructor •() → #lib::D<#lib::D::T*>*
@ -1862,6 +2492,16 @@ ConstantPool {
[@vm.call-site-attributes.metadata=receiverType:FunctionType(Null? Function()*)] inner.call();
};
}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
abstract class E extends dart.core::Object {
field (dart.core::int*, dart.core::int*) →* dart.core::int* foo1 = null;
@ -1878,6 +2518,16 @@ ConstantPool {
return let final dart.core::int* #t3 = this.{#lib::E::evalArg1}() in let final dart.core::int* #t4 = this.{#lib::E::evalArg2}() in [@vm.call-site-attributes.metadata=receiverType:FunctionType(int* Function<T>(T*, T*)*)] this.{#lib::E::foo2}.call<dart.core::int*>(#t3, #t4);
method testCallThroughGetter3() → dart.core::int*
return let final #lib::E* #t5 = this.{#lib::E::getE}() in let final dart.core::int* #t6 = this.{#lib::E::evalArg1}() in let final dart.core::int* #t7 = this.{#lib::E::evalArg2}() in [@vm.call-site-attributes.metadata=receiverType:FunctionType(int* Function<T>(T*, T*)*)] #t5.{#lib::E::foo2}.call<dart.core::int*>(#t6, #t7);
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
static method simpleClosure() → dart.core::int* {
dart.core::int* x = 5;

View File

@ -159,6 +159,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'B', script = '#lib'
extends #lib::A
@ -246,6 +286,16 @@ ConstantPool {
constructor redirecting2(dart.core::int* a, dart.core::int* b, dart.core::int* c) → #lib::A*
: this #lib::A::constr2(a, b.{dart.core::num::*}(c))
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class B extends #lib::A {
field dart.core::int* foo6 = 46;

View File

@ -280,6 +280,46 @@ ConstantPool {
[10] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'A', script = '#lib'
extends #lib::Base < dart:core::int, dart:core::String >
@ -392,6 +432,46 @@ ConstantPool {
[6] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'E', script = '#lib'
type-params <dart:core::Object K, dart:core::Object V> (args: 2)
extends dart:core::Object
@ -434,6 +514,46 @@ ConstantPool {
[2] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'F', script = '#lib'
type-params <dart:core::Object K, dart:core::Object V> (args: 4)
extends #lib::E < dart:core::String, dart:core::List < #lib::F::TypeParam/1 > >
@ -526,6 +646,46 @@ ConstantPool {
[3] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'H', script = '#lib'
type-params <dart:core::Object P1, dart:core::Object P2, dart:core::Object P3> (args: 5)
extends #lib::G < #lib::H::TypeParam/1, #lib::H::TypeParam/2 >
@ -598,6 +758,46 @@ ConstantPool {
[4] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'J', script = '#lib'
extends dart:core::Object
@ -617,6 +817,46 @@ ConstantPool {
[0] = NativeEntry agent_J
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'K', script = '#lib', abstract
type-params <dart:core::Object A, dart:core::Object B> (args: 2)
extends dart:core::Object
@ -645,6 +885,46 @@ ConstantPool {
[2] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'TestTypeArgReuse', script = '#lib'
type-params <dart:core::Object P, dart:core::Object Q> (args: 2)
extends #lib::Base < #lib::TestTypeArgReuse::TypeParam/0, #lib::TestTypeArgReuse::TypeParam/1 >
@ -680,6 +960,16 @@ ConstantPool {
: super dart.core::Object::•() {
dart.core::print("Base: ${#lib::Base::T1*}, ${#lib::Base::T2*}");
}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class A extends #lib::Base<dart.core::int*, dart.core::String*> {
constructor •(dart.core::String* s) → #lib::A*
@ -697,6 +987,16 @@ ConstantPool {
: super dart.core::Object::•() {
dart.core::print("C: ${s}");
}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class E<K extends dart.core::Object* = dynamic, V extends dart.core::Object* = dynamic> extends dart.core::Object {
synthetic constructor •() → #lib::E<#lib::E::K*, #lib::E::V*>*
@ -704,6 +1004,16 @@ ConstantPool {
;
method test_reuse1() → dynamic
return dart.core::Map::•<#lib::E::K*, #lib::E::V*>();
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class F<K extends dart.core::Object* = dynamic, V extends dart.core::Object* = dynamic> extends #lib::E<dart.core::String*, dart.core::List<#lib::F::V*>*> {
synthetic constructor •() → #lib::F<#lib::F::K*, #lib::F::V*>*
@ -718,6 +1028,16 @@ ConstantPool {
;
static factory test_factory<K extends dart.core::Object* = dynamic, V extends dart.core::Object* = dynamic>() → #lib::G<#lib::G::test_factory::K*, #lib::G::test_factory::V*>*
return new #lib::H::•<dart.core::String*, #lib::G::test_factory::K*, #lib::G::test_factory::V*>();
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class H<P1 extends dart.core::Object* = dynamic, P2 extends dart.core::Object* = dynamic, P3 extends dart.core::Object* = dynamic> extends #lib::G<#lib::H::P2*, #lib::H::P3*> {
synthetic constructor •() → #lib::H<#lib::H::P1*, #lib::H::P2*, #lib::H::P3*>*
@ -730,14 +1050,44 @@ ConstantPool {
;
static factory test_factory2({dynamic param = #C1}) → #lib::I*
return new #lib::I::•(param);
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class J extends dart.core::Object {
@#C3
external static factory •() → #lib::J*;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
abstract class K<A extends dart.core::Object* = dynamic, B extends dart.core::Object* = dynamic> extends dart.core::Object {
static factory •<A extends dart.core::Object* = dynamic, B extends dart.core::Object* = dynamic>() → #lib::K<#lib::K::•::A*, #lib::K::•::B*>*
return new #lib::TestTypeArgReuse::•<#lib::K::•::A*, #lib::K::•::B*>();
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class TestTypeArgReuse<P extends dart.core::Object* = dynamic, Q extends dart.core::Object* = dynamic> extends #lib::Base<#lib::TestTypeArgReuse::P*, #lib::TestTypeArgReuse::Q*> implements #lib::K<#lib::TestTypeArgReuse::P*, #lib::TestTypeArgReuse::Q*> {
synthetic constructor •() → #lib::TestTypeArgReuse<#lib::TestTypeArgReuse::P*, #lib::TestTypeArgReuse::Q*>*

View File

@ -530,6 +530,42 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'B', script = '#lib'
extends dart:core::Object
@ -559,6 +595,46 @@ ConstantPool {
[3] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'C', script = '#lib'
extends #lib::B
@ -633,6 +709,46 @@ ConstantPool {
[6] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'E', script = '#lib'
type-params <dart:core::Object T> (args: 1)
extends dart:core::Object
@ -656,6 +772,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'F', script = '#lib'
type-params <dart:core::Object P, dart:core::Object Q> (args: 3)
extends #lib::E < dart:core::Map < #lib::F::TypeParam/0, #lib::F::TypeParam/1 > >
@ -697,12 +853,31 @@ ConstantPool {
;
method toString() → dart.core::String*
return this.{=#lib::A::_name};
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class B extends dart.core::Object /*hasConstConstructor*/ {
final field dart.core::int* i;
const constructor •(dart.core::int* i) → #lib::B*
: #lib::B::i = i, super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class C extends #lib::B /*hasConstConstructor*/ {
final field dart.core::int* j;
@ -716,11 +891,31 @@ ConstantPool {
const constructor •(dynamic x, [dynamic y = #C14]) → #lib::D*
: #lib::D::x = x, #lib::D::y = y, super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class E<T extends dart.core::Object* = dynamic> extends dart.core::Object /*hasConstConstructor*/ {
const constructor •() → #lib::E<#lib::E::T*>*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class F<P extends dart.core::Object* = dynamic, Q extends dart.core::Object* = dynamic> extends #lib::E<dart.core::Map<#lib::F::P*, #lib::F::Q*>*> /*hasConstConstructor*/ {
const constructor •() → #lib::F<#lib::F::P*, #lib::F::Q*>*

View File

@ -26,12 +26,13 @@ L2:
Push r1
Push FP[-5]
InterfaceCall CP#0, 1
CompareIntLt
InterfaceCall CP#2, 2
AssertBoolean 0
JumpIfFalse L1
Push r0
Push FP[-5]
Push r1
InterfaceCall CP#2, 2
InterfaceCall CP#4, 2
AddInt
PopLocal r0
Push r1
@ -47,8 +48,10 @@ L1:
ConstantPool {
[0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
[1] = Reserved
[2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[2] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
@ -72,14 +75,15 @@ L3:
Push r1
Push FP[-5]
InterfaceCall CP#0, 1
CompareIntGe
InterfaceCall CP#2, 2
AssertBoolean 0
JumpIfFalse L2
Jump L1
L2:
Push r0
Push FP[-5]
Push r1
InterfaceCall CP#2, 2
InterfaceCall CP#4, 2
AddInt
PopLocal r0
Push r1
@ -95,8 +99,10 @@ L1:
ConstantPool {
[0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
[1] = Reserved
[2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[2] = InterfaceCall 'dart:core::num::>=', ArgDesc num-args 2, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
@ -117,7 +123,8 @@ L4:
Push r1
Push FP[-5]
InterfaceCall CP#0, 1
CompareIntLt
InterfaceCall CP#2, 2
AssertBoolean 0
JumpIfFalse L1
Push r1
PushInt 0
@ -128,7 +135,7 @@ L2:
Push r0
Push FP[-5]
Push r1
InterfaceCall CP#2, 2
InterfaceCall CP#4, 2
AddInt
PopLocal r0
L3:
@ -145,8 +152,10 @@ L1:
ConstantPool {
[0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
[1] = Reserved
[2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[2] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
@ -166,7 +175,8 @@ L2:
Push r1
Push FP[-5]
InterfaceCall CP#0, 1
CompareIntLt
InterfaceCall CP#2, 2
AssertBoolean 0
JumpIfFalse L1
Push r0
Push FP[-5]
@ -178,7 +188,7 @@ L2:
StoreLocal r1
PopLocal r3
Push r2
InterfaceCall CP#2, 2
InterfaceCall CP#4, 2
AddInt
PopLocal r0
Jump L2
@ -189,8 +199,10 @@ L1:
ConstantPool {
[0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
[1] = Reserved
[2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[2] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
@ -220,7 +232,8 @@ L1:
Push r1
Push FP[-5]
InterfaceCall CP#2, 1
CompareIntLt
InterfaceCall CP#4, 2
AssertBoolean 0
JumpIfTrue L1
Push r0
ReturnTOS
@ -230,6 +243,8 @@ ConstantPool {
[1] = Reserved
[2] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}

View File

@ -89,6 +89,46 @@ Bytecode {
ConstantPool {
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'A', script = '#lib'
extends #lib::Base1
@ -246,6 +286,46 @@ Function 'get:bar', getter, abstract, reflectable, debuggable
Function 'set:bazz', setter, abstract, reflectable, debuggable
parameters [dart:core::int 'x'] (required: 1)
return-type void
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'B', script = '#lib', abstract
extends #lib::Base2
@ -482,6 +562,16 @@ ConstantPool {
get bar() → dynamic
return 42;
set bazz(dart.core::int* x) → void {}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class A extends #lib::Base1 {
synthetic constructor •() → #lib::A*
@ -506,6 +596,16 @@ ConstantPool {
abstract method foo<T extends dart.core::Object* = dynamic>(dart.core::String* a1, #lib::Base2::foo::T* a2, dart.core::int* a3) → void;
abstract get bar() → dynamic;
abstract set bazz(dart.core::int* x) → void;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
abstract class B extends #lib::Base2 {
synthetic constructor •() → #lib::B*

View File

@ -123,6 +123,46 @@ ConstantPool {
[1] = Reserved
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'B', script = '#lib'
extends #lib::A < dart:core::String >
@ -432,6 +472,46 @@ ConstantPool {
[4] = ObjectRef 'T'
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'F', script = '#lib', abstract
type-params <dart:core::Object T> (args: 1)
extends dart:core::Object
@ -465,6 +545,46 @@ Function 'foo8', abstract, reflectable, debuggable
type-params <#lib::F::TypeParam/0 Q>
parameters [#lib::F::foo8::TypeParam/0 'a', dart:core::num 'b', #lib::F::TypeParam/0 'c'] (required: 3)
return-type void
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'G', script = '#lib'
type-params <dart:core::Object T> (args: 1)
extends dart:core::Object
@ -535,6 +655,46 @@ ConstantPool {
[6] = ObjectRef < #lib::G::TypeParam/0 >
}
Function 'get:_identityHashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function '_instanceOf', abstract, debuggable
parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
return-type dart:core::bool
Function '_simpleInstanceOf', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfTrue', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '_simpleInstanceOfFalse', abstract, debuggable
parameters [dynamic 'type'] (required: 1)
return-type dart:core::bool
Function '==', abstract, debuggable
parameters [dynamic 'other'] (required: 1)
return-type dart:core::bool
Function 'get:hashCode', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::int
Function 'toString', abstract, debuggable
parameters [] (required: 0)
return-type dart:core::String
Function 'noSuchMethod', abstract, debuggable
parameters [dart:core::Invocation 'invocation'] (required: 1)
return-type dynamic
Function 'get:runtimeType', getter, abstract, debuggable
parameters [] (required: 0)
return-type dart:core::Type
Class 'H', script = '#lib'
type-params <dart:core::Object T> (args: 1)
extends #lib::G < #lib::H::TypeParam/0 >
@ -683,6 +843,16 @@ ConstantPool {
synthetic constructor •() → #lib::A<#lib::A::T*>*
: super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class B extends #lib::A<dart.core::String*> {
synthetic constructor •() → #lib::B*
@ -726,6 +896,16 @@ ConstantPool {
static factory •<P extends dart.core::String* = dynamic>() → #lib::E<#lib::E::•::P*>*
return null;
method foo6<generic-covariant-impl T extends #lib::E::P* = #lib::E::P*, U extends dart.core::List<#lib::E::foo6::T*>* = dart.core::List<#lib::E::P*>*>(dart.core::Map<#lib::E::foo6::T*, #lib::E::foo6::U*>* map) → void {}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
abstract class F<T extends dart.core::Object* = dynamic> extends dart.core::Object {
synthetic constructor •() → #lib::F<#lib::F::T*>*
@ -733,12 +913,32 @@ ConstantPool {
;
abstract method foo7<generic-covariant-impl Q extends #lib::F::T* = #lib::F::T*>(#lib::F::foo7::Q* a, covariant dart.core::num* b, generic-covariant-impl #lib::F::T* c) → void;
abstract method foo8<generic-covariant-impl Q extends #lib::F::T* = #lib::F::T*>(#lib::F::foo8::Q* a, covariant dart.core::num* b, generic-covariant-impl #lib::F::T* c) → void;
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class G<T extends dart.core::Object* = dynamic> extends dart.core::Object {
synthetic constructor •() → #lib::G<#lib::G::T*>*
: super dart.core::Object::•()
;
method foo7<generic-covariant-impl Q extends #lib::G::T* = #lib::G::T*>(#lib::G::foo7::Q* a, dart.core::int* b, generic-covariant-impl #lib::G::T* c) → void {}
abstract member-signature get _identityHashCode() → dart.core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
abstract member-signature operator ==(dynamic other) → dart.core::bool*;
abstract member-signature get hashCode() → dart.core::int*;
abstract member-signature method toString() → dart.core::String*;
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → dart.core::Type*;
}
class H<T extends dart.core::Object* = dynamic> extends #lib::G<#lib::H::T*> implements #lib::F<#lib::H::T*> {
synthetic constructor •() → #lib::H<#lib::H::T*>*

View File

@ -129,7 +129,7 @@ t2 = _Call direct [foo] (t1)
RESULT: _T {}?
------------ if9 ------------
%x = _Parameter #0 [_T (#lib::TestEnum)+?]
t1* = _Call [Object::==] (%x, _T (#lib::TestEnum, #lib::TestEnum {index: 0, #lib::_name: TestEnum.v1, }))
t1* = _Call [TestEnum::==] (%x, _T (#lib::TestEnum, #lib::TestEnum {index: 0, #lib::_name: TestEnum.v1, }))
t2 = _Call direct [foo] (_T (#lib::TestEnum, #lib::TestEnum {index: 0, #lib::_name: TestEnum.v1, }))
RESULT: _T {}?
------------ conditional1 ------------

View File

@ -6,7 +6,7 @@ import "dart:_internal" as _in;
[@vm.unboxing-info.metadata=(i)->b]static method isPrime([@vm.inferred-type.metadata=int] dynamic n) → core::bool* {
if(_in::unsafeCast<core::bool*>([@vm.direct-call.metadata=_IntegerImplementation::<] [@vm.inferred-type.metadata=dart.core::bool] n.<(2)))
return false;
for (core::int* i = 2; [@vm.direct-call.metadata=_IntegerImplementation::<=] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=_IntegerImplementation::*] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::*}(i).{core::num::<=}(_in::unsafeCast<core::num*>(n)); i = [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
for (core::int* i = 2; [@vm.direct-call.metadata=_IntegerImplementation::<=] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=_IntegerImplementation::*] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::*}(i).{core::num::<=}(_in::unsafeCast<core::num>(n)); i = [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
if([@vm.direct-call.metadata=_IntegerImplementation::==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=_IntegerImplementation::%] [@vm.inferred-type.metadata=int] n.%(i).{core::Object::==}(0))
return false;
}
@ -30,7 +30,7 @@ static method run() → void {
}
}
static method main(core::List<core::String*>* args) → dynamic {
core::Stopwatch* timer = let final core::Stopwatch* #t1 = new core::Stopwatch::•() in let final void #t2 = [@vm.direct-call.metadata=Stopwatch::start] [@vm.inferred-type.metadata=!? (skip check)] #t1.{core::Stopwatch::start}() in #t1;
core::Stopwatch* timer = let final core::Stopwatch #t1 = new core::Stopwatch::•() in let final void #t2 = [@vm.direct-call.metadata=Stopwatch::start] [@vm.inferred-type.metadata=!? (skip check)] #t1.{core::Stopwatch::start}() in #t1;
for (core::int* i = 0; [@vm.direct-call.metadata=_IntegerImplementation::<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(100); i = [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
self::run();
}

View File

@ -22,6 +22,7 @@ abstract class Stream extends core::Object {
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] abstract method foobar((dynamic) →* void onData, {core::Function* onError = #C1}) → self::StreamSubscription*;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3] abstract member-signature operator ==(dynamic other) → core::bool*;
}
abstract class _StreamImpl extends self::Stream {
synthetic constructor •() → self::_StreamImpl*
@ -30,7 +31,7 @@ abstract class _StreamImpl extends self::Stream {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method foobar([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData, {[@vm.inferred-type.metadata=dart.core::Null? (value: null)] core::Function* onError = #C1}) → self::StreamSubscription* {
return [@vm.inferred-type.metadata=! (skip check)] this.{self::_StreamImpl::_createSubscription}();
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method _createSubscription() → self::StreamSubscription* {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5] method _createSubscription() → self::StreamSubscription* {
return new self::_BufferingStreamSubscription::•();
}
}
@ -38,7 +39,7 @@ class _ControllerStream extends self::_StreamImpl {
synthetic constructor •() → self::_ControllerStream*
: super self::_StreamImpl::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method _createSubscription() → self::StreamSubscription* {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5] method _createSubscription() → self::StreamSubscription* {
return new self::_BroadcastSubscription::•();
}
}
@ -48,7 +49,7 @@ class _GeneratedStreamImpl extends self::_StreamImpl {
;
}
abstract class StreamView extends self::Stream {
[@vm.inferred-type.metadata=!] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] final field self::Stream* _stream;
[@vm.inferred-type.metadata=!] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:6,getterSelectorId:7] final field self::Stream* _stream;
constructor •([@vm.inferred-type.metadata=!] self::Stream* stream) → self::StreamView*
: self::StreamView::_stream = stream, super self::Stream::•()
;
@ -60,16 +61,16 @@ class ByteStream extends self::StreamView {
constructor •([@vm.inferred-type.metadata=!] self::Stream* stream) → self::ByteStream*
: super self::StreamView::•(stream)
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] method super_foobar1([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData) → dynamic {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:8,getterSelectorId:9] method super_foobar1([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData) → dynamic {
super.{self::StreamView::foobar}(onData);
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:9,getterSelectorId:10] method super_foobar2([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData) → dynamic {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:10,getterSelectorId:11] method super_foobar2([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData) → dynamic {
super.{self::StreamView::foobar}(onData);
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:11,getterSelectorId:12] method super_foobar3({[@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData = #C1, [@vm.inferred-type.metadata=dart.core::Null? (value: null)] core::Function* onError = #C1}) → dynamic {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:12,getterSelectorId:13] method super_foobar3({[@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData = #C1, [@vm.inferred-type.metadata=dart.core::Null? (value: null)] core::Function* onError = #C1}) → dynamic {
super.{self::StreamView::foobar}(onData, onError: onError);
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:13] get super_stream() → self::Stream*
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:14] get super_stream() → self::Stream*
return [@vm.inferred-type.metadata=!] super.{self::StreamView::_stream};
}
class _HandleErrorStream extends self::Stream {
@ -100,7 +101,7 @@ static method round4({[@vm.inferred-type.metadata=dart.core::Null? (value: null)
self::ByteStream* x = new self::ByteStream::•(new self::_ControllerStream::•());
self::Stream* y = [@vm.direct-call.metadata=ByteStream::super_stream] [@vm.inferred-type.metadata=!] x.{self::ByteStream::super_stream};
self::Stream* z = [@vm.direct-call.metadata=StreamView::_stream] [@vm.inferred-type.metadata=!] x.{self::StreamView::_stream};
if([@vm.direct-call.metadata=Object::==] [@vm.inferred-type.metadata=dart.core::bool (skip check) (receiver not int)] y.{core::Object::==}(z)) {
if([@vm.direct-call.metadata=Object::==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] y.{self::Stream::==}(z)) {
[@vm.direct-call.metadata=ByteStream::super_foobar2] [@vm.inferred-type.metadata=!? (skip check)] x.{self::ByteStream::super_foobar2}(onData);
}
}

View File

@ -19,7 +19,7 @@ class A1 extends core::Object {
synthetic constructor •() → self::A1*
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method call([dynamic a1 = #C1, dynamic a2 = #C1, [@vm.inferred-type.metadata=int?] dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=#lib::T1?] dynamic a5 = #C1]) → void {
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method call([dynamic a1 = #C1, dynamic a2 = #C1, dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=#lib::T1?] dynamic a5 = #C1]) → void {
[@vm.direct-call.metadata=A1::foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::A1::foo} = _in::unsafeCast<self::T1*>(a5);
}
}
@ -42,7 +42,7 @@ class A2 extends core::Object {
synthetic constructor •() → self::A2*
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method call([dynamic a1 = #C1, dynamic a2 = #C1, [@vm.inferred-type.metadata=int?] dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=#lib::T2?] dynamic a6 = #C1]) → void {
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method call([dynamic a1 = #C1, dynamic a2 = #C1, dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=#lib::T2?] dynamic a6 = #C1]) → void {
[@vm.direct-call.metadata=A2::foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::A2::foo} = a6;
}
}
@ -75,7 +75,7 @@ class A3 extends core::Object {
synthetic constructor •() → self::A3*
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method call([dynamic a1 = #C1, dynamic a2 = #C1, [@vm.inferred-type.metadata=int?] dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a6 = #C1, [@vm.inferred-type.metadata=#lib::T3?] dynamic a7 = #C1]) → void {
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method call([dynamic a1 = #C1, dynamic a2 = #C1, dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a6 = #C1, [@vm.inferred-type.metadata=#lib::T3?] dynamic a7 = #C1]) → void {
[@vm.direct-call.metadata=A3::foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::A3::foo} = a7;
}
}
@ -98,7 +98,7 @@ class A4 extends core::Object {
synthetic constructor •() → self::A4*
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method call([dynamic a1 = #C1, dynamic a2 = #C1, [@vm.inferred-type.metadata=int?] dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a6 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a7 = #C1, [@vm.inferred-type.metadata=#lib::T4?] dynamic a8 = #C1]) → void {
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method call([dynamic a1 = #C1, dynamic a2 = #C1, dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a6 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a7 = #C1, [@vm.inferred-type.metadata=#lib::T4?] dynamic a8 = #C1]) → void {
[@vm.direct-call.metadata=A4::foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::A4::foo} = a8;
}
}

View File

@ -12,7 +12,7 @@ class B extends self::A {
: super self::A::•()
;
[@vm.procedure-attributes.metadata=hasThisUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method foo() → core::int*
return [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=! (skip check)] 1.{core::num::+}([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo() as{TypeError,ForDynamic} core::num*) as{TypeError} core::int*;
return [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=! (skip check)] 1.{core::num::+}([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo() as{TypeError,ForDynamic} core::num) as{TypeError} core::int*;
}
class TearOffDynamicMethod extends core::Object {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] field dynamic bazz;

View File

@ -14,7 +14,7 @@ class B extends self::A {
: super self::A::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method foo() → core::int*
return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=B::bar] [@vm.inferred-type.metadata=dart.core::_Smi (value: 3) (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().bar())));
return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num>([@vm.direct-call.metadata=B::bar] [@vm.inferred-type.metadata=dart.core::_Smi (value: 3) (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().bar())));
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method bar() → core::int*
return 3;
}

View File

@ -14,14 +14,14 @@ class B extends self::A {
: super self::A::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method foo() → core::int*
return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num>([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
}
abstract class Base extends core::Object {
synthetic constructor •() → self::Base*
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method foo() → core::int*
return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 3.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 3.{core::num::+}(_in::unsafeCast<core::num>([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method doCall(dynamic x) → core::int*
return [@vm.call-site-attributes.metadata=receiverType:DynamicType(dynamic)] x.call() as{TypeError,ForDynamic} core::int*;
}

View File

@ -5,6 +5,16 @@ import "dart:core" as core;
class TestAssertInitializer extends core::Object {
constructor •() → self::TestAssertInitializer*
: super core::Object::•() {}
abstract member-signature get _identityHashCode() → core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
abstract member-signature operator ==(dynamic other) → core::bool*;
abstract member-signature get hashCode() → core::int*;
abstract member-signature method toString() → core::String*;
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
abstract member-signature get runtimeType() → core::Type*;
}
static const field core::bool* constTrue = #C1;
static const field core::bool* constFalse = #C2;

View File

@ -140,10 +140,6 @@ config("dart_config") {
}
}
if (use_nnbd) {
defines += [ "DART_BUILT_WITH_NNBD_FLAG" ]
}
if (!is_win) {
cflags = [
"-Werror",

View File

@ -529,7 +529,7 @@ gen_snapshot_action("generate_snapshot_bin") {
isolate_snapshot_instructions,
]
args = []
if (use_nnbd) {
if (!dont_use_nnbd) {
args += [
"--enable-experiment=non-nullable",
"--null-safety",

View File

@ -154,7 +154,7 @@ template("gen_vm_platform") {
}
single_root_scheme = "org-dartlang-sdk"
single_root_base = rebase_path("../../")
if (use_nnbd) {
if (!dont_use_nnbd) {
libraries_specification_uri =
"org-dartlang-sdk:///sdk_nnbd/lib/libraries.json"
} else {
@ -172,7 +172,7 @@ template("gen_vm_platform") {
"-Ddart.developer.causal_async_stacks=$allow_causal_async_stacks",
"-Ddart.isVM=true",
]
if (use_nnbd) {
if (!dont_use_nnbd) {
args += [ "--enable-experiment=non-nullable" ]
args += [ "--nnbd-agnostic" ]
}
@ -216,9 +216,7 @@ executable("offsets_extractor") {
"..:dart_maybe_product_config",
":libdart_vm_config",
]
sources = [
"compiler/offsets_extractor.cc",
]
sources = [ "compiler/offsets_extractor.cc" ]
include_dirs = [ ".." ]
}
@ -230,8 +228,6 @@ executable("offsets_extractor_precompiled_runtime") {
"..:dart_maybe_product_config",
":libdart_vm_config",
]
sources = [
"compiler/offsets_extractor.cc",
]
sources = [ "compiler/offsets_extractor.cc" ]
include_dirs = [ ".." ]
}

View File

@ -5,9 +5,11 @@
_dart_root = get_path_info(".", "abspath")
declare_args() {
# Whether to use the NNBD fork of the SDK core libraries.
# TODO(#38701): Remove this when the fork has been merged back in.
use_nnbd = false
# Whether to build a Legacy SDK using Legacy core libraries.
# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant
# and there is no need to build a legacy version of the SDK for comparison
# purposes.
dont_use_nnbd = false
# Absolute path to the .git folder.
#

View File

@ -17,9 +17,9 @@
"third_party/pkg_tested/",
"tools/",
"out/ReleaseX64/dart-sdk/",
"out/ReleaseX64NNBD/dart-sdk/",
"out/ReleaseX64/dart-sdk/",
"xcodebuild/ReleaseX64/dart-sdk/",
"xcodebuild/ReleaseX64NNBD/dart-sdk/"
"xcodebuild/ReleaseX64/dart-sdk/"
],
"dart2js": [
".packages",
@ -31,7 +31,7 @@
"runtime/tests/",
"samples-dev/",
"samples/",
"sdk/",
"sdk_nnbd/",
"tests/.dart_tool/package_config.json",
"tests/angular/",
"tests/co19_2/co19_2-analyzer.status",
@ -64,9 +64,9 @@
"dart2js_nnbd": [
".packages",
".dart_tool/package_config.json",
"out/ReleaseIA32NNBD/dart-sdk/",
"out/ReleaseX64NNBD/dart-sdk/",
"out/ReleaseX64NNBD/gen/utils/dartdevc/",
"out/ReleaseIA32/dart-sdk/",
"out/ReleaseX64/dart-sdk/",
"out/ReleaseX64/gen/utils/dartdevc/",
"pkg/",
"runtime/tests/",
"samples-dev/",
@ -74,35 +74,24 @@
"sdk_nnbd/",
"tests/.dart_tool/package_config.json",
"tests/angular/",
"tests/co19_2/co19_2-analyzer.status",
"tests/co19_2/co19_2-co19.status",
"tests/co19_2/co19_2-dart2js.status",
"tests/co19_2/co19_2-dartdevc.status",
"tests/co19_2/co19_2-kernel.status",
"tests/co19_2/co19_2-runtime.status",
"tests/compiler/",
"tests/corelib_2/",
"tests/corelib/",
"tests/dart/",
"tests/kernel/",
"tests/language_2/",
"tests/language/",
"tests/lib_2/",
"tests/lib/",
"tests/light_unittest.dart",
"tests/search/",
"tests/standalone_2/",
"tests/ffi/",
"tests/ffi_2/",
"third_party/babel/babel.min.js",
"third_party/d8/",
"third_party/pkg/",
"third_party/pkg_tested/",
"third_party/requirejs/",
"tools/",
"xcodebuild/ReleaseIA32NNBD/dart-sdk/",
"xcodebuild/ReleaseX64NNBD/dart-sdk/",
"xcodebuild/ReleaseX64NNBD/gen/utils/dartdevc/"
"xcodebuild/ReleaseIA32/dart-sdk/",
"xcodebuild/ReleaseX64/dart-sdk/",
"xcodebuild/ReleaseX64/gen/utils/dartdevc/"
],
"dart2js_hostasserts": [
".packages",
@ -152,9 +141,9 @@
"dart2js_hostasserts_nnbd": [
".packages",
".dart_tool/package_config.json",
"out/ReleaseX64NNBD/dart",
"out/ReleaseX64NNBD/dart2js_platform.dill",
"out/ReleaseX64NNBD/dart2js_platform_strong.dill",
"out/ReleaseX64/dart",
"out/ReleaseX64/dart2js_platform.dill",
"out/ReleaseX64/dart2js_platform_strong.dill",
"pkg/",
"runtime/tests/",
"samples-dev/",
@ -163,37 +152,27 @@
"sdk_nnbd/",
"tests/.dart_tool/package_config.json",
"tests/angular/",
"tests/co19_2/co19_2-analyzer.status",
"tests/co19_2/co19_2-co19.status",
"tests/co19_2/co19_2-dart2js.status",
"tests/co19_2/co19_2-dartdevc.status",
"tests/co19_2/co19_2-kernel.status",
"tests/co19_2/co19_2-runtime.status",
"tests/compiler/",
"tests/corelib_2/",
"tests/dart/",
"tests/kernel/",
"tests/language_2/",
"tests/lib_2/",
"tests/light_unittest.dart",
"tests/search/",
"tests/standalone_2/",
"tests/ffi/",
"third_party/d8/",
"third_party/pkg/",
"third_party/pkg_tested/",
"third_party/requirejs/",
"tools/",
"xcodebuild/ReleaseX64NNBD/dart",
"xcodebuild/ReleaseX64NNBD/dart2js_platform.dill",
"xcodebuild/ReleaseX64NNBD/dart2js_platform_strong.dill"
"xcodebuild/ReleaseX64/dart",
"xcodebuild/ReleaseX64/dart2js_platform.dill",
"xcodebuild/ReleaseX64/dart2js_platform_strong.dill"
],
"front-end": [
".packages",
".dart_tool/package_config.json",
"out/ReleaseIA32/",
"out/ReleaseX64/",
"out/ReleaseX64NNBD/",
"out/ReleaseX64/",
"pkg/",
"runtime/tests/",
"samples-dev/",
@ -341,45 +320,46 @@
"pkg/vm/",
"runtime/",
"sdk/",
"sdk_nnbd/",
".dart_tool/package_config.json",
".packages",
".vpython"
],
"vm-kernel-nnbd": [
"benchmarks/",
"out/DebugIA32NNBD/",
"out/DebugX64NNBD/",
"out/DebugSIMARMNNBD/",
"out/DebugSIMARM64NNBD/",
"out/DebugSIMARM_X64NNBD/",
"out/DebugAndroidARMNNBD/",
"out/DebugAndroidARM_X64NNBD/",
"out/DebugAndroidARM64NNBD/",
"out/ReleaseIA32NNBD/",
"out/ReleaseX64NNBD/",
"out/ReleaseSIMARMNNBD/",
"out/ReleaseSIMARM64NNBD/",
"out/ReleaseSIMARM_X64NNBD/",
"out/ReleaseAndroidARMNNBD/",
"out/ReleaseAndroidARM_X64NNBD/",
"out/ReleaseAndroidARM64NNBD/",
"out/ReleaseXARM64NNBD/",
"out/ProductIA32NNBD/",
"out/ProductX64NNBD/",
"out/ProductSIMARMNNBD/",
"out/ProductSIMARM64NNBD/",
"out/ProductSIMARM_X64NNBD/",
"out/ProductAndroidARMNNBD/",
"out/ProductAndroidARM64NNBD/",
"xcodebuild/DebugIA32NNBD/",
"xcodebuild/DebugSIMARMNNBD/",
"xcodebuild/DebugSIMARM64NNBD/",
"xcodebuild/DebugX64NNBD/",
"xcodebuild/ProductX64NNBD/",
"xcodebuild/ReleaseIA32NNBD/",
"xcodebuild/ReleaseSIMARMNNBD/",
"xcodebuild/ReleaseSIMARM64NNBD/",
"xcodebuild/ReleaseX64NNBD/",
"out/DebugIA32/",
"out/DebugX64/",
"out/DebugSIMARM/",
"out/DebugSIMARM64/",
"out/DebugSIMARM_X64/",
"out/DebugAndroidARM/",
"out/DebugAndroidARM_X64/",
"out/DebugAndroidARM64/",
"out/ReleaseIA32/",
"out/ReleaseX64/",
"out/ReleaseSIMARM/",
"out/ReleaseSIMARM64/",
"out/ReleaseSIMARM_X64/",
"out/ReleaseAndroidARM/",
"out/ReleaseAndroidARM_X64/",
"out/ReleaseAndroidARM64/",
"out/ReleaseXARM64/",
"out/ProductIA32/",
"out/ProductX64/",
"out/ProductSIMARM/",
"out/ProductSIMARM64/",
"out/ProductSIMARM_X64/",
"out/ProductAndroidARM/",
"out/ProductAndroidARM64/",
"xcodebuild/DebugIA32/",
"xcodebuild/DebugSIMARM/",
"xcodebuild/DebugSIMARM64/",
"xcodebuild/DebugX64/",
"xcodebuild/ProductX64/",
"xcodebuild/ReleaseIA32/",
"xcodebuild/ReleaseSIMARM/",
"xcodebuild/ReleaseSIMARM64/",
"xcodebuild/ReleaseX64/",
"samples/",
"samples-dev/",
"tools/",
@ -390,23 +370,12 @@
"third_party/pkg_tested/",
"tests/.dart_tool/package_config.json",
"tests/angular/",
"tests/co19_2/co19_2-analyzer.status",
"tests/co19_2/co19_2-co19.status",
"tests/co19_2/co19_2-dart2js.status",
"tests/co19_2/co19_2-dartdevc.status",
"tests/co19_2/co19_2-kernel.status",
"tests/co19_2/co19_2-runtime.status",
"tests/compiler/",
"tests/corelib_2/",
"tests/dart/",
"tests/kernel/",
"tests/language_2/",
"tests/lib_2/",
"tests/light_unittest.dart",
"tests/search/",
"tests/standalone_2/",
"tests/ffi/",
"tests/ffi_2/",
"pkg/_fe_analyzer_shared/",
"pkg/async_helper/",
"pkg/build_integration/",
@ -630,7 +599,7 @@
"dart2js-options": [
"--no-null-safety",
"--libraries-spec=sdk_nnbd/lib/libraries.json",
"--platform-binaries=out/ReleaseX64NNBD/"
"--platform-binaries=out/ReleaseX64/"
],
"timeout": 240,
"host-checked": true
@ -645,7 +614,7 @@
"dart2js-options": [
"--no-null-safety",
"--libraries-spec=sdk_nnbd/lib/libraries.json",
"--platform-binaries=xcodebuild/ReleaseX64NNBD/"
"--platform-binaries=xcodebuild/ReleaseX64/"
],
"timeout": 240,
"host-checked": true
@ -1111,30 +1080,12 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--nnbd",
"create_sdk",
"dartdevc_test",
"kernel_platform_files",
"runtime_kernel"
]
},
{
"name": "legacy sdk tests",
"arguments": [
"-ncfe-weak-${system}"
],
"fileset": "front-end",
"shards": 5
},
{
"name": "legacy co19_2 tests",
"arguments": [
"-ncfe-weak-${system}",
"co19_2"
],
"fileset": "front-end",
"shards": 6
},
{
"name": "weak sdk tests",
"arguments": [
@ -1378,28 +1329,10 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--nnbd",
"runtime_kernel",
"dart_precompiled_runtime"
]
},
{
"name": "vm legacy tests in weak mode with asserts",
"arguments": [
"-ndartkp-weak-asserts-${system}-${mode}-${arch}"
],
"fileset": "vm-kernel-nnbd",
"shards": 6
},
{
"name": "vm legacy tests(co19_2) in weak mode with asserts",
"arguments": [
"-ndartkp-weak-asserts-${system}-${mode}-${arch}",
"co19_2"
],
"fileset": "vm-kernel-nnbd",
"shards": 10
},
{
"name": "vm nnbd tests in weak mode with asserts",
"arguments": [
@ -1741,28 +1674,10 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--nnbd",
"create_sdk",
"runtime_kernel"
]
},
{
"name": "vm legacy tests in weak mode with asserts",
"arguments": [
"-ndartk-weak-asserts-${system}-${mode}-${arch}"
],
"fileset": "vm-kernel-nnbd",
"shards": 6
},
{
"name": "vm legacy tests(co19_2) in weak mode with asserts",
"arguments": [
"-ndartk-weak-asserts-${system}-${mode}-${arch}",
"co19_2"
],
"fileset": "vm-kernel-nnbd",
"shards": 6
},
{
"name": "vm nnbd test in weak mode with asserts",
"arguments": [
@ -2038,13 +1953,12 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--nnbd",
"dartdevc_test"
]
},
{
"name": "check dart nnbd sdk for static errors",
"script": "out/ReleaseX64NNBD/dart-sdk/bin/dart",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"arguments": [
"--enable-experiment=non-nullable",
"pkg/dev_compiler/tool/check_nnbd_sdk.dart"
@ -2052,7 +1966,7 @@
},
{
"name": "ddc weak modular tests",
"script": "out/ReleaseX64NNBD/dart-sdk/bin/dart",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"pkg/dev_compiler/test/modular_suite_nnbd.dart",
@ -2073,26 +1987,6 @@
"shards": 6,
"fileset": "dart2js_nnbd"
},
{
"name": "ddc legacy weak tests",
"arguments": [
"-ndartdevk-weak-linux-release-chrome",
"language_2",
"corelib_2",
"lib_2"
],
"shards": 6,
"fileset": "dart2js_nnbd"
},
{
"name": "ddc legacy weak co19 tests",
"arguments": [
"-ndartdevk-weak-linux-release-chrome",
"co19_2"
],
"shards": 6,
"fileset": "dart2js_nnbd"
},
{
"name": "ddc nnbd strong tests",
"arguments": [
@ -2618,14 +2512,13 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--nnbd",
"create_sdk",
"dart2js_bot"
]
},
{
"name": "check dart nnbd sdk for static errors",
"script": "out/ReleaseX64NNBD/dart-sdk/bin/dart",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"arguments": [
"--enable-experiment=non-nullable",
"pkg/dev_compiler/tool/check_nnbd_sdk.dart",
@ -2638,8 +2531,6 @@
"arguments": [
"-ndart2js-hostasserts-weak-linux-x64-d8",
"--dart2js-batch",
"language_2",
"corelib_2",
"dart2js_extra",
"dart2js_native",
"kernel"
@ -3006,7 +2897,6 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--nnbd",
"create_sdk"
]
},
@ -3032,19 +2922,6 @@
"standalone"
]
},
{
"name": "analyze nnbd legacy weak tests enable-asserts",
"arguments": [
"-nanalyzer-asserts-weak-${system}"
]
},
{
"name": "analyze nnbd legacy weak tests enable-asserts co19_2",
"arguments": [
"-nanalyzer-asserts-weak-${system}",
"co19_2"
]
},
{
"name": "analyze nnbd strong co19 tests",
"arguments": [

View File

@ -67,11 +67,12 @@ def BuildOptions():
help='Build variants (comma-separated).',
metavar='[all,none,asan,lsan,msan,tsan,ubsan]',
default='none')
# TODO(38701): Remove this and everything that references it once the
# forked NNBD SDK is merged back in.
# TODO(38701): Remove this option once the NNBD SDK is stable/performant
# and there is no need to build a legacy version of the SDK for comparison
# purposes.
result.add_option(
"--nnbd",
help='Use the NNBD fork of the SDK.',
"--no-nnbd",
help='Build the Legacy (pre NNBD) version of the SDK.',
default=False,
action='store_true')
result.add_option(
@ -218,7 +219,7 @@ def GenerateBuildfilesIfNeeded():
return True
def RunGNIfNeeded(out_dir, target_os, mode, arch, use_nnbd, sanitizer):
def RunGNIfNeeded(out_dir, target_os, mode, arch, dont_use_nnbd, sanitizer):
if os.path.isfile(os.path.join(out_dir, 'args.gn')):
return
gn_os = 'host' if target_os == HOST_OS else target_os
@ -235,8 +236,8 @@ def RunGNIfNeeded(out_dir, target_os, mode, arch, use_nnbd, sanitizer):
gn_os,
'-v',
]
if use_nnbd:
gn_command.append('--nnbd')
if dont_use_nnbd:
gn_command.append('--no-nnbd')
process = subprocess.Popen(gn_command)
process.wait()
@ -291,13 +292,13 @@ def EnsureGomaStarted(out_dir):
# Returns a tuple (build_config, command to run, whether goma is used)
def BuildOneConfig(options, targets, target_os, mode, arch, sanitizer):
build_config = utils.GetBuildConf(mode, arch, target_os, sanitizer,
options.nnbd)
options.no_nnbd)
out_dir = utils.GetBuildRoot(HOST_OS, mode, arch, target_os, sanitizer,
options.nnbd)
options.no_nnbd)
using_goma = False
# TODO(zra): Remove auto-run of gn, replace with prompt for user to run
# gn.py manually.
RunGNIfNeeded(out_dir, target_os, mode, arch, options.nnbd, sanitizer)
RunGNIfNeeded(out_dir, target_os, mode, arch, options.no_nnbd, sanitizer)
command = ['ninja', '-C', out_dir]
if options.verbose:
command += ['-v']

View File

@ -51,10 +51,11 @@ def GetGNArgs(args):
return args.split()
# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
def GetOutDir(mode, arch, target_os, sanitizer, use_nnbd):
# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
# there is no need to build a legacy version of the SDK for comparison purposes.
def GetOutDir(mode, arch, target_os, sanitizer, dont_use_nnbd):
return utils.GetBuildRoot(HOST_OS, mode, arch, target_os, sanitizer,
use_nnbd)
dont_use_nnbd)
def ToCommandLine(gn_args):
@ -138,8 +139,9 @@ def UseSysroot(args, gn_args):
return True
# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
def ToGnArgs(args, mode, arch, target_os, sanitizer, use_nnbd):
# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
# there is no need to build a legacy version of the SDK for comparison purposes.
def ToGnArgs(args, mode, arch, target_os, sanitizer, dont_use_nnbd):
gn_args = {}
host_os = HostOsForGn(HOST_OS)
@ -260,7 +262,7 @@ def ToGnArgs(args, mode, arch, target_os, sanitizer, use_nnbd):
gn_args['dart_debug_optimization_level'] = args.debug_opt_level
gn_args['debug_optimization_level'] = args.debug_opt_level
gn_args['use_nnbd'] = use_nnbd
gn_args['dont_use_nnbd'] = dont_use_nnbd
return gn_args
@ -370,9 +372,11 @@ def parse_args(args):
help='Build variants (comma-separated).',
metavar='[all,none,asan,lsan,msan,tsan,ubsan]',
default='none')
# TODO(38701): Remove this once the forked NNBD SDK is merged back in.
# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant
# and there is no need to build a legacy version of the SDK for
# comparison purposes.
common_group.add_argument(
"--nnbd",
"--no-nnbd",
help='Use the NNBD fork of the SDK.',
default=False,
action='store_true')
@ -509,14 +513,14 @@ def Main(argv):
for arch in args.arch:
for sanitizer in args.sanitizer:
out_dir = GetOutDir(mode, arch, target_os, sanitizer,
args.nnbd)
args.no_nnbd)
# TODO(infra): Re-enable --check. Many targets fail to use
# public_deps to re-expose header files to their dependents.
# See dartbug.com/32364
command = [gn, 'gen', out_dir]
gn_args = ToCommandLine(
ToGnArgs(args, mode, arch, target_os, sanitizer,
args.nnbd))
args.no_nnbd))
gn_args += GetGNArgs(args)
if args.verbose:
print("gn gen --check in %s" % out_dir)

View File

@ -316,9 +316,11 @@ def IsCrossBuild(target_os, arch):
return ((GetArchFamily(host_arch) != GetArchFamily(arch)) or
(target_os != GuessOS()))
# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
def GetBuildConf(mode, arch, conf_os=None, sanitizer=None, use_nnbd=False):
nnbd = "NNBD" if use_nnbd else ""
# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
# there is no need to build a legacy version of the SDK for comparison purposes.
def GetBuildConf(mode, arch, conf_os=None, sanitizer=None, dont_use_nnbd=False):
nnbd = "Legacy" if dont_use_nnbd else ""
if conf_os == 'android':
return '%s%s%s%s' % (GetBuildMode(mode), conf_os.title(), arch.upper(),
nnbd)
@ -336,28 +338,30 @@ def GetBuildDir(host_os):
return BUILD_ROOT[host_os]
# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
# there is no need to build a legacy version of the SDK for comparison purposes.
def GetBuildRoot(host_os,
mode=None,
arch=None,
target_os=None,
sanitizer=None,
use_nnbd=False):
dont_use_nnbd=False):
build_root = GetBuildDir(host_os)
if mode:
build_root = os.path.join(
build_root, GetBuildConf(mode, arch, target_os, sanitizer,
use_nnbd))
build_root,
GetBuildConf(mode, arch, target_os, sanitizer, dont_use_nnbd))
return build_root
# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
# there is no need to build a legacy version of the SDK for comparison purposes.
def GetBuildSdkBin(host_os,
mode=None,
arch=None,
target_os=None,
use_nnbd=False):
build_root = GetBuildRoot(host_os, mode, arch, target_os, use_nnbd)
dont_use_nnbd=False):
build_root = GetBuildRoot(host_os, mode, arch, target_os, dont_use_nnbd)
return os.path.join(build_root, 'dart-sdk', 'bin')

View File

@ -46,10 +46,10 @@ prebuilt_dart_action("dart2js_create_snapshot_entry") {
args = [ "--output_dir=$output_dir" ]
}
if (use_nnbd) {
libraries_specification_path = "sdk_nnbd/lib/libraries.json"
} else {
if (dont_use_nnbd) {
libraries_specification_path = "sdk/lib/libraries.json"
} else {
libraries_specification_path = "sdk_nnbd/lib/libraries.json"
}
application_snapshot("dart2js") {
@ -91,7 +91,7 @@ compile_platform("compile_dart2js_platform") {
"dart:core",
]
if (use_nnbd) {
if (!dont_use_nnbd) {
args += [ "--enable-experiment=non-nullable" ]
}
}
@ -112,7 +112,7 @@ compile_platform("compile_dart2js_server_platform") {
"dart:core",
]
if (use_nnbd) {
if (!dont_use_nnbd) {
args += [ "--enable-experiment=non-nullable" ]
}
}

View File

@ -44,7 +44,7 @@ prebuilt_dart_action("generate_summary_strong") {
inputs = sdk_lib_files + analyzer_files
output = "$root_gen_dir/strong.sum"
outputs = [ output ]
if (use_nnbd) {
if (!dont_use_nnbd) {
args = [
"build-non-nullable",
rebase_path(output),

View File

@ -16,10 +16,10 @@ sdk_summary = "$target_gen_dir/ddc_sdk.sum"
sdk_outline_dill = "$root_out_dir/ddc_sdk.dill"
sdk_full_dill = "$root_out_dir/ddc_platform.dill"
if (use_nnbd) {
libraries_specification_path = "sdk_nnbd/lib/libraries.json"
} else {
if (dont_use_nnbd) {
libraries_specification_path = "sdk/lib/libraries.json"
} else {
libraries_specification_path = "sdk_nnbd/lib/libraries.json"
}
application_snapshot("dartdevc") {
@ -35,7 +35,9 @@ application_snapshot("dartdevc") {
"dartdevc.js",
]
if (use_nnbd) {
if (dont_use_nnbd) {
training_args += [ rebase_path("../../pkg/dev_compiler/bin/dartdevc.dart") ]
} else {
training_args += [
"--enable-experiment=non-nullable",
@ -45,8 +47,6 @@ application_snapshot("dartdevc") {
# should be easier to compile while we bootstrap NNBD.
rebase_path("../../tests/language_2/abstract/equal_test.dart"),
]
} else {
training_args += [ rebase_path("../../pkg/dev_compiler/bin/dartdevc.dart") ]
}
deps = [
@ -58,12 +58,12 @@ application_snapshot("dartdevc") {
}
# TODO(#38701) Cleanup after merging the forked SDK into mainline.
if (use_nnbd) {
sdk_root = "../../sdk_nnbd"
libraries_specification_path = "sdk_nnbd/lib/libraries.json"
} else {
if (dont_use_nnbd) {
sdk_root = "../../sdk"
libraries_specification_path = "sdk/lib/libraries.json"
} else {
sdk_root = "../../sdk_nnbd"
libraries_specification_path = "sdk_nnbd/lib/libraries.json"
}
sdk_lib_files = exec_script("../../tools/list_dart_files.py",
@ -154,8 +154,8 @@ prebuilt_dart_action("dartdevc_patch_sdk") {
]
# TODO(#38701) Cleanup after merging the forked SDK into mainline.
if (use_nnbd) {
args += [ "--nnbd" ]
if (dont_use_nnbd) {
args += [ "--no-nnbd" ]
}
}
@ -276,7 +276,7 @@ template("dartdevc_kernel_compile") {
}
# TODO(38701): Cleanup after merging the forked SDK into mainline.
if (use_nnbd) {
if (!dont_use_nnbd) {
args += [ "--enable-experiment=non-nullable" ]
}
}
@ -335,7 +335,7 @@ compile_platform("dartdevc_platform") {
]
# TODO(38701): Cleanup after merging the forked SDK into mainline.
if (use_nnbd) {
if (!dont_use_nnbd) {
args += [ "--enable-experiment=non-nullable" ]
}
}
@ -392,7 +392,7 @@ prebuilt_dart_action("dartdevc_kernel_sdk") {
]
# TODO(38701): Cleanup after merging the forked SDK into mainline.
if (use_nnbd) {
if (!dont_use_nnbd) {
args += [ "--enable-experiment=non-nullable" ]
}
}