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'; |
} |