| 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.
|
|
|