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

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

Issue 1196443002: Revert "cps-ir: Support foreign code." (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 months 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
« no previous file with comments | « pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart ('k') | pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
index c8d9135d3534a7ceba8c73db687dc0530b86259b..1a084ac11b6a5de72ffee0f2d815a1c8935050c6 100644
--- a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
+++ b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
@@ -15,13 +15,6 @@ import '../universe/universe.dart' show Selector;
import '../cps_ir/builtin_operator.dart';
export '../cps_ir/builtin_operator.dart';
-// These imports are only used for the JavaScript specific nodes. If we want to
-// support more than one native backend, we should probably create better
-// abstractions for native code and its type and effect system.
-import '../js/js.dart' as js show Template;
-import '../native/native.dart' as native show NativeBehavior;
-import '../types/types.dart' as types show TypeMask;
-
// The Tree language is the target of translation out of the CPS-based IR.
//
// The translation from CPS to Dart consists of several stages. Among the
@@ -784,55 +777,6 @@ class CreateInvocationMirror extends Expression {
}
}
-class ForeignCode extends Node {
- final js.Template codeTemplate;
- final types.TypeMask type;
- final List<Expression> arguments;
- final native.NativeBehavior nativeBehavior;
- final Element dependency;
-
- ForeignCode(this.codeTemplate, this.type, this.arguments, this.nativeBehavior,
- this.dependency);
-}
-
-class ForeignExpression extends ForeignCode implements Expression {
- ForeignExpression(js.Template codeTemplate, types.TypeMask type,
- List<Expression> arguments, native.NativeBehavior nativeBehavior,
- Element dependency)
- : super(codeTemplate, type, arguments, nativeBehavior,
- dependency);
-
- accept(ExpressionVisitor visitor) {
- return visitor.visitForeignExpression(this);
- }
-
- accept1(ExpressionVisitor1 visitor, arg) {
- return visitor.visitForeignExpression(this, arg);
- }
-}
-
-class ForeignStatement extends ForeignCode implements Statement {
- ForeignStatement(js.Template codeTemplate, types.TypeMask type,
- List<Expression> arguments, native.NativeBehavior nativeBehavior,
- Element dependency)
- : super(codeTemplate, type, arguments, nativeBehavior,
- dependency);
-
- accept(StatementVisitor visitor) {
- return visitor.visitForeignStatement(this);
- }
-
- accept1(StatementVisitor1 visitor, arg) {
- return visitor.visitForeignStatement(this, arg);
- }
-
- @override
- Statement get next => null;
-
- @override
- void set next(Statement s) => throw 'UNREACHABLE';
-}
-
/// Denotes the internal representation of [dartType], where all type variables
/// are replaced by the values in [arguments].
/// (See documentation on the TypeExpression CPS node for more details.)
@@ -880,7 +824,6 @@ abstract class ExpressionVisitor<E> {
E visitTypeExpression(TypeExpression node);
E visitCreateInvocationMirror(CreateInvocationMirror node);
E visitApplyBuiltinOperator(ApplyBuiltinOperator node);
- E visitForeignExpression(ForeignExpression node);
}
abstract class ExpressionVisitor1<E, A> {
@@ -912,7 +855,6 @@ abstract class ExpressionVisitor1<E, A> {
E visitTypeExpression(TypeExpression node, A arg);
E visitCreateInvocationMirror(CreateInvocationMirror node, A arg);
E visitApplyBuiltinOperator(ApplyBuiltinOperator node, A arg);
- E visitForeignExpression(ForeignExpression node, A arg);
}
abstract class StatementVisitor<S> {
@@ -929,7 +871,6 @@ abstract class StatementVisitor<S> {
S visitExpressionStatement(ExpressionStatement node);
S visitTry(Try node);
S visitUnreachable(Unreachable node);
- S visitForeignStatement(ForeignStatement node);
}
abstract class StatementVisitor1<S, A> {
@@ -946,7 +887,6 @@ abstract class StatementVisitor1<S, A> {
S visitExpressionStatement(ExpressionStatement node, A arg);
S visitTry(Try node, A arg);
S visitUnreachable(Unreachable node, A arg);
- S visitForeignStatement(ForeignStatement node, A arg);
}
abstract class RecursiveVisitor implements StatementVisitor, ExpressionVisitor {
@@ -1112,19 +1052,11 @@ abstract class RecursiveVisitor implements StatementVisitor, ExpressionVisitor {
node.arguments.forEach(visitExpression);
}
- visitUnreachable(Unreachable node) {
- }
+ visitUnreachable(Unreachable node) {}
visitApplyBuiltinOperator(ApplyBuiltinOperator node) {
node.arguments.forEach(visitExpression);
}
-
- visitForeignCode(ForeignCode node) {
- node.arguments.forEach(visitExpression);
- }
-
- visitForeignExpression(ForeignExpression node) => visitForeignCode(node);
- visitForeignStatement(ForeignStatement node) => visitForeignCode(node);
}
abstract class Transformer implements ExpressionVisitor<Expression>,
@@ -1322,16 +1254,6 @@ class RecursiveTransformer extends Transformer {
return node;
}
- visitForeignExpression(ForeignExpression node) {
- _replaceExpressions(node.arguments);
- return node;
- }
-
- visitForeignStatement(ForeignStatement node) {
- _replaceExpressions(node.arguments);
- return node;
- }
-
visitUnreachable(Unreachable node) {
return node;
}
« no previous file with comments | « pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart ('k') | pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698