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

Unified Diff: pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart

Issue 808553004: Revert "cps-ir: Add support for intercepted calls." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
index 86e88faf8c23894f9e576830d3a2f037d14c172d..4c614c977ef00e8f1f3f49bf17a7089f411071f4 100644
--- a/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
+++ b/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
@@ -9,7 +9,6 @@ import '../dart_types.dart';
import '../elements/elements.dart';
import '../cps_ir/cps_ir_nodes.dart' as cps_ir;
import 'tree_ir_nodes.dart';
-import '../js_backend/codegen/glue.dart';
/**
* Builder translates from CPS-based IR to direct-style Tree.
@@ -44,9 +43,7 @@ import '../js_backend/codegen/glue.dart';
* still all named.
*/
class Builder extends cps_ir.Visitor<Node> {
- // TODO(karlklose): remove the compiler.
final dart2js.Compiler compiler;
- final Glue glue;
/// Maps variable/parameter elements to the Tree variables that represent it.
final Map<Element, List<Variable>> element2variables =
@@ -65,11 +62,10 @@ class Builder extends cps_ir.Visitor<Node> {
Builder parent;
- Builder(this.glue, this.compiler);
+ Builder(this.compiler);
Builder.inner(Builder parent)
: this.parent = parent,
- this.glue = parent.glue,
compiler = parent.compiler;
/// Variable used in [buildPhiAssignments] as a temporary when swapping
@@ -166,8 +162,7 @@ class Builder extends cps_ir.Visitor<Node> {
List<Expression> translateArguments(List<cps_ir.Reference> args) {
return new List<Expression>.generate(args.length,
- (int index) => getVariableReference(args[index]),
- growable: false);
+ (int index) => getVariableReference(args[index]));
}
List<Variable> translatePhiArguments(List<cps_ir.Reference> args) {
@@ -321,9 +316,9 @@ class Builder extends cps_ir.Visitor<Node> {
}
Statement visitInvokeMethod(cps_ir.InvokeMethod node) {
- Expression invoke = new InvokeMethod(getVariableReference(node.receiver),
- node.selector,
- translateArguments(node.arguments));
+ Expression receiver = getVariableReference(node.receiver);
+ List<Expression> arguments = translateArguments(node.arguments);
+ Expression invoke = new InvokeMethod(receiver, node.selector, arguments);
return continueWithExpression(node.continuation, invoke);
}
@@ -485,16 +480,14 @@ class Builder extends cps_ir.Visitor<Node> {
Expression visitParameter(cps_ir.Parameter node) {
// Continuation parameters are not visited (continuations themselves are
// not visited yet).
- compiler.internalError(compiler.currentElement,
- 'Unexpected IR node: $node');
+ compiler.internalError(compiler.currentElement, 'Unexpected IR node.');
return null;
}
Expression visitContinuation(cps_ir.Continuation node) {
// Until continuations with multiple uses are supported, they are not
// visited.
- compiler.internalError(compiler.currentElement,
- 'Unexpected IR node: $node.');
+ compiler.internalError(compiler.currentElement, 'Unexpected IR node.');
return null;
}
@@ -513,14 +506,5 @@ class Builder extends cps_ir.Visitor<Node> {
<Expression>[getVariableReference(node.left),
getVariableReference(node.right)]);
}
-
- Expression visitInterceptor(cps_ir.Interceptor node) {
- Element getInterceptor = glue.getInterceptorMethod;
- glue.registerUseInterceptorInCodegen();
- return new InvokeStatic(
- getInterceptor,
- new dart2js.Selector.fromElement(getInterceptor),
- <Expression>[getVariableReference(node.input)]);
- }
}
« no previous file with comments | « pkg/compiler/lib/src/js_backend/codegen/unsugar.dart ('k') | tests/compiler/dart2js/js_backend_cps_ir_interceptors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698