Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Side by Side Diff: pkg/compiler/lib/src/js_backend/codegen/glue.dart

Issue 806103003: cps-ir: Add support for intercepted calls. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Disable debug print. Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library code_generator_dependencies; 5 library code_generator_dependencies;
6 6
7 import '../js_backend.dart'; 7 import '../js_backend.dart';
8 import '../../dart2jslib.dart'; 8 import '../../dart2jslib.dart';
9 import '../../js_emitter/js_emitter.dart'; 9 import '../../js_emitter/js_emitter.dart';
10 import '../../js/js.dart' as js; 10 import '../../js/js.dart' as js;
11 import '../../constants/values.dart'; 11 import '../../constants/values.dart';
12 import '../../elements/elements.dart'; 12 import '../../elements/elements.dart';
13 import '../../constants/expressions.dart'; 13 import '../../constants/expressions.dart';
14 import 'task.dart' show CpsTypeEnvironment;
15 14
16 /// Encapsulates the dependencies of the function-compiler to the compiler, 15 /// Encapsulates the dependencies of the function-compiler to the compiler,
17 /// backend and emitter. 16 /// backend and emitter.
18 // TODO(sigurdm): Should be refactored when we have a better feeling for the 17 // TODO(sigurdm): Should be refactored when we have a better feeling for the
19 // interface. 18 // interface.
20 class Glue { 19 class Glue {
21 final Compiler _compiler; 20 final Compiler _compiler;
22 21
23 JavaScriptBackend get _backend => _compiler.backend; 22 JavaScriptBackend get _backend => _compiler.backend;
24 23
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 FunctionElement get identicalFunction => _compiler.identicalFunction; 59 FunctionElement get identicalFunction => _compiler.identicalFunction;
61 60
62 String invocationName(Selector selector) { 61 String invocationName(Selector selector) {
63 return _namer.invocationName(selector); 62 return _namer.invocationName(selector);
64 } 63 }
65 64
66 bool isIntercepted(Selector selector) { 65 bool isIntercepted(Selector selector) {
67 return _backend.isInterceptedSelector(selector); 66 return _backend.isInterceptedSelector(selector);
68 } 67 }
69 68
69 bool isInterceptedSelector(Selector selector) {
70 return _backend.isInterceptedSelector(selector);
71 }
72
73 Set<ClassElement> getInterceptedClassesOn(Selector selector) {
74 return _backend.getInterceptedClassesOn(selector.name);
75 }
76
77 void registerSpecializedGetInterceptor(Set<ClassElement> classes) {
78 _backend.registerSpecializedGetInterceptor(classes);
79 }
70 } 80 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698