Index: pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart |
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart |
index eedbf5db50fc8405a8a456c61d8a53eaa16f5fab..91d23b29f996e8c50f9218e9e19c62286dd996b1 100644 |
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart |
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart |
@@ -700,8 +700,7 @@ class FragmentEmitter { |
properties[js.string(namer.requiredParameterField)] = |
js.number(method.requiredParameterCount); |
properties[js.string(namer.defaultValuesField)] = |
- js.js('function() { return #; }', |
- _encodeOptionalParameterDefaultValues(method)); |
+ _encodeOptionalParameterDefaultValues(method); |
} |
} |
@@ -770,7 +769,8 @@ class FragmentEmitter { |
List<ConstantValue> defaultValues = method.optionalParameterDefaultValues; |
Iterable<js.Expression> elements = |
defaultValues.map(generateConstantReference); |
- return new js.ArrayInitializer(elements.toList()); |
+ return js.js('function() { return #; }', |
+ new js.ArrayInitializer(elements.toList())); |
} else { |
Map<String, ConstantValue> defaultValues = |
method.optionalParameterDefaultValues; |
@@ -785,7 +785,8 @@ class FragmentEmitter { |
properties.add(new js.Property(js.string(name), |
generateConstantReference(value))); |
} |
- return new js.ObjectInitializer(properties); |
+ return js.js('function() { return #; }', |
+ new js.ObjectInitializer(properties)); |
} |
} |