| Index: pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
|
| index 06d08dfbec303bc2442ba22a77c6b3dc9bb48de6..56ef69ee3adaa819b0dd0ba79baf057d9c6bae04 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
|
| @@ -55,15 +55,19 @@ class ClassStubGenerator {
|
|
|
| jsAst.Expression generateGetter(MemberEntity member, jsAst.Name fieldName) {
|
| ClassEntity cls = member.enclosingClass;
|
| - String receiver = backend.isInterceptorClass(cls) ? 'receiver' : 'this';
|
| - List<String> args = backend.isInterceptedMethod(member) ? ['receiver'] : [];
|
| + String receiver =
|
| + backend.interceptorData.isInterceptorClass(cls) ? 'receiver' : 'this';
|
| + List<String> args =
|
| + backend.interceptorData.isInterceptedMethod(member) ? ['receiver'] : [];
|
| return js('function(#) { return #.# }', [args, receiver, fieldName]);
|
| }
|
|
|
| jsAst.Expression generateSetter(MemberEntity member, jsAst.Name fieldName) {
|
| ClassEntity cls = member.enclosingClass;
|
| - String receiver = backend.isInterceptorClass(cls) ? 'receiver' : 'this';
|
| - List<String> args = backend.isInterceptedMethod(member) ? ['receiver'] : [];
|
| + String receiver =
|
| + backend.interceptorData.isInterceptorClass(cls) ? 'receiver' : 'this';
|
| + List<String> args =
|
| + backend.interceptorData.isInterceptedMethod(member) ? ['receiver'] : [];
|
| // TODO(floitsch): remove 'return'?
|
| return js(
|
| 'function(#, v) { return #.# = v; }', [args, receiver, fieldName]);
|
| @@ -78,8 +82,10 @@ class ClassStubGenerator {
|
| MemberEntity member, Map<Selector, SelectorConstraints> selectors) {
|
| // If the method is intercepted, the stub gets the
|
| // receiver explicitely and we need to pass it to the getter call.
|
| - bool isInterceptedMethod = backend.isInterceptedMethod(member);
|
| - bool isInterceptorClass = backend.isInterceptorClass(member.enclosingClass);
|
| + bool isInterceptedMethod =
|
| + backend.interceptorData.isInterceptedMethod(member);
|
| + bool isInterceptorClass =
|
| + backend.interceptorData.isInterceptorClass(member.enclosingClass);
|
|
|
| const String receiverArgumentName = r'$receiver';
|
|
|
| @@ -176,8 +182,10 @@ class ClassStubGenerator {
|
| jsAst.Name methodName = namer.asName(selector.invocationMirrorMemberName);
|
| jsAst.Name internalName = namer.invocationMirrorInternalName(selector);
|
|
|
| - assert(backend.isInterceptedName(Identifiers.noSuchMethod_));
|
| - bool isIntercepted = backend.isInterceptedName(selector.name);
|
| + assert(
|
| + backend.interceptorData.isInterceptedName(Identifiers.noSuchMethod_));
|
| + bool isIntercepted =
|
| + backend.interceptorData.isInterceptedName(selector.name);
|
| jsAst.Expression expression = js(
|
| '''this.#noSuchMethodName(#receiver,
|
| #createInvocationMirror(#methodName,
|
|
|