Index: compiler/java/com/google/dart/compiler/backend/js/ast/JsNameRef.java |
diff --git a/compiler/java/com/google/dart/compiler/backend/js/ast/JsNameRef.java b/compiler/java/com/google/dart/compiler/backend/js/ast/JsNameRef.java |
deleted file mode 100644 |
index fd07125e98b80ed7059b870fa6302afb790663e0..0000000000000000000000000000000000000000 |
--- a/compiler/java/com/google/dart/compiler/backend/js/ast/JsNameRef.java |
+++ /dev/null |
@@ -1,120 +0,0 @@ |
-// Copyright (c) 2011, 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.backend.js.ast; |
- |
-import com.google.dart.compiler.common.Symbol; |
- |
-/** |
- * Represents a JavaScript expression that references a name. |
- */ |
-public final class JsNameRef extends JsExpression implements CanBooleanEval, HasName { |
- |
- private String ident; |
- private JsName name; |
- private JsExpression qualifier; |
- |
- public JsNameRef(JsName name) { |
- this.name = name; |
- } |
- |
- public JsNameRef(String ident) { |
- this.ident = ident; |
- } |
- |
- public String getIdent() { |
- return (name == null) ? ident : name.getIdent(); |
- } |
- |
- @Override |
- public JsName getName() { |
- return name; |
- } |
- |
- @Override |
- public Symbol getSymbol() { |
- return name; |
- } |
- |
- public JsExpression getQualifier() { |
- return qualifier; |
- } |
- |
- public String getShortIdent() { |
- return (name == null) ? ident : name.getShortIdent(); |
- } |
- |
- @Override |
- public boolean hasSideEffects() { |
- if (qualifier == null) { |
- return false; |
- } |
- if (!qualifier.isDefinitelyNotNull()) { |
- // Could trigger NPE. |
- return true; |
- } |
- return qualifier.hasSideEffects(); |
- } |
- |
- @Override |
- public boolean isBooleanFalse() { |
- return isDefinitelyNull(); |
- } |
- |
- @Override |
- public boolean isBooleanTrue() { |
- return false; |
- } |
- |
- @Override |
- public boolean isDefinitelyNotNull() { |
- // TODO: look for single-assignment of stuff from Java? |
- return false; |
- } |
- |
- @Override |
- public boolean isDefinitelyNull() { |
- if (name != null) { |
- return (name.getEnclosing().getProgram().getUndefinedLiteral().getName() == name); |
- } |
- return false; |
- } |
- |
- @Override |
- public boolean isLeaf() { |
- if (qualifier == null) { |
- return true; |
- } else { |
- return false; |
- } |
- } |
- |
- public boolean isResolved() { |
- return name != null; |
- } |
- |
- public void resolve(JsName name) { |
- this.name = name; |
- this.ident = null; |
- } |
- |
- public void setQualifier(JsExpression qualifier) { |
- this.qualifier = qualifier; |
- } |
- |
- @Override |
- public void traverse(JsVisitor v, JsContext ctx) { |
- if (v.visit(this, ctx)) { |
- if (qualifier != null) { |
- qualifier = v.accept(qualifier); |
- } |
- } |
- v.endVisit(this, ctx); |
- } |
- |
- @Override |
- public NodeKind getKind() { |
- return NodeKind.NAME_REF; |
- } |
-} |