Version 2.18.0-244.0.dev
Merge commit 'b40969ea5733299e157ff33d22616ce69299491d' into 'dev'
diff --git a/pkg/compiler/lib/src/dump_info.dart b/pkg/compiler/lib/src/dump_info.dart
index 8459ff0..18cba93 100644
--- a/pkg/compiler/lib/src/dump_info.dart
+++ b/pkg/compiler/lib/src/dump_info.dart
@@ -546,8 +546,8 @@
FunctionInfo visitFunction(ir.FunctionNode function,
{FunctionEntity functionEntity, LocalFunctionInfo localFunctionInfo}) {
final parent = function.parent;
- String name =
- parent is ir.LocalFunction ? 'call' : parent.toStringInternal();
+ bool isClosureCallMethod = parent is ir.LocalFunction;
+ String name = isClosureCallMethod ? 'call' : parent.toStringInternal();
bool isConstructor = parent is ir.Constructor;
bool isFactory = parent is ir.Procedure && parent.isFactory;
// Kernel `isStatic` refers to static members, constructors, and top-level
@@ -562,7 +562,8 @@
!isFactory;
bool isConst = parent is ir.Member && parent.isConst;
bool isExternal = parent is ir.Member && parent.isExternal;
- bool isMethod = parent is ir.Member && parent.enclosingClass != null;
+ bool isMethod = isClosureCallMethod ||
+ (parent is ir.Member && parent.enclosingClass != null);
bool isGetter = parent is ir.Procedure && parent.isGetter;
bool isSetter = parent is ir.Procedure && parent.isSetter;
int kind;
diff --git a/pkg/compiler/lib/src/js_backend/native_data.dart b/pkg/compiler/lib/src/js_backend/native_data.dart
index 56cabfd..20ae34a 100644
--- a/pkg/compiler/lib/src/js_backend/native_data.dart
+++ b/pkg/compiler/lib/src/js_backend/native_data.dart
@@ -13,7 +13,7 @@
import '../elements/entities.dart';
import '../ir/annotations.dart';
import '../js_model/js_to_frontend_map.dart' show identity, JsToFrontendMap;
-import '../kernel/element_map.dart';
+import '../kernel/element_map_interfaces.dart';
import '../native/behavior.dart' show NativeBehavior;
import '../serialization/serialization.dart';
import '../util/util.dart';
@@ -170,7 +170,7 @@
this._jsInteropMembers);
factory NativeBasicData.fromIr(
- KernelToElementMap map, IrAnnotationData data) {
+ KernelToElementMapForNativeData map, IrAnnotationData data) {
ElementEnvironment env = map.elementEnvironment;
Map<ClassEntity, NativeClassTag> nativeClassTagInfo = {};
Map<LibraryEntity, String> jsInteropLibraries = {};
@@ -452,7 +452,8 @@
this._nativeFieldLoadBehavior,
this._nativeFieldStoreBehavior);
- factory NativeData.fromIr(KernelToElementMap map, IrAnnotationData data) {
+ factory NativeData.fromIr(
+ KernelToElementMapForNativeData map, IrAnnotationData data) {
NativeBasicData nativeBasicData = NativeBasicData.fromIr(map, data);
Map<MemberEntity, String> nativeMemberName = {};
Map<FunctionEntity, NativeBehavior> nativeMethodBehavior = {};
diff --git a/pkg/compiler/lib/src/kernel/element_map.dart b/pkg/compiler/lib/src/kernel/element_map.dart
index 14ef134..dc09e06 100644
--- a/pkg/compiler/lib/src/kernel/element_map.dart
+++ b/pkg/compiler/lib/src/kernel/element_map.dart
@@ -4,8 +4,6 @@
// @dart = 2.10
-import 'package:kernel/ast.dart' as ir;
-
// TODO(joshualitt): Merge the contents of element_map_impl.dart into this file.
export 'element_map_impl.dart';
@@ -17,21 +15,3 @@
JS_INTERCEPTOR_CONSTANT,
NONE,
}
-
-// Members which dart2js ignores.
-bool memberIsIgnorable(ir.Member node, {ir.Class cls}) {
- if (node is! ir.Procedure) return false;
- ir.Procedure member = node;
- switch (member.stubKind) {
- case ir.ProcedureStubKind.Regular:
- case ir.ProcedureStubKind.ConcreteForwardingStub:
- case ir.ProcedureStubKind.NoSuchMethodForwarder:
- return false;
- case ir.ProcedureStubKind.AbstractForwardingStub:
- case ir.ProcedureStubKind.MemberSignature:
- case ir.ProcedureStubKind.AbstractMixinStub:
- case ir.ProcedureStubKind.ConcreteMixinStub:
- return true;
- }
- return false;
-}
diff --git a/pkg/compiler/lib/src/kernel/element_map_impl.dart b/pkg/compiler/lib/src/kernel/element_map_impl.dart
index 3335436..9198179 100644
--- a/pkg/compiler/lib/src/kernel/element_map_impl.dart
+++ b/pkg/compiler/lib/src/kernel/element_map_impl.dart
@@ -56,8 +56,12 @@
import '../universe/world_impact.dart';
import 'element_map.dart';
-import 'element_map_interfaces.dart'
- show KernelToElementMapForClassHierarchy, KernelToElementMapForImpactData;
+import 'element_map_interfaces.dart' as interfaces
+ show
+ KernelElementEnvironment,
+ KernelToElementMapForClassHierarchy,
+ KernelToElementMapForImpactData,
+ KernelToElementMapForNativeData;
import 'env.dart';
import 'kelements.dart';
import 'kernel_impact.dart';
@@ -66,9 +70,10 @@
/// impact computation.
class KernelToElementMap
implements
- IrToElementMap,
- KernelToElementMapForClassHierarchy,
- KernelToElementMapForImpactData {
+ interfaces.KernelToElementMapForClassHierarchy,
+ interfaces.KernelToElementMapForImpactData,
+ interfaces.KernelToElementMapForNativeData,
+ IrToElementMap {
@override
final CompilerOptions options;
@override
@@ -136,6 +141,7 @@
@override
DartTypes get types => _types;
+ @override
KernelElementEnvironment get elementEnvironment => _elementEnvironment;
/// Access to the commonly used elements and types.
@@ -1649,6 +1655,7 @@
/// Computes the native behavior for reading the native [field].
/// TODO(johnniwinther): Cache this for later use.
+ @override
NativeBehavior getNativeBehaviorForFieldLoad(ir.Field field,
Iterable<String> createsAnnotations, Iterable<String> returnsAnnotations,
{bool isJsInterop}) {
@@ -1660,6 +1667,7 @@
/// Computes the native behavior for writing to the native [field].
/// TODO(johnniwinther): Cache this for later use.
+ @override
NativeBehavior getNativeBehaviorForFieldStore(ir.Field field) {
DartType type = getDartType(field.type);
return nativeBehaviorBuilder.buildFieldStoreBehavior(type);
@@ -1668,6 +1676,7 @@
/// Computes the native behavior for calling the function or constructor
/// [member].
/// TODO(johnniwinther): Cache this for later use.
+ @override
NativeBehavior getNativeBehaviorForMethod(ir.Member member,
Iterable<String> createsAnnotations, Iterable<String> returnsAnnotations,
{bool isJsInterop}) {
@@ -1762,7 +1771,7 @@
}
class KernelElementEnvironment extends ElementEnvironment
- implements KElementEnvironment {
+ implements KElementEnvironment, interfaces.KernelElementEnvironment {
final KernelToElementMap elementMap;
KernelElementEnvironment(this.elementMap);
diff --git a/pkg/compiler/lib/src/kernel/element_map_interfaces.dart b/pkg/compiler/lib/src/kernel/element_map_interfaces.dart
index 8795952..fa1ff53 100644
--- a/pkg/compiler/lib/src/kernel/element_map_interfaces.dart
+++ b/pkg/compiler/lib/src/kernel/element_map_interfaces.dart
@@ -6,16 +6,35 @@
// TODO(48820): Remove after migrating element_map.dart and
// element_map_impl.dart.
-import 'package:kernel/ast.dart' as ir show DartType, Member;
+import 'package:kernel/ast.dart' as ir
+ show Class, DartType, Field, Member, Procedure, ProcedureStubKind;
import '../common.dart' show DiagnosticReporter;
-import '../common/elements.dart' show CommonElements;
-import '../elements/entities.dart' show ClassEntity, ConstructorEntity;
+import '../common/elements.dart' show CommonElements, ElementEnvironment;
+import '../elements/entities.dart'
+ show ClassEntity, ConstructorEntity, MemberEntity;
import '../elements/indexed.dart' show IndexedClass;
import '../elements/types.dart' show DartType, DartTypes, InterfaceType;
import '../ir/constants.dart' show Dart2jsConstantEvaluator;
+import '../native/behavior.dart';
import '../options.dart';
+abstract class KernelElementEnvironment implements ElementEnvironment {}
+
+abstract class KernelToElementMapForNativeData {
+ KernelElementEnvironment get elementEnvironment;
+
+ ClassEntity getClass(ir.Class node);
+ MemberEntity getMember(ir.Member node);
+ NativeBehavior getNativeBehaviorForMethod(ir.Member member,
+ Iterable<String> createsAnnotations, Iterable<String> returnsAnnotations,
+ {required bool isJsInterop});
+ NativeBehavior getNativeBehaviorForFieldLoad(ir.Field field,
+ Iterable<String> createsAnnotations, Iterable<String> returnsAnnotations,
+ {required bool isJsInterop});
+ NativeBehavior getNativeBehaviorForFieldStore(ir.Field field);
+}
+
abstract class KernelToElementMapForClassHierarchy {
ClassEntity? getSuperClass(ClassEntity cls);
int getHierarchyDepth(IndexedClass cls);
@@ -34,3 +53,20 @@
ConstructorEntity getConstructor(ir.Member node);
DartType getDartType(ir.DartType type);
}
+
+// Members which dart2js ignores.
+bool memberIsIgnorable(ir.Member node, {ir.Class? cls}) {
+ if (node is! ir.Procedure) return false;
+ ir.Procedure member = node;
+ switch (member.stubKind) {
+ case ir.ProcedureStubKind.Regular:
+ case ir.ProcedureStubKind.ConcreteForwardingStub:
+ case ir.ProcedureStubKind.NoSuchMethodForwarder:
+ return false;
+ case ir.ProcedureStubKind.AbstractForwardingStub:
+ case ir.ProcedureStubKind.MemberSignature:
+ case ir.ProcedureStubKind.AbstractMixinStub:
+ case ir.ProcedureStubKind.ConcreteMixinStub:
+ return true;
+ }
+}
diff --git a/pkg/compiler/lib/src/kernel/env.dart b/pkg/compiler/lib/src/kernel/env.dart
index 2d71b3d..0606310 100644
--- a/pkg/compiler/lib/src/kernel/env.dart
+++ b/pkg/compiler/lib/src/kernel/env.dart
@@ -26,6 +26,7 @@
import '../ordered_typeset.dart';
import '../universe/member_usage.dart';
import 'element_map.dart';
+import 'element_map_interfaces.dart' show memberIsIgnorable;
/// Environment for fast lookup of component libraries.
class KProgramEnv {
diff --git a/pkg/compiler/test/dump_info/data/closures.dart b/pkg/compiler/test/dump_info/data/closures.dart
index 6eef392..817e514 100644
--- a/pkg/compiler/test/dump_info/data/closures.dart
+++ b/pkg/compiler/test/dump_info/data/closures.dart
@@ -99,7 +99,95 @@
]
}]*/
class Class1<T> {
- /*member: Class1.field:
+ /*spec.member: Class1.field:
+ closure=[{
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.field.Class1_field_closure",
+ "kind": "closure",
+ "name": "Class1_field_closure",
+ "size": 242,
+ "outputUnit": "outputUnit/main",
+ "parent": "field/memory:sdk/tests/web/native/main.dart::Class1.field",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.field.Class1_field_closure.call"
+}],
+ function=[
+ {
+ "id": "field/memory:sdk/tests/web/native/main.dart::Class1.field",
+ "kind": "field",
+ "name": "field",
+ "size": 318,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.field.Class1_field_closure"
+ ],
+ "inferredType": "[subclass=Closure]",
+ "code": "set$field(field) {\n this.field = type$.Type_Function._as(field);\n }",
+ "type": "Type Function()"
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.field.Class1_field_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 58,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.field.Class1_field_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.T);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"field/memory:sdk/tests/web/native/main.dart::Class1.field","mask":null},
+ {"id":"function/dart:_js_helper::throwCyclicInit","mask":null},
+ {"id":"function/dart:_late_helper::throwLateFieldADI","mask":null},
+ {"id":"function/dart:_rti::Rti._bind","mask":null},
+ {"id":"function/dart:_rti::Rti._eval","mask":null},
+ {"id":"function/dart:_rti::_arrayInstanceType","mask":null},
+ {"id":"function/dart:_rti::_asBool","mask":null},
+ {"id":"function/dart:_rti::_asBoolQ","mask":null},
+ {"id":"function/dart:_rti::_asBoolS","mask":null},
+ {"id":"function/dart:_rti::_asDouble","mask":null},
+ {"id":"function/dart:_rti::_asDoubleQ","mask":null},
+ {"id":"function/dart:_rti::_asDoubleS","mask":null},
+ {"id":"function/dart:_rti::_asInt","mask":null},
+ {"id":"function/dart:_rti::_asIntQ","mask":null},
+ {"id":"function/dart:_rti::_asIntS","mask":null},
+ {"id":"function/dart:_rti::_asNum","mask":null},
+ {"id":"function/dart:_rti::_asNumQ","mask":null},
+ {"id":"function/dart:_rti::_asNumS","mask":null},
+ {"id":"function/dart:_rti::_asObject","mask":null},
+ {"id":"function/dart:_rti::_asString","mask":null},
+ {"id":"function/dart:_rti::_asStringQ","mask":null},
+ {"id":"function/dart:_rti::_asStringS","mask":null},
+ {"id":"function/dart:_rti::_asTop","mask":null},
+ {"id":"function/dart:_rti::_generalAsCheckImplementation","mask":null},
+ {"id":"function/dart:_rti::_generalIsTestImplementation","mask":null},
+ {"id":"function/dart:_rti::_generalNullableAsCheckImplementation","mask":null},
+ {"id":"function/dart:_rti::_generalNullableIsTestImplementation","mask":null},
+ {"id":"function/dart:_rti::_installSpecializedAsCheck","mask":null},
+ {"id":"function/dart:_rti::_installSpecializedIsTest","mask":null},
+ {"id":"function/dart:_rti::_instanceType","mask":null},
+ {"id":"function/dart:_rti::_isBool","mask":null},
+ {"id":"function/dart:_rti::_isInt","mask":null},
+ {"id":"function/dart:_rti::_isNum","mask":null},
+ {"id":"function/dart:_rti::_isObject","mask":null},
+ {"id":"function/dart:_rti::_isString","mask":null},
+ {"id":"function/dart:_rti::_isTop","mask":null},
+ {"id":"function/dart:_rti::findType","mask":null},
+ {"id":"function/dart:_rti::instanceType","mask":null}]
+ */
+ /*canary.member: Class1.field:
closure=[{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.field.Class1_field_closure",
"kind": "closure",
@@ -184,7 +272,72 @@
*/
var funcField;
- /*member: Class1.:
+ /*spec.member: Class1.:
+ closure=[{
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.Class1.Class1_closure",
+ "kind": "closure",
+ "name": "Class1_closure",
+ "size": 204,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.Class1",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.Class1.Class1_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.Class1",
+ "kind": "function",
+ "name": "Class1",
+ "size": 355,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.Class1.Class1_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[exact=Class1]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes field)",
+ "inlinedCount": 0,
+ "code": "Class1$($T) {\n var t1 = new A.Class1(new A.Class1_field_closure($T), null, $T._eval$1(\"Class1<0>\"));\n t1.Class1$0($T);\n return t1;\n }",
+ "type": "dynamic Function()",
+ "functionKind": 3
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.Class1.Class1_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 58,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.Class1.Class1_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.T);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::Rti._eval","mask":null},
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.field.Class1_field_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.field.Class1_field_closure.call","mask":null}]
+ */
+ /*canary.member: Class1.:
closure=[{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.Class1.Class1_closure",
"kind": "closure",
@@ -290,7 +443,72 @@
"functionKind": 3
}]*/
factory Class1.fact() => new Class1<T>();
- /*member: Class1.fact2:
+ /*spec.member: Class1.fact2:
+ closure=[{
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2.Class1_Class1$fact2_closure",
+ "kind": "closure",
+ "name": "Class1_Class1$fact2_closure",
+ "size": 314,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2.Class1_Class1$fact2_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2",
+ "kind": "function",
+ "name": "Class1.fact2",
+ "size": 419,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2.Class1_Class1$fact2_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": true,
+ "external": false
+ },
+ "returnType": "Class1<#Afree>",
+ "inferredReturnType": "[exact=Class1]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "Class1_Class1$fact2($T) {\n return A.Class1$setFunc(new A.Class1_Class1$fact2_closure($T), $T);\n }",
+ "type": "Class1<#A> Function<#A extends Object?>()",
+ "functionKind": 3
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2.Class1_Class1$fact2_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 68,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2.Class1_Class1$fact2_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Set<Class1.T>",
+ "inferredReturnType": "[subclass=_LinkedHashSet]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.LinkedHashSet_LinkedHashSet(this.T);\n }",
+ "type": "Set<Class1.T> Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2.Class1_Class1$fact2_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2.Class1_Class1$fact2_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.Class1.setFunc","mask":null}]
+ */
+ /*canary.member: Class1.fact2:
closure=[{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.Class1.fact2.Class1_Class1$fact2_closure",
"kind": "closure",
@@ -357,7 +575,71 @@
"functionKind": 2
}]*/
method1() => T;
- /*member: Class1.method2:
+ /*spec.member: Class1.method2:
+ closure=[{
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method2.Class1_method2_closure",
+ "kind": "closure",
+ "name": "Class1_method2_closure",
+ "size": 262,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.method2",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.method2.Class1_method2_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method2",
+ "kind": "function",
+ "name": "method2",
+ "size": 330,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.method2.Class1_method2_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "method2$0() {\n return new A.Class1_method2_closure(this);\n }",
+ "type": "dynamic Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method2.Class1_method2_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 80,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.method2.Class1_method2_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.$this.$ti._precomputed1);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method2.Class1_method2_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method2.Class1_method2_closure.call","mask":null}]
+ */
+ /*canary.member: Class1.method2:
closure=[{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method2.Class1_method2_closure",
"kind": "closure",
@@ -425,7 +707,71 @@
"functionKind": 2
}]*/
method3<S>() => S;
- /*member: Class1.method4:
+ /*spec.member: Class1.method4:
+ closure=[{
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method4.Class1_method4_closure",
+ "kind": "closure",
+ "name": "Class1_method4_closure",
+ "size": 236,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.method4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.method4.Class1_method4_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method4",
+ "kind": "function",
+ "name": "method4",
+ "size": 306,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.method4.Class1_method4_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "method4$1$0($S) {\n return new A.Class1_method4_closure($S);\n }",
+ "type": "dynamic Function<#A extends Object?>()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method4.Class1_method4_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 58,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.method4.Class1_method4_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method4.Class1_method4_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method4.Class1_method4_closure.call","mask":null}]
+ */
+ /*canary.member: Class1.method4:
closure=[{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method4.Class1_method4_closure",
"kind": "closure",
@@ -469,7 +815,106 @@
return () => S;
}
- /*member: Class1.method5:
+ /*spec.member: Class1.method5:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local",
+ "kind": "closure",
+ "name": "Class1_method5_local",
+ "size": 287,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.method5",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local_closure",
+ "kind": "closure",
+ "name": "Class1_method5_local_closure",
+ "size": 260,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.method5",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method5",
+ "kind": "function",
+ "name": "method5",
+ "size": 632,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local",
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "method5$0() {\n return new A.Class1_method5_local().call$1$0(type$.double);\n }",
+ "type": "dynamic Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local.call",
+ "kind": "function",
+ "name": "call",
+ "size": 132,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1$0($S) {\n return new A.Class1_method5_local_closure($S);\n }\ncall$0() {\n return this.call$1$0(type$.dynamic);\n }",
+ "type": "Type Function() Function<#A extends Object?>()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 58,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:_rti::findType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local.call","mask":null}]
+ */
+ /*canary.member: Class1.method5:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method5.Class1_method5_local",
@@ -529,7 +974,180 @@
return local<double>();
}
- /*member: Class1.method6:
+ /*spec.member: Class1.method6:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6__closure",
+ "kind": "closure",
+ "name": "Class1_method6__closure",
+ "size": 415,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.method6",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6__closure.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_closure",
+ "kind": "closure",
+ "name": "Class1_method6_closure",
+ "size": 363,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.method6",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_closure.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local",
+ "kind": "closure",
+ "name": "Class1_method6_local",
+ "size": 316,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.method6",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local_closure",
+ "kind": "closure",
+ "name": "Class1_method6_local_closure",
+ "size": 341,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.method6",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method6",
+ "kind": "function",
+ "name": "method6",
+ "size": 1573,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6__closure",
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_closure",
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local",
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "method6$1$0($S) {\n return new A.Class1_method6_closure(this, $S).call$1(new A.Class1_method6_local($S).call$1$0(type$.double));\n }",
+ "type": "dynamic Function<#A extends Object?>()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6__closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 132,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6__closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Map<Class1.T,method6.S>",
+ "inferredReturnType": "[exact=JsLinkedHashMap]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return new A.JsLinkedHashMap(this.$this.$ti._eval$1(\"@<1>\")._bind$1(this.S)._eval$1(\"JsLinkedHashMap<1,2>\"));\n }",
+ "type": "Map<Class1.T,method6.S> Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 81,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Map<Class1.T,method6.S> Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [
+ {
+ "name": "o",
+ "type": "[subclass=Closure]",
+ "declaredType": "dynamic"
+ }
+ ],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1(o) {\n return new A.Class1_method6__closure(this.$this, this.S);\n }",
+ "type": "Map<Class1.T,method6.S> Function() Function(dynamic)",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local.call",
+ "kind": "function",
+ "name": "call",
+ "size": 140,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "String Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1$0($U) {\n return new A.Class1_method6_local_closure(this.S, $U);\n }\ncall$0() {\n return this.call$1$0(type$.dynamic);\n }",
+ "type": "String Function() Function<#A extends Object?>()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 116,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "String",
+ "inferredReturnType": "[exact=JSString]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S).toString$0(0) + A.createRuntimeType(this.U).toString$0(0);\n }",
+ "type": "String Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:_rti::findType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6_local.call","mask":null}]
+ */
+ /*canary.member: Class1.method6:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.method6.Class1_method6__closure",
@@ -638,7 +1256,71 @@
"functionKind": 0
}]*/
static staticMethod1<S>() => S;
- /*member: Class1.staticMethod2:
+ /*spec.member: Class1.staticMethod2:
+ closure=[{
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2.Class1_staticMethod2_closure",
+ "kind": "closure",
+ "name": "Class1_staticMethod2_closure",
+ "size": 260,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2.Class1_staticMethod2_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2",
+ "kind": "function",
+ "name": "staticMethod2",
+ "size": 345,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2.Class1_staticMethod2_closure"
+ ],
+ "modifiers": {
+ "static": true,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "Class1_staticMethod2($S) {\n return new A.Class1_staticMethod2_closure($S);\n }",
+ "type": "dynamic Function<#A extends Object?>()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2.Class1_staticMethod2_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 58,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2.Class1_staticMethod2_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2.Class1_staticMethod2_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2.Class1_staticMethod2_closure.call","mask":null}]
+ */
+ /*canary.member: Class1.staticMethod2:
closure=[{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod2.Class1_staticMethod2_closure",
"kind": "closure",
@@ -682,7 +1364,106 @@
return () => S;
}
- /*member: Class1.staticMethod3:
+ /*spec.member: Class1.staticMethod3:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local",
+ "kind": "closure",
+ "name": "Class1_staticMethod3_local",
+ "size": 317,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local_closure",
+ "kind": "closure",
+ "name": "Class1_staticMethod3_local_closure",
+ "size": 284,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3",
+ "kind": "function",
+ "name": "staticMethod3",
+ "size": 703,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local",
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local_closure"
+ ],
+ "modifiers": {
+ "static": true,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "Class1_staticMethod3() {\n return new A.Class1_staticMethod3_local().call$1$0(type$.double);\n }",
+ "type": "dynamic Function()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local.call",
+ "kind": "function",
+ "name": "call",
+ "size": 138,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1$0($S) {\n return new A.Class1_staticMethod3_local_closure($S);\n }\ncall$0() {\n return this.call$1$0(type$.dynamic);\n }",
+ "type": "Type Function() Function<#A extends Object?>()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 58,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:_rti::findType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local.call","mask":null}]
+ */
+ /*canary.member: Class1.staticMethod3:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod3.Class1_staticMethod3_local",
@@ -742,7 +1523,180 @@
return local<double>();
}
- /*member: Class1.staticMethod4:
+ /*spec.member: Class1.staticMethod4:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4__closure",
+ "kind": "closure",
+ "name": "Class1_staticMethod4__closure",
+ "size": 322,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4__closure.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_closure",
+ "kind": "closure",
+ "name": "Class1_staticMethod4_closure",
+ "size": 328,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_closure.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local",
+ "kind": "closure",
+ "name": "Class1_staticMethod4_local",
+ "size": 346,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local_closure",
+ "kind": "closure",
+ "name": "Class1_staticMethod4_local_closure",
+ "size": 365,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4",
+ "kind": "function",
+ "name": "staticMethod4",
+ "size": 1514,
+ "outputUnit": "outputUnit/main",
+ "parent": "class/memory:sdk/tests/web/native/main.dart::Class1",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4__closure",
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_closure",
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local",
+ "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local_closure"
+ ],
+ "modifiers": {
+ "static": true,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "Class1_staticMethod4($S) {\n return new A.Class1_staticMethod4_closure($S).call$1(new A.Class1_staticMethod4_local($S).call$1$0(type$.double));\n }",
+ "type": "dynamic Function<#A extends Object?>()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4__closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 68,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4__closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Set<staticMethod4.S>",
+ "inferredReturnType": "[subclass=_LinkedHashSet]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.LinkedHashSet_LinkedHashSet(this.S);\n }",
+ "type": "Set<staticMethod4.S> Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 75,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Set<staticMethod4.S> Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [
+ {
+ "name": "o",
+ "type": "[subclass=Closure]",
+ "declaredType": "dynamic"
+ }
+ ],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1(o) {\n return new A.Class1_staticMethod4__closure(this.S);\n }",
+ "type": "Set<staticMethod4.S> Function() Function(dynamic)",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local.call",
+ "kind": "function",
+ "name": "call",
+ "size": 146,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "String Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1$0($U) {\n return new A.Class1_staticMethod4_local_closure(this.S, $U);\n }\ncall$0() {\n return this.call$1$0(type$.dynamic);\n }",
+ "type": "String Function() Function<#A extends Object?>()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 116,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "String",
+ "inferredReturnType": "[exact=JSString]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S).toString$0(0) + A.createRuntimeType(this.U).toString$0(0);\n }",
+ "type": "String Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:_rti::findType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4_local.call","mask":null}]
+ */
+ /*canary.member: Class1.staticMethod4:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::Class1.staticMethod4.Class1_staticMethod4__closure",
@@ -853,7 +1807,71 @@
}]*/
topLevelMethod1<S>() => S;
-/*member: topLevelMethod2:
+/*spec.member: topLevelMethod2:
+ closure=[{
+ "id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod2.topLevelMethod2_closure",
+ "kind": "closure",
+ "name": "topLevelMethod2_closure",
+ "size": 240,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod2",
+ "function": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod2.topLevelMethod2_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod2",
+ "kind": "function",
+ "name": "topLevelMethod2",
+ "size": 315,
+ "outputUnit": "outputUnit/main",
+ "parent": "library/memory:sdk/tests/web/native/main.dart::",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod2.topLevelMethod2_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "topLevelMethod2($S) {\n return new A.topLevelMethod2_closure($S);\n }",
+ "type": "dynamic Function<#A extends Object?>()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod2.topLevelMethod2_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 58,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod2.topLevelMethod2_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::topLevelMethod2.topLevelMethod2_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::topLevelMethod2.topLevelMethod2_closure.call","mask":null}]
+*/
+/*canary.member: topLevelMethod2:
closure=[{
"id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod2.topLevelMethod2_closure",
"kind": "closure",
@@ -897,7 +1915,106 @@
return () => S;
}
-/*member: topLevelMethod3:
+/*spec.member: topLevelMethod3:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local",
+ "kind": "closure",
+ "name": "topLevelMethod3_local",
+ "size": 292,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod3",
+ "function": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local_closure",
+ "kind": "closure",
+ "name": "topLevelMethod3_local_closure",
+ "size": 264,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod3",
+ "function": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod3",
+ "kind": "function",
+ "name": "topLevelMethod3",
+ "size": 648,
+ "outputUnit": "outputUnit/main",
+ "parent": "library/memory:sdk/tests/web/native/main.dart::",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local",
+ "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "topLevelMethod3() {\n return new A.topLevelMethod3_local().call$1$0(type$.double);\n }",
+ "type": "dynamic Function()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local.call",
+ "kind": "function",
+ "name": "call",
+ "size": 133,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1$0($S) {\n return new A.topLevelMethod3_local_closure($S);\n }\ncall$0() {\n return this.call$1$0(type$.dynamic);\n }",
+ "type": "Type Function() Function<#A extends Object?>()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 58,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Type",
+ "inferredReturnType": "[exact=_Type]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S);\n }",
+ "type": "Type Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:_rti::findType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local.call","mask":null}]
+*/
+/*canary.member: topLevelMethod3:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod3.topLevelMethod3_local",
@@ -957,7 +2074,180 @@
return local<double>();
}
-/*member: topLevelMethod4:
+/*spec.member: topLevelMethod4:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4__closure",
+ "kind": "closure",
+ "name": "topLevelMethod4__closure",
+ "size": 302,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4__closure.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_closure",
+ "kind": "closure",
+ "name": "topLevelMethod4_closure",
+ "size": 303,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_closure.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local",
+ "kind": "closure",
+ "name": "topLevelMethod4_local",
+ "size": 321,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local_closure",
+ "kind": "closure",
+ "name": "topLevelMethod4_local_closure",
+ "size": 345,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4",
+ "function": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4",
+ "kind": "function",
+ "name": "topLevelMethod4",
+ "size": 1409,
+ "outputUnit": "outputUnit/main",
+ "parent": "library/memory:sdk/tests/web/native/main.dart::",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4__closure",
+ "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_closure",
+ "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local",
+ "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "topLevelMethod4($S) {\n return new A.topLevelMethod4_closure($S).call$1(new A.topLevelMethod4_local($S).call$1$0(type$.double));\n }",
+ "type": "dynamic Function<#A extends Object?>()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4__closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 68,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4__closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Set<topLevelMethod4.S>",
+ "inferredReturnType": "[subclass=_LinkedHashSet]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.LinkedHashSet_LinkedHashSet(this.S);\n }",
+ "type": "Set<topLevelMethod4.S> Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 70,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Set<topLevelMethod4.S> Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [
+ {
+ "name": "o",
+ "type": "[subclass=Closure]",
+ "declaredType": "dynamic"
+ }
+ ],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1(o) {\n return new A.topLevelMethod4__closure(this.S);\n }",
+ "type": "Set<topLevelMethod4.S> Function() Function(dynamic)",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local.call",
+ "kind": "function",
+ "name": "call",
+ "size": 141,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "String Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$1$0($U) {\n return new A.topLevelMethod4_local_closure(this.S, $U);\n }\ncall$0() {\n return this.call$1$0(type$.dynamic);\n }",
+ "type": "String Function() Function<#A extends Object?>()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 116,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "String",
+ "inferredReturnType": "[exact=JSString]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return A.createRuntimeType(this.S).toString$0(0) + A.createRuntimeType(this.U).toString$0(0);\n }",
+ "type": "String Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:_rti::findType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4_local.call","mask":null}]
+*/
+/*canary.member: topLevelMethod4:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::topLevelMethod4.topLevelMethod4__closure",
@@ -1042,7 +2332,107 @@
return local2(local<double>());
}
-/*member: twoLocals:
+/*spec.member: twoLocals:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local1",
+ "kind": "closure",
+ "name": "twoLocals_local1",
+ "size": 149,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::twoLocals",
+ "function": "function/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local1.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local2",
+ "kind": "closure",
+ "name": "twoLocals_local2",
+ "size": 210,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::twoLocals",
+ "function": "function/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local2.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::twoLocals",
+ "kind": "function",
+ "name": "twoLocals",
+ "size": 441,
+ "outputUnit": "outputUnit/main",
+ "parent": "library/memory:sdk/tests/web/native/main.dart::",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local1",
+ "closure/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local2"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "twoLocals() {\n return new A.twoLocals_local2(new A.twoLocals_local1());\n }",
+ "type": "dynamic Function()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local1.call",
+ "kind": "function",
+ "name": "call",
+ "size": 16,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local1",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Null",
+ "inferredReturnType": "[null]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n }",
+ "type": "Null Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local2.call",
+ "kind": "function",
+ "name": "call",
+ "size": 51,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local2",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Null",
+ "inferredReturnType": "[null]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return this.local1.call$0();\n }",
+ "type": "Null Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local1.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local1.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local2.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local2.call","mask":null}]
+*/
+/*canary.member: twoLocals:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::twoLocals.twoLocals_local1",
@@ -1101,7 +2491,105 @@
return local2;
}
-/*member: nested:
+/*spec.member: nested:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::nested.nested_nested1",
+ "kind": "closure",
+ "name": "nested_nested1",
+ "size": 225,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::nested",
+ "function": "function/memory:sdk/tests/web/native/main.dart::nested.nested_nested1.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::nested.nested_nested1_nested2",
+ "kind": "closure",
+ "name": "nested_nested1_nested2",
+ "size": 227,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::nested",
+ "function": "function/memory:sdk/tests/web/native/main.dart::nested.nested_nested1_nested2.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::nested",
+ "kind": "function",
+ "name": "nested",
+ "size": 568,
+ "outputUnit": "outputUnit/main",
+ "parent": "library/memory:sdk/tests/web/native/main.dart::",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::nested.nested_nested1",
+ "closure/memory:sdk/tests/web/native/main.dart::nested.nested_nested1_nested2"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[null]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "nested() {\n var t1 = {};\n t1.x = null;\n new A.nested_nested1(t1).call$0();\n t1.x.call$0();\n }",
+ "type": "dynamic Function()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::nested.nested_nested1.call",
+ "kind": "function",
+ "name": "call",
+ "size": 74,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::nested.nested_nested1",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Null",
+ "inferredReturnType": "[null]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n this._box_0.x = new A.nested_nested1_nested2(this);\n }",
+ "type": "Null Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::nested.nested_nested1_nested2.call",
+ "kind": "function",
+ "name": "call",
+ "size": 43,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::nested.nested_nested1_nested2",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic Function()",
+ "inferredReturnType": "[subclass=Closure]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return this.nested1;\n }",
+ "type": "dynamic Function() Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::nested.nested_nested1.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::nested.nested_nested1.call","mask":null}]
+*/
+/*canary.member: nested:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::nested.nested_nested1",
@@ -1163,7 +2651,139 @@
x();
}
-/*member: nested2:
+/*spec.member: nested2:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1",
+ "kind": "closure",
+ "name": "nested2_local1",
+ "size": 195,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::nested2",
+ "function": "function/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1__closure",
+ "kind": "closure",
+ "name": "nested2_local1__closure",
+ "size": 193,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::nested2",
+ "function": "function/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1__closure.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1_closure",
+ "kind": "closure",
+ "name": "nested2_local1_closure",
+ "size": 311,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::nested2",
+ "function": "function/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::nested2",
+ "kind": "function",
+ "name": "nested2",
+ "size": 764,
+ "outputUnit": "outputUnit/main",
+ "parent": "library/memory:sdk/tests/web/native/main.dart::",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1",
+ "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1__closure",
+ "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[null]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "nested2() {\n A.print(new A.nested2_local1().call$0());\n }",
+ "type": "dynamic Function()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1.call",
+ "kind": "function",
+ "name": "call",
+ "size": 70,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "int",
+ "inferredReturnType": "[subclass=JSInt]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return new A.nested2_local1_closure().call$0();\n }",
+ "type": "int Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1__closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 32,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1__closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "int",
+ "inferredReturnType": "[exact=JSUInt31]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return 2;\n }",
+ "type": "int Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 154,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "int",
+ "inferredReturnType": "[subclass=JSInt]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n var t1 = new A.nested2_local1__closure().call$0();\n if (typeof t1 !== \"number\")\n return A.iae(t1);\n return 1 + t1;\n }",
+ "type": "int Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:core::print","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1.call","mask":null}]
+*/
+/*canary.member: nested2:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::nested2.nested2_local1",
@@ -1235,7 +2855,139 @@
print(y);
}
-/*member: siblings:
+/*spec.member: siblings:
+ closure=[
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1",
+ "kind": "closure",
+ "name": "siblings_local1",
+ "size": 244,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::siblings",
+ "function": "function/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure",
+ "kind": "closure",
+ "name": "siblings_local1_closure",
+ "size": 193,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::siblings",
+ "function": "function/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure.call"
+},
+ {
+ "id": "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure%0",
+ "kind": "closure",
+ "name": "siblings_local1_closure",
+ "size": 197,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::siblings",
+ "function": "function/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure.call%0"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::siblings",
+ "kind": "function",
+ "name": "siblings",
+ "size": 701,
+ "outputUnit": "outputUnit/main",
+ "parent": "library/memory:sdk/tests/web/native/main.dart::",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1",
+ "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure",
+ "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure%0"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[null]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "siblings() {\n A.print(new A.siblings_local1().call$0());\n }",
+ "type": "dynamic Function()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1.call",
+ "kind": "function",
+ "name": "call",
+ "size": 115,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "int",
+ "inferredReturnType": "[subclass=JSInt]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return new A.siblings_local1_closure().call$0() + new A.siblings_local1_closure0().call$0();\n }",
+ "type": "int Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 32,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "int",
+ "inferredReturnType": "[exact=JSUInt31]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return 1;\n }",
+ "type": "int Function()",
+ "functionKind": 2
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure.call%0",
+ "kind": "function",
+ "name": "call",
+ "size": 32,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1_closure%0",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "int",
+ "inferredReturnType": "[exact=JSUInt31]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return 3;\n }",
+ "type": "int Function()",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:core::print","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1.call","mask":null}]
+*/
+/*canary.member: siblings:
closure=[
{
"id": "closure/memory:sdk/tests/web/native/main.dart::siblings.siblings_local1",
diff --git a/pkg/compiler/test/dump_info/data/deferred/main.dart b/pkg/compiler/test/dump_info/data/deferred/main.dart
index 4baf1e1..2ab399c 100644
--- a/pkg/compiler/test/dump_info/data/deferred/main.dart
+++ b/pkg/compiler/test/dump_info/data/deferred/main.dart
@@ -121,7 +121,80 @@
import 'lib.dart' deferred as lib;
-/*member: main:
+/*spec.member: main:
+ closure=[{
+ "id": "closure/memory:sdk/tests/web/native/main.dart::main.main_closure",
+ "kind": "closure",
+ "name": "main_closure",
+ "size": 201,
+ "outputUnit": "outputUnit/main",
+ "parent": "function/memory:sdk/tests/web/native/main.dart::main",
+ "function": "function/memory:sdk/tests/web/native/main.dart::main.main_closure.call"
+}],
+ function=[
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::main",
+ "kind": "function",
+ "name": "main",
+ "size": 301,
+ "outputUnit": "outputUnit/main",
+ "parent": "library/memory:sdk/tests/web/native/main.dart::",
+ "children": [
+ "closure/memory:sdk/tests/web/native/main.dart::main.main_closure"
+ ],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "dynamic",
+ "inferredReturnType": "[exact=_Future]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "main() {\n return A.loadDeferredLibrary(\"lib\").then$1$1(new A.main_closure(), type$.Null);\n }",
+ "type": "dynamic Function()",
+ "functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::main.main_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 84,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::main.main_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "Null",
+ "inferredReturnType": "[null]",
+ "parameters": [
+ {
+ "name": "_",
+ "type": "[null|subclass=Object]",
+ "declaredType": "dynamic"
+ }
+ ],
+ "sideEffects": "SideEffects(reads anything; writes anything)",
+ "inlinedCount": 0,
+ "code": "call$1(_) {\n A.checkDeferredIsLoaded(\"lib\");\n C.C_Deferred.call$0();\n }",
+ "type": "Null Function(dynamic)",
+ "functionKind": 2
+}],
+ holding=[
+ {"id":"function/dart:_js_helper::loadDeferredLibrary","mask":null},
+ {"id":"function/dart:_rti::_setArrayType","mask":null},
+ {"id":"function/dart:_rti::findType","mask":null},
+ {"id":"function/dart:async::_Future.then","mask":"[exact=_Future]"},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::main.main_closure.call","mask":null},
+ {"id":"function/memory:sdk/tests/web/native/main.dart::main.main_closure.call","mask":null}]
+*/
+/*canary.member: main:
closure=[{
"id": "closure/memory:sdk/tests/web/native/main.dart::main.main_closure",
"kind": "closure",
diff --git a/pkg/compiler/test/dump_info/data_new/mixin_with_tearoff_test.dart b/pkg/compiler/test/dump_info/data_new/mixin_with_tearoff_test.dart
index b9fea3b..51ce89b 100644
--- a/pkg/compiler/test/dump_info/data_new/mixin_with_tearoff_test.dart
+++ b/pkg/compiler/test/dump_info/data_new/mixin_with_tearoff_test.dart
@@ -356,7 +356,8 @@
"parent": "function/memory:sdk/tests/web/native/main.dart::main",
"function": "function/memory:sdk/tests/web/native/main.dart::main.main_closure.call"
}],
- function=[{
+ function=[
+ {
"id": "function/memory:sdk/tests/web/native/main.dart::main",
"kind": "function",
"name": "main",
@@ -380,6 +381,29 @@
"code": "main() {\n var s = new A.Subclass();\n A.Clazz.prototype.get$method.call(s).call$1(0);\n A.Expect_throws(new A.main_closure(s), type$.legacy_Object);\n }",
"type": "dynamic Function()*",
"functionKind": 0
+},
+ {
+ "id": "function/memory:sdk/tests/web/native/main.dart::main.main_closure.call",
+ "kind": "function",
+ "name": "call",
+ "size": 71,
+ "outputUnit": "outputUnit/main",
+ "parent": "closure/memory:sdk/tests/web/native/main.dart::main.main_closure",
+ "children": [],
+ "modifiers": {
+ "static": false,
+ "const": false,
+ "factory": false,
+ "external": false
+ },
+ "returnType": "void",
+ "inferredReturnType": "[null]",
+ "parameters": [],
+ "sideEffects": "SideEffects(reads nothing; writes nothing)",
+ "inlinedCount": 0,
+ "code": "call$0() {\n return this.s.super$Mixin$method(A._asIntS(\"\"));\n }",
+ "type": "void Function()",
+ "functionKind": 2
}],
holding=[
{"id":"function/dart:_js_helper::closureFromTearOff","mask":null},
diff --git a/pkg/compiler/test/dump_info/dump_info_new_regression_test.dart b/pkg/compiler/test/dump_info/dump_info_new_regression_test.dart
index baae6e9..5699d15 100644
--- a/pkg/compiler/test/dump_info/dump_info_new_regression_test.dart
+++ b/pkg/compiler/test/dump_info/dump_info_new_regression_test.dart
@@ -60,7 +60,7 @@
}
// Remove disambiguation portions of names. E.g., name%N -> name.
- if (key == 'id' || key == 'name' || key == 'function') {
+ if (key == 'id' || key == 'name' || key == 'function' || key == 'parent') {
newValue = value.replaceAll(RegExp(r'%\d+'), '');
} else if (key == 'children') {
List values = object[key];
@@ -214,6 +214,8 @@
for (final closure in functionInfo.closures) {
features.addElement(
Tags.closure, jsonEncode(closure.accept(converter)));
+ features.addElement(
+ Tags.function, jsonEncode(closure.function.accept(converter)));
}
}
@@ -227,6 +229,8 @@
for (final closure in functionInfo.closures) {
features.addElement(
Tags.closure, jsonEncode(closure.accept(converter)));
+ features.addElement(
+ Tags.function, jsonEncode(closure.function.accept(converter)));
}
}
diff --git a/pkg/compiler/test/dump_info/dump_info_new_test.dart b/pkg/compiler/test/dump_info/dump_info_new_test.dart
index 97c9595..9599f1a 100644
--- a/pkg/compiler/test/dump_info/dump_info_new_test.dart
+++ b/pkg/compiler/test/dump_info/dump_info_new_test.dart
@@ -165,6 +165,8 @@
for (final closure in functionInfo.closures) {
features.addElement(
Tags.closure, jsonEncode(closure.accept(converter)));
+ features.addElement(
+ Tags.function, jsonEncode(closure.function.accept(converter)));
}
}
@@ -178,6 +180,8 @@
for (final closure in functionInfo.closures) {
features.addElement(
Tags.closure, jsonEncode(closure.accept(converter)));
+ features.addElement(
+ Tags.function, jsonEncode(closure.function.accept(converter)));
}
}
diff --git a/pkg/compiler/test/dump_info/dump_info_test.dart b/pkg/compiler/test/dump_info/dump_info_test.dart
index 1b3c017..3059465 100644
--- a/pkg/compiler/test/dump_info/dump_info_test.dart
+++ b/pkg/compiler/test/dump_info/dump_info_test.dart
@@ -163,6 +163,8 @@
for (final closure in functionInfo.closures) {
features.addElement(
Tags.closure, jsonEncode(closure.accept(converter)));
+ features.addElement(
+ Tags.function, jsonEncode(closure.function.accept(converter)));
}
}
@@ -176,6 +178,8 @@
for (final closure in functionInfo.closures) {
features.addElement(
Tags.closure, jsonEncode(closure.accept(converter)));
+ features.addElement(
+ Tags.function, jsonEncode(closure.function.accept(converter)));
}
}
diff --git a/pkg/compiler/test/model/cfe_annotations_test.dart b/pkg/compiler/test/model/cfe_annotations_test.dart
index 76eb078..7d1fd81 100644
--- a/pkg/compiler/test/model/cfe_annotations_test.dart
+++ b/pkg/compiler/test/model/cfe_annotations_test.dart
@@ -10,6 +10,8 @@
import 'package:compiler/src/elements/entities.dart';
import 'package:compiler/src/ir/annotations.dart';
import 'package:compiler/src/js_backend/native_data.dart';
+import 'package:compiler/src/kernel/element_map_interfaces.dart'
+ show memberIsIgnorable;
import 'package:compiler/src/kernel/kernel_strategy.dart';
import 'package:compiler/src/kernel/element_map.dart';
import 'package:expect/expect.dart';
diff --git a/tools/VERSION b/tools/VERSION
index bdb2bf8..1525dd4 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 18
PATCH 0
-PRERELEASE 243
+PRERELEASE 244
PRERELEASE_PATCH 0
\ No newline at end of file