diff --git a/BUILD.gn b/BUILD.gn index dc28b546923..b7f3457fa7f 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -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" ] } } diff --git a/pkg/dartdev/test/commands/migrate_test.dart b/pkg/dartdev/test/commands/migrate_test.dart index c3d2c979816..c5f8882e5ca 100644 --- a/pkg/dartdev/test/commands/migrate_test.dart +++ b/pkg/dartdev/test/commands/migrate_test.dart @@ -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"?'); diff --git a/pkg/dev_compiler/test/modular_suite.dart b/pkg/dev_compiler/test/modular_suite.dart index 573238d4616..2452fa1c813 100644 --- a/pkg/dev_compiler/test/modular_suite.dart +++ b/pkg/dev_compiler/test/modular_suite.dart @@ -75,7 +75,12 @@ class SourceToSummaryDillStep implements IOModularStep { List 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 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(); '''; diff --git a/pkg/test_runner/lib/src/configuration.dart b/pkg/test_runner/lib/src/configuration.dart index 239ffcdea42..dfc966ec824 100644 --- a/pkg/test_runner/lib/src/configuration.dart +++ b/pkg/test_runner/lib/src/configuration.dart @@ -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 `/sdk_nnbd` has been merged back with - // `/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()); diff --git a/pkg/vm/testcases/bytecode/bootstrapping.dart.expect b/pkg/vm/testcases/bytecode/bootstrapping.dart.expect index 6f5d2adeb9b..8fbd06a19bb 100644 --- a/pkg/vm/testcases/bytecode/bootstrapping.dart.expect +++ b/pkg/vm/testcases/bytecode/bootstrapping.dart.expect @@ -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 {} diff --git a/pkg/vm/testcases/bytecode/closures.dart.expect b/pkg/vm/testcases/bytecode/closures.dart.expect index 675d337d7e5..2b004efe718 100644 --- a/pkg/vm/testcases/bytecode/closures.dart.expect +++ b/pkg/vm/testcases/bytecode/closures.dart.expect @@ -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 (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 (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 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()*)] nested1.call<#lib::C5*, #lib::C6*>(); [@vm.call-site-attributes.metadata=receiverType:FunctionType(void Function()*)] nested1.call*, 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 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*)*)] this.{#lib::E::foo2}.call(#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*)*)] #t5.{#lib::E::foo2}.call(#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; diff --git a/pkg/vm/testcases/bytecode/field_initializers.dart.expect b/pkg/vm/testcases/bytecode/field_initializers.dart.expect index ce083dae3c7..7e0795c8e37 100644 --- a/pkg/vm/testcases/bytecode/field_initializers.dart.expect +++ b/pkg/vm/testcases/bytecode/field_initializers.dart.expect @@ -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; diff --git a/pkg/vm/testcases/bytecode/instance_creation.dart.expect b/pkg/vm/testcases/bytecode/instance_creation.dart.expect index b3d07d01420..26b018c36f8 100644 --- a/pkg/vm/testcases/bytecode/instance_creation.dart.expect +++ b/pkg/vm/testcases/bytecode/instance_creation.dart.expect @@ -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 (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 (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 (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 (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 (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 { 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 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 extends #lib::E*> { synthetic constructor •() → #lib::F<#lib::F::K*, #lib::F::V*>* @@ -718,6 +1028,16 @@ ConstantPool { ; static factory test_factory() → #lib::G<#lib::G::test_factory::K*, #lib::G::test_factory::V*>* return new #lib::H::•(); + 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 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 extends dart.core::Object { static factory •() → #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

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*>* diff --git a/pkg/vm/testcases/bytecode/literals.dart.expect b/pkg/vm/testcases/bytecode/literals.dart.expect index 316e2e46399..be92e6d1642 100644 --- a/pkg/vm/testcases/bytecode/literals.dart.expect +++ b/pkg/vm/testcases/bytecode/literals.dart.expect @@ -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 (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 (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 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

extends #lib::E*> /*hasConstConstructor*/ { const constructor •() → #lib::F<#lib::F::P*, #lib::F::Q*>* diff --git a/pkg/vm/testcases/bytecode/loops.dart.expect b/pkg/vm/testcases/bytecode/loops.dart.expect index 524ae14cdcb..4b4932f79a9 100644 --- a/pkg/vm/testcases/bytecode/loops.dart.expect +++ b/pkg/vm/testcases/bytecode/loops.dart.expect @@ -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 } diff --git a/pkg/vm/testcases/bytecode/super_calls.dart.expect b/pkg/vm/testcases/bytecode/super_calls.dart.expect index d8724232204..181a7cb0fe2 100644 --- a/pkg/vm/testcases/bytecode/super_calls.dart.expect +++ b/pkg/vm/testcases/bytecode/super_calls.dart.expect @@ -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(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* diff --git a/pkg/vm/testcases/bytecode/type_ops.dart.expect b/pkg/vm/testcases/bytecode/type_ops.dart.expect index 8c81f4d2a95..0e65d25b5fd 100644 --- a/pkg/vm/testcases/bytecode/type_ops.dart.expect +++ b/pkg/vm/testcases/bytecode/type_ops.dart.expect @@ -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 (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 (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 (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 { synthetic constructor •() → #lib::B* @@ -726,6 +896,16 @@ ConstantPool { static factory •

() → #lib::E<#lib::E::•::P*>* return null; method foo6* = 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 extends dart.core::Object { synthetic constructor •() → #lib::F<#lib::F::T*>* @@ -733,12 +913,32 @@ ConstantPool { ; abstract method foo7(#lib::F::foo7::Q* a, covariant dart.core::num* b, generic-covariant-impl #lib::F::T* c) → void; abstract method foo8(#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 extends dart.core::Object { synthetic constructor •() → #lib::G<#lib::G::T*>* : super dart.core::Object::•() ; method foo7(#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 extends #lib::G<#lib::H::T*> implements #lib::F<#lib::H::T*> { synthetic constructor •() → #lib::H<#lib::H::T*>* diff --git a/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect b/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect index b840c08f631..0e80af65d27 100644 --- a/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect +++ b/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect @@ -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 ------------ diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect index 2dcdcb8b82b..839a730056b 100644 --- a/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect +++ b/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect @@ -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([@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(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(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* 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(); } diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect index 31fb99c85fe..4b9e7041343 100644 --- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect +++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect @@ -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); } } diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect index 00c3bcf3358..b39b2491d33 100644 --- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect +++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect @@ -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(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; } } diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect index e232d6bfaf4..1eaa0f92b6d 100644 --- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect +++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect @@ -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; diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect index 868f6f8fbca..66ded4cc53e 100644 --- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect +++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect @@ -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([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast([@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([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast([@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; } diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect index 894ccaa23e2..475df5a5ef8 100644 --- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect +++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect @@ -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([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast([@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([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast([@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([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 3.{core::num::+}(_in::unsafeCast([@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([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 3.{core::num::+}(_in::unsafeCast([@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*; } diff --git a/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect b/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect index 04ae51ae19f..d839d623ecc 100644 --- a/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect +++ b/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect @@ -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; diff --git a/runtime/BUILD.gn b/runtime/BUILD.gn index c7d66dc5de0..b47b604da24 100644 --- a/runtime/BUILD.gn +++ b/runtime/BUILD.gn @@ -140,10 +140,6 @@ config("dart_config") { } } - if (use_nnbd) { - defines += [ "DART_BUILT_WITH_NNBD_FLAG" ] - } - if (!is_win) { cflags = [ "-Werror", diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn index abf3f5350be..55668adebfc 100644 --- a/runtime/bin/BUILD.gn +++ b/runtime/bin/BUILD.gn @@ -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", diff --git a/runtime/vm/BUILD.gn b/runtime/vm/BUILD.gn index d7fe4a20b80..3ff028c5acd 100644 --- a/runtime/vm/BUILD.gn +++ b/runtime/vm/BUILD.gn @@ -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 = [ ".." ] } diff --git a/sdk_args.gni b/sdk_args.gni index 7ebca48dc38..eb4017ed098 100644 --- a/sdk_args.gni +++ b/sdk_args.gni @@ -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. # diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json index c549bb672c8..fe531d58dbb 100644 --- a/tools/bots/test_matrix.json +++ b/tools/bots/test_matrix.json @@ -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": [ diff --git a/tools/build.py b/tools/build.py index 20ac683988b..0d05cd98ea0 100755 --- a/tools/build.py +++ b/tools/build.py @@ -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'] diff --git a/tools/gn.py b/tools/gn.py index 99a59cbd1e3..06f26152fc9 100755 --- a/tools/gn.py +++ b/tools/gn.py @@ -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) diff --git a/tools/utils.py b/tools/utils.py index b1084cce437..5bb768fda27 100644 --- a/tools/utils.py +++ b/tools/utils.py @@ -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') diff --git a/utils/compiler/BUILD.gn b/utils/compiler/BUILD.gn index dda6c4ea627..0ccee9d062e 100644 --- a/utils/compiler/BUILD.gn +++ b/utils/compiler/BUILD.gn @@ -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" ] } } diff --git a/utils/dartanalyzer/BUILD.gn b/utils/dartanalyzer/BUILD.gn index 6065802b873..ad342365697 100644 --- a/utils/dartanalyzer/BUILD.gn +++ b/utils/dartanalyzer/BUILD.gn @@ -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), diff --git a/utils/dartdevc/BUILD.gn b/utils/dartdevc/BUILD.gn index a0fa6b0f6c0..3f4f974c665 100644 --- a/utils/dartdevc/BUILD.gn +++ b/utils/dartdevc/BUILD.gn @@ -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" ] } }