Index: dart/compiler/java/com/google/dart/compiler/ast/DartNode.java |
diff --git a/dart/compiler/java/com/google/dart/compiler/ast/DartNode.java b/dart/compiler/java/com/google/dart/compiler/ast/DartNode.java |
deleted file mode 100644 |
index 5079d1bc061154f40b665f1513e0b2eae714f6ea..0000000000000000000000000000000000000000 |
--- a/dart/compiler/java/com/google/dart/compiler/ast/DartNode.java |
+++ /dev/null |
@@ -1,125 +0,0 @@ |
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-package com.google.dart.compiler.ast; |
- |
-import com.google.dart.compiler.common.AbstractNode; |
-import com.google.dart.compiler.resolver.Element; |
-import com.google.dart.compiler.type.Type; |
-import com.google.dart.compiler.util.DefaultTextOutput; |
- |
-import java.util.List; |
- |
-/** |
- * Base class for all Dart AST nodes. |
- */ |
-public abstract class DartNode extends AbstractNode { |
- private DartNode parent; |
- private Type type; |
- |
- public final String toSource() { |
- DefaultTextOutput out = new DefaultTextOutput(false); |
- accept(new DartToSourceVisitor(out)); |
- return out.toString(); |
- } |
- |
- public Element getElement() { |
- return null; |
- } |
- |
- public void setElement(Element element) { |
- throw new UnsupportedOperationException(getClass().getSimpleName()); |
- } |
- |
- public void setType(Type type) { |
- this.type = type; |
- } |
- |
- public Type getType() { |
- return type; |
- } |
- |
- @Override |
- public String toString() { |
- return this.toSource(); |
- } |
- |
- /** |
- * Returns this node's parent node, or <code>null</code> if this is the |
- * root node. |
- * <p> |
- * Note that the relationship between an AST node and its parent node |
- * may change over the lifetime of a node. |
- * |
- * @return the parent of this node, or <code>null</code> if none |
- */ |
- public final DartNode getParent() { |
- return parent; |
- } |
- |
- /** |
- * Return the node at the root of this node's AST structure. Note that this |
- * method's performance is linear with respect to the depth of the node in |
- * the AST structure (O(depth)). |
- * |
- * @return the node at the root of this node's AST structure |
- */ |
- public final DartNode getRoot() { |
- DartNode root = this; |
- DartNode parent = getParent(); |
- while (parent != null) { |
- root = parent; |
- parent = root.getParent(); |
- } |
- return root; |
- } |
- |
- protected <T extends DartNode> T becomeParentOf(T child) { |
- if (child != null) { |
- DartNode node = child; // Java 7 access rules require a temp of a concrete type. |
- node.setParent(this); |
- } |
- return child; |
- } |
- |
- protected <L extends List<? extends DartNode>> L becomeParentOf(L children) { |
- if (children != null) { |
- for (DartNode child : children) { |
- child.setParent(this); |
- } |
- } |
- return children; |
- } |
- |
- private void setParent(DartNode newParent) { |
- parent = newParent; |
- } |
- |
- public abstract void visitChildren(ASTVisitor<?> visitor); |
- |
- public abstract <R> R accept(ASTVisitor<R> visitor); |
- |
- @Override |
- public DartNode clone() { |
- // TODO (fabiomfv) - Implement proper cloning when strictly needed. |
- return this; |
- } |
- |
- public String getObjectIdentifier(){ |
- return super.toString(); |
- } |
- |
- /** |
- * If the given child is not <code>null</code>, use the given visitor to visit it. |
- * |
- * @param child the child to be visited |
- * @param visitor the visitor that will be used to visit the child |
- */ |
- protected void safelyVisitChild(DartNode child, ASTVisitor<?> visitor) { |
- if (child != null) { |
- child.accept(visitor); |
- } |
- } |
- |
-} |