| Index: compiler/java/com/google/dart/compiler/util/AstUtil.java
|
| diff --git a/compiler/java/com/google/dart/compiler/util/AstUtil.java b/compiler/java/com/google/dart/compiler/util/AstUtil.java
|
| deleted file mode 100644
|
| index 11f7211fff9b31071b0836edeb2a716ab3f142db..0000000000000000000000000000000000000000
|
| --- a/compiler/java/com/google/dart/compiler/util/AstUtil.java
|
| +++ /dev/null
|
| @@ -1,226 +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.util;
|
| -
|
| -import com.google.dart.compiler.InternalCompilerException;
|
| -import com.google.dart.compiler.backend.js.ast.JsArrayAccess;
|
| -import com.google.dart.compiler.backend.js.ast.JsBinaryOperation;
|
| -import com.google.dart.compiler.backend.js.ast.JsBinaryOperator;
|
| -import com.google.dart.compiler.backend.js.ast.JsBlock;
|
| -import com.google.dart.compiler.backend.js.ast.JsCase;
|
| -import com.google.dart.compiler.backend.js.ast.JsDefault;
|
| -import com.google.dart.compiler.backend.js.ast.JsExpression;
|
| -import com.google.dart.compiler.backend.js.ast.JsFunction;
|
| -import com.google.dart.compiler.backend.js.ast.JsInvocation;
|
| -import com.google.dart.compiler.backend.js.ast.JsName;
|
| -import com.google.dart.compiler.backend.js.ast.JsNameRef;
|
| -import com.google.dart.compiler.backend.js.ast.JsParameter;
|
| -import com.google.dart.compiler.backend.js.ast.JsPrefixOperation;
|
| -import com.google.dart.compiler.backend.js.ast.JsScope;
|
| -import com.google.dart.compiler.backend.js.ast.JsStatement;
|
| -import com.google.dart.compiler.backend.js.ast.JsSwitch;
|
| -import com.google.dart.compiler.backend.js.ast.JsSwitchMember;
|
| -import com.google.dart.compiler.backend.js.ast.JsUnaryOperator;
|
| -import com.google.dart.compiler.backend.js.ast.JsVars;
|
| -import com.google.dart.compiler.backend.js.ast.JsVars.JsVar;
|
| -import com.google.dart.compiler.common.SourceInfo;
|
| -
|
| -/**
|
| - * @author johnlenz@google.com (John Lenz)
|
| - */
|
| -public class AstUtil {
|
| -
|
| - public static JsInvocation newInvocation(
|
| - JsExpression target, JsExpression ... params) {
|
| - JsInvocation invoke = new JsInvocation();
|
| - invoke.setQualifier(target);
|
| - for (JsExpression expr : params) {
|
| - invoke.getArguments().add(expr);
|
| - }
|
| - return invoke;
|
| - }
|
| -
|
| - public static JsNameRef newQualifiedNameRef(String name) {
|
| - JsNameRef node = null;
|
| - int endPos = -1;
|
| - int startPos = 0;
|
| - do {
|
| - endPos = name.indexOf('.', startPos);
|
| - String part = (endPos == -1
|
| - ? name.substring(startPos)
|
| - : name.substring(startPos, endPos));
|
| - node = newNameRef(node, part);
|
| - startPos = endPos + 1;
|
| - } while (endPos != -1);
|
| -
|
| - return node;
|
| - }
|
| -
|
| - public static JsNameRef newNameRef(JsExpression qualifier, String prop) {
|
| - JsNameRef nameRef = new JsNameRef(prop);
|
| - if (qualifier != null) {
|
| - nameRef.setQualifier(qualifier);
|
| - }
|
| - return nameRef;
|
| - }
|
| -
|
| - public static JsNameRef nameref(SourceInfo info, JsName qualifier, JsName prop) {
|
| - JsNameRef nameRef = new JsNameRef(prop);
|
| - if (qualifier != null) {
|
| - nameRef.setQualifier(qualifier.makeRef());
|
| - }
|
| - nameRef.setSourceRef(info);
|
| - return nameRef;
|
| - }
|
| -
|
| - public static JsNameRef newNameRef(JsExpression qualifier, JsName prop) {
|
| - JsNameRef nameRef = new JsNameRef(prop);
|
| - if (qualifier != null) {
|
| - nameRef.setQualifier(qualifier);
|
| - }
|
| - return nameRef;
|
| - }
|
| -
|
| - public static JsNameRef newPrototypeNameRef(JsExpression qualifier) {
|
| - return newNameRef(qualifier, "prototype");
|
| - }
|
| -
|
| - public static JsArrayAccess newArrayAccess(JsExpression target, JsExpression key) {
|
| - JsArrayAccess arr = new JsArrayAccess();
|
| - arr.setArrayExpr(target);
|
| - arr.setIndexExpr(key);
|
| - return arr;
|
| - }
|
| -
|
| - public static JsBlock newBlock(JsStatement ... stmts) {
|
| - JsBlock jsBlock = new JsBlock();
|
| - for (JsStatement stmt : stmts) {
|
| - jsBlock.getStatements().add(stmt);
|
| - }
|
| - return jsBlock;
|
| - }
|
| -
|
| - /**
|
| - * Returns a sequence of expressions (using the binary sequence operator).
|
| - * @param exprs - expressions to add to sequence
|
| - * @return a sequence of expressions.
|
| - */
|
| - public static JsBinaryOperation newSequence(JsExpression ... exprs) {
|
| - if (exprs.length < 2) {
|
| - throw new InternalCompilerException("newSequence expects at least two arguments");
|
| - }
|
| - JsExpression result = exprs[exprs.length - 1];
|
| - for (int i = exprs.length - 2; i >= 0; i--) {
|
| - result = new JsBinaryOperation(JsBinaryOperator.COMMA, exprs[i], result);
|
| - }
|
| - return (JsBinaryOperation) result;
|
| - }
|
| -
|
| - // Ensure a valid LHS
|
| - public static JsBinaryOperation newAssignment(
|
| - JsNameRef nameRef, JsExpression expr) {
|
| - return new JsBinaryOperation(JsBinaryOperator.ASG, nameRef, expr);
|
| - }
|
| -
|
| - public static JsBinaryOperation newAssignment(
|
| - JsArrayAccess target, JsExpression expr) {
|
| - return new JsBinaryOperation(JsBinaryOperator.ASG, target, expr);
|
| - }
|
| -
|
| - public static JsVars newVar(SourceInfo info, JsName name, JsExpression expr) {
|
| - JsVar var = new JsVar(name).setSourceRef(info);
|
| - var.setInitExpr(expr);
|
| - JsVars vars = new JsVars();
|
| - vars.add(var);
|
| - return vars;
|
| - }
|
| -
|
| - public static JsSwitch newSwitch(
|
| - JsExpression expr, JsSwitchMember ... cases) {
|
| - JsSwitch jsSwitch = new JsSwitch();
|
| - jsSwitch.setExpr(expr);
|
| - for (JsSwitchMember jsCase : cases) {
|
| - jsSwitch.getCases().add(jsCase);
|
| - }
|
| - return jsSwitch;
|
| - }
|
| -
|
| - public static JsCase newCase(JsExpression expr, JsStatement ... stmts) {
|
| - JsCase jsCase = new JsCase();
|
| - jsCase.setCaseExpr(expr);
|
| - for (JsStatement stmt : stmts) {
|
| - jsCase.getStmts().add(stmt);
|
| - }
|
| - return jsCase;
|
| - }
|
| -
|
| - public static JsDefault newDefaultCase(JsStatement ... stmts) {
|
| - JsDefault jsCase = new JsDefault();
|
| - for (JsStatement stmt : stmts) {
|
| - jsCase.getStmts().add(stmt);
|
| - }
|
| - return jsCase;
|
| - }
|
| -
|
| - public static JsFunction newFunction(
|
| - JsScope scope, JsName name, JsParameter[] params, JsStatement ... stmts) {
|
| - JsFunction fn = new JsFunction(scope);
|
| - if (name != null) {
|
| - fn.setName(name);
|
| - }
|
| - if (params != null) {
|
| - for (JsParameter param : params) {
|
| - fn.getParameters().add(param);
|
| - }
|
| - }
|
| - fn.setBody(newBlock(stmts));
|
| - return fn;
|
| - }
|
| -
|
| - public static JsInvocation call(SourceInfo src, JsExpression target, JsExpression ... params) {
|
| - return (JsInvocation) newInvocation(target, params).setSourceRef(src);
|
| - }
|
| -
|
| - public static JsBinaryOperation comma(SourceInfo src, JsExpression op1, JsExpression op2) {
|
| - return (JsBinaryOperation)new JsBinaryOperation(JsBinaryOperator.COMMA, op1, op2)
|
| - .setSourceRef(src);
|
| - }
|
| -
|
| - public static JsNameRef nameref(SourceInfo src, String name) {
|
| - return (JsNameRef) new JsNameRef(name).setSourceRef(src);
|
| - }
|
| -
|
| - public static JsNameRef nameref(SourceInfo src, JsName qualifier, String prop) {
|
| - return AstUtil.nameref(src, qualifier.makeRef().setSourceRef(src), prop);
|
| - }
|
| -
|
| - public static JsNameRef nameref(SourceInfo src, JsExpression qualifier, String prop) {
|
| - return (JsNameRef) newNameRef(qualifier, prop).setSourceRef(src);
|
| - }
|
| -
|
| - public static JsExpression assign(SourceInfo src, JsNameRef op1, JsExpression op2) {
|
| - return newAssignment(op1, op2).setSourceRef(src);
|
| - }
|
| -
|
| - public static JsExpression neq(SourceInfo src, JsExpression op1, JsExpression op2) {
|
| - return new JsBinaryOperation(JsBinaryOperator.NEQ, op1, op2).setSourceRef(src);
|
| - }
|
| -
|
| - public static JsExpression not(SourceInfo src, JsExpression op1) {
|
| - return new JsPrefixOperation(JsUnaryOperator.NOT, op1).setSourceRef(src);
|
| - }
|
| -
|
| - public static JsExpression preinc(SourceInfo src, JsExpression op1) {
|
| - return new JsPrefixOperation(JsUnaryOperator.INC, op1).setSourceRef(src);
|
| - }
|
| -
|
| - public static JsExpression and(SourceInfo src, JsExpression op1, JsExpression op2) {
|
| - return new JsBinaryOperation(JsBinaryOperator.AND, op1, op2).setSourceRef(src);
|
| - }
|
| -
|
| - public static JsExpression in(SourceInfo src, JsExpression propName, JsExpression obj) {
|
| - return new JsBinaryOperation(JsBinaryOperator.INOP, propName, obj).setSourceRef(src);
|
| - }
|
| -}
|
|
|