Index: sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
index 19051befd201894a20c56fda429922539546a2c0..68688b16c76297911b4577f7500deb72b5b83587 100644 |
--- a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
+++ b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
@@ -1256,7 +1256,7 @@ $classesCollector.$mangledName = {'': |
// Note: the callElement will not have any enclosingElement. |
FunctionElement callElement = |
new ClosureInvocationElement(Namer.CLOSURE_INVOCATION_NAME, member); |
- |
+ |
String invocationName = namer.instanceMethodName(callElement); |
List<String> arguments = new List<String>(parameterCount); |
for (int i = 0; i < parameterCount; i++) { |
@@ -1480,19 +1480,7 @@ $classesCollector.$mangledName = {'': |
CodeBuffer generateMethod(String methodName, Selector selector) { |
// Values match JSInvocationMirror in js-helper library. |
- const int METHOD = 0; |
- const int GETTER = 1; |
- const int SETTER = 2; |
- int type = METHOD; |
- if (selector.isGetter()) { |
- type = GETTER; |
- assert(methodName.startsWith("get:")); |
- methodName = methodName.substring(4); |
- } else if (selector.isSetter()) { |
- type = SETTER; |
- assert(methodName.startsWith("set:")); |
- methodName = "${methodName.substring(4)}="; |
- } |
+ int type = selector.invocationMirrorKind; |
CodeBuffer args = new CodeBuffer(); |
for (int i = 0; i < selector.argumentCount; i++) { |
if (i != 0) args.add(', '); |
@@ -1602,18 +1590,14 @@ $classesCollector.$mangledName = {'': |
if (holders.every(hasMatchingMember)) continue; |
String jsName = null; |
- String methodName = null; |
- String nameString = selector.name.slowToString(); |
+ String methodName = selector.name.slowToString(); |
if (selector.isGetter()) { |
jsName = namer.getterName(selector.library, selector.name); |
- methodName = 'get:$nameString'; |
} else if (selector.isSetter()) { |
jsName = namer.setterName(selector.library, selector.name); |
- methodName = 'set:$nameString'; |
} else if (selector.isCall()) { |
jsName = namer.instanceMethodInvocationName( |
selector.library, selector.name, selector); |
- methodName = nameString; |
} else { |
// We simply ignore selectors that do not need |
// noSuchMethod handlers. |