| Index: pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| index d67650b2db706c23f43e06c1111c877cd81d49ce..4b2d79c170b5b94a445703d27e1d974a44c67992 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| @@ -337,8 +337,7 @@ class OldEmitter implements Emitter {
|
| }
|
|
|
| String getReflectionNameInternal(elementOrSelector, String mangledName) {
|
| - String name =
|
| - namer.privateName(elementOrSelector.library, elementOrSelector.name);
|
| + String name = namer.privateName(elementOrSelector.memberName);
|
| if (elementOrSelector.isGetter) return name;
|
| if (elementOrSelector.isSetter) {
|
| if (!mangledName.startsWith(namer.setterPrefix)) return '$name=';
|
| @@ -365,9 +364,9 @@ class OldEmitter implements Emitter {
|
| String namedArguments = '';
|
| bool isConstructor = false;
|
| if (elementOrSelector is Selector) {
|
| - Selector selector = elementOrSelector;
|
| - positionalParameterCount = selector.positionalArgumentCount;
|
| - namedArguments = namedParametersAsReflectionNames(selector);
|
| + CallStructure callStructure = elementOrSelector.callStructure;
|
| + positionalParameterCount = callStructure.positionalArgumentCount;
|
| + namedArguments = namedParametersAsReflectionNames(callStructure);
|
| } else {
|
| FunctionElement function = elementOrSelector;
|
| if (function.isConstructor) {
|
| @@ -381,12 +380,9 @@ class OldEmitter implements Emitter {
|
| for (Element e in signature.optionalParameters) {
|
| names.add(e.name);
|
| }
|
| - Selector selector = new Selector.call(
|
| - function.name,
|
| - function.library,
|
| - positionalParameterCount,
|
| - names);
|
| - namedArguments = namedParametersAsReflectionNames(selector);
|
| + CallStructure callStructure =
|
| + new CallStructure(positionalParameterCount, names);
|
| + namedArguments = namedParametersAsReflectionNames(callStructure);
|
| } else {
|
| // Named parameters are handled differently by mirrors. For unnamed
|
| // parameters, they are actually required if invoked
|
| @@ -413,9 +409,9 @@ class OldEmitter implements Emitter {
|
| 'Do not know how to reflect on this $element.');
|
| }
|
|
|
| - String namedParametersAsReflectionNames(Selector selector) {
|
| - if (selector.getOrderedNamedArguments().isEmpty) return '';
|
| - String names = selector.getOrderedNamedArguments().join(':');
|
| + String namedParametersAsReflectionNames(CallStructure structure) {
|
| + if (structure.isUnnamed) return '';
|
| + String names = structure.getOrderedNamedArguments().join(':');
|
| return ':$names';
|
| }
|
|
|
|
|