| Index: pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
| diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
| index 8f4f38ae60657333e547178dee7b0ec9eb502338..2b6b9d61d847fbe4d8c675223c73c3fae7a3ca56 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
| @@ -14,13 +14,6 @@ import '../universe/universe.dart' show Selector, SelectorKind;
|
| import 'builtin_operator.dart';
|
| export '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;
|
| -
|
| abstract class Node {
|
| /// A pointer to the parent node. Is null until set by optimization passes.
|
| Node parent;
|
| @@ -736,26 +729,6 @@ class CreateInvocationMirror extends Primitive {
|
| accept(Visitor visitor) => visitor.visitCreateInvocationMirror(this);
|
| }
|
|
|
| -class ForeignCode extends Expression {
|
| - final js.Template codeTemplate;
|
| - final types.TypeMask type;
|
| - final List<Reference<Primitive>> arguments;
|
| - final native.NativeBehavior nativeBehavior;
|
| - final FunctionElement dependency;
|
| -
|
| - /// The continuation, if the foreign code is not a JavaScript 'throw',
|
| - /// otherwise null.
|
| - final Reference<Continuation> continuation;
|
| -
|
| - ForeignCode(this.codeTemplate, this.type, List<Primitive> arguments,
|
| - this.nativeBehavior, {Continuation continuation, this.dependency})
|
| - : arguments = _referenceList(arguments),
|
| - continuation = continuation == null ? null
|
| - : new Reference<Continuation>(continuation);
|
| -
|
| - accept(Visitor visitor) => visitor.visitForeignCode(this);
|
| -}
|
| -
|
| class Constant extends Primitive {
|
| final ConstantExpression expression;
|
| final values.ConstantValue value;
|
| @@ -990,9 +963,6 @@ abstract class Visitor<T> {
|
|
|
| // Conditions.
|
| T visitIsTrue(IsTrue node);
|
| -
|
| - // Support for literal foreign code.
|
| - T visitForeignCode(ForeignCode node);
|
| }
|
|
|
| /// Recursively visits the entire CPS term, and calls abstract `process*`
|
| @@ -1278,13 +1248,6 @@ class RecursiveVisitor implements Visitor {
|
| node.arguments.forEach(processReference);
|
| }
|
|
|
| - processForeignCode(ForeignCode node) {}
|
| - visitForeignCode(ForeignCode node) {
|
| - processForeignCode(node);
|
| - processReference(node.continuation);
|
| - node.arguments.forEach(processReference);
|
| - }
|
| -
|
| processUnreachable(Unreachable node) {}
|
| visitUnreachable(Unreachable node) {
|
| processUnreachable(node);
|
|
|