Fix codesize regression from Cleanup after removing MirrorsData
Change-Id: If67905010f46797e0d007cf80973905a8f6e5537
Reviewed-on: https://dart-review.googlesource.com/55889
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/container_builder.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/container_builder.dart
index ae9d3a7..144f886 100644
--- a/pkg/compiler/lib/src/js_emitter/full_emitter/container_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/full_emitter/container_builder.dart
@@ -30,6 +30,7 @@
bool canBeApplied = method.canBeApplied;
bool canTearOff = method.needsTearOff;
jsAst.Name tearOffName = method.tearOffName;
+ bool isClosure = method is InstanceMethod && method.isClosureCallMethod;
jsAst.Name superAlias = method is InstanceMethod ? method.aliasName : null;
bool hasSuperAlias = superAlias != null;
jsAst.Expression memberTypeExpression = method.functionType;
@@ -156,7 +157,9 @@
});
}
Name memberName = member.memberName;
- expressions.add(js.string(namer.privateName(memberName)));
+ if (isClosure && canBeApplied) {
+ expressions.add(js.string(namer.privateName(memberName)));
+ }
jsAst.ArrayInitializer arrayInit =
new jsAst.ArrayInitializer(expressions.toList());
diff --git a/tests/language/language_dart2js.status b/tests/language/language_dart2js.status
index 8675593..b9f01fd 100644
--- a/tests/language/language_dart2js.status
+++ b/tests/language/language_dart2js.status
@@ -235,7 +235,6 @@
f_bounded_quantification5_test: Fail, OK # Issue 12605
[ $compiler == dart2js && $fast_startup && $fasta ]
-call_function_apply_test: RuntimeError # Issue 23873
constructor_redirect1_negative_test: Crash # Stack Overflow
constructor_redirect2_negative_test: Crash # Stack Overflow
cyclic_constructor_test/01: Crash # Stack Overflow
@@ -290,6 +289,7 @@
bit_operations_test/04: RuntimeError
bit_operations_test/none: RuntimeError
branch_canonicalization_test: RuntimeError
+call_function_apply_test: RuntimeError # Issue 23873
call_nonexistent_constructor_test/01: RuntimeError
call_type_literal_test/01: RuntimeError
canonical_const2_test: RuntimeError