cleanup
This commit is contained in:
Generated
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<component name="ArtifactManager">
|
||||||
|
<artifact build-on-make="true" name="dart-ast-src">
|
||||||
|
<output-path>$PROJECT_DIR$/out/artifacts</output-path>
|
||||||
|
<root id="root">
|
||||||
|
<element id="archive" name="dart-ast-src.jar">
|
||||||
|
<element id="dir-copy" path="$PROJECT_DIR$/src" />
|
||||||
|
</element>
|
||||||
|
</root>
|
||||||
|
</artifact>
|
||||||
|
</component>
|
||||||
@@ -200,7 +200,7 @@ public class JsToStringGenerationVisitor extends JsVisitor {
|
|||||||
private TIntArrayList statementStarts = new TIntArrayList();
|
private TIntArrayList statementStarts = new TIntArrayList();
|
||||||
|
|
||||||
public JsToStringGenerationVisitor(TextOutput out) {
|
public JsToStringGenerationVisitor(TextOutput out) {
|
||||||
this.p = out;
|
p = out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1252,10 +1252,7 @@ public class JsToStringGenerationVisitor extends JsVisitor {
|
|||||||
* If the binary operation has a higher precedence than op, then it won't
|
* If the binary operation has a higher precedence than op, then it won't
|
||||||
* be parenthesized, so check the first argument of the binary operation.
|
* be parenthesized, so check the first argument of the binary operation.
|
||||||
*/
|
*/
|
||||||
if (binary.getOperator().getPrecedence() > op.getPrecedence()) {
|
return binary.getOperator().getPrecedence() > op.getPrecedence() && spaceCalc(op, binary.getArg1());
|
||||||
return spaceCalc(op, binary.getArg1());
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
if (arg instanceof JsPrefixOperation) {
|
if (arg instanceof JsPrefixOperation) {
|
||||||
JsOperator op2 = ((JsPrefixOperation) arg).getOperator();
|
JsOperator op2 = ((JsPrefixOperation) arg).getOperator();
|
||||||
|
|||||||
@@ -53,12 +53,12 @@ public final class JsArrayAccess extends JsExpressionImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
arrayExpr = v.accept(arrayExpr);
|
arrayExpr = v.accept(arrayExpr);
|
||||||
indexExpr = v.accept(indexExpr);
|
indexExpr = v.accept(indexExpr);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -57,11 +57,11 @@ public final class JsArrayLiteral extends JsLiteral {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
v.acceptWithInsertRemove(expressions);
|
v.acceptWithInsertRemove(expressions);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -81,8 +81,8 @@ public final class JsBinaryOperation extends JsExpressionImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
if (op.isAssignment()) {
|
if (op.isAssignment()) {
|
||||||
arg1 = v.acceptLvalue(arg1);
|
arg1 = v.acceptLvalue(arg1);
|
||||||
} else {
|
} else {
|
||||||
@@ -90,7 +90,7 @@ public final class JsBinaryOperation extends JsExpressionImpl {
|
|||||||
}
|
}
|
||||||
arg2 = v.accept(arg2);
|
arg2 = v.accept(arg2);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -44,11 +44,11 @@ public class JsBlock extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
v.acceptWithInsertRemove(statements);
|
v.acceptWithInsertRemove(statements);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -22,12 +22,12 @@ public final class JsBreak extends JsContinue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
if (label != null) {
|
if (label != null) {
|
||||||
v.accept(label);
|
v.accept(label);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,12 +24,12 @@ public final class JsCase extends JsSwitchMember {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
caseExpr = v.accept(caseExpr);
|
caseExpr = v.accept(caseExpr);
|
||||||
v.acceptWithInsertRemove(statements);
|
v.acceptWithInsertRemove(statements);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -48,15 +48,15 @@ public class JsCatch extends JsNodeImpl implements HasCondition {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
param = v.accept(param);
|
param = v.accept(param);
|
||||||
if (condition != null) {
|
if (condition != null) {
|
||||||
condition = v.accept(condition);
|
condition = v.accept(condition);
|
||||||
}
|
}
|
||||||
body = v.accept(body);
|
body = v.accept(body);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -61,13 +61,13 @@ public final class JsConditional extends JsExpressionImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
testExpr = v.accept(testExpr);
|
testExpr = v.accept(testExpr);
|
||||||
thenExpr = v.accept(thenExpr);
|
thenExpr = v.accept(thenExpr);
|
||||||
elseExpr = v.accept(elseExpr);
|
elseExpr = v.accept(elseExpr);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -26,13 +26,13 @@ public class JsContinue extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
if (label != null) {
|
if (label != null) {
|
||||||
v.accept(label);
|
v.accept(label);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ public class JsDebugger extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ public final class JsDefault extends JsSwitchMember {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
v.acceptWithInsertRemove(statements);
|
v.acceptWithInsertRemove(statements);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -21,11 +21,11 @@ public class JsDoWhile extends JsWhile {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
condition = v.accept(condition);
|
condition = v.accept(condition);
|
||||||
body = v.accept(body);
|
body = v.accept(body);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.google.dart.compiler.backend.js.ast;
|
||||||
|
|
||||||
|
public class JsDocComment extends JsNodeImpl implements JsStatement {
|
||||||
|
@Override
|
||||||
|
public NodeKind getKind() {
|
||||||
|
return null; //To change body of implemented methods use File | Settings | File Templates.
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void traverse(JsVisitor visitor, JsContext context) {
|
||||||
|
//To change body of implemented methods use File | Settings | File Templates.
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,9 +13,9 @@ public class JsEmpty extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -18,11 +18,11 @@ public final class JsExprStmt extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
expr = v.accept(expr);
|
expr = v.accept(expr);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -63,8 +63,8 @@ public class JsFor extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
assert (!(initExpr != null && initVars != null));
|
assert (!(initExpr != null && initVars != null));
|
||||||
|
|
||||||
if (initExpr != null) {
|
if (initExpr != null) {
|
||||||
@@ -83,7 +83,7 @@ public class JsFor extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
body = v.accept(body);
|
body = v.accept(body);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -53,15 +53,15 @@ public class JsForIn extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
if (iterExpr != null) {
|
if (iterExpr != null) {
|
||||||
iterExpr = v.acceptLvalue(iterExpr);
|
iterExpr = v.acceptLvalue(iterExpr);
|
||||||
}
|
}
|
||||||
objExpr = v.accept(objExpr);
|
objExpr = v.accept(objExpr);
|
||||||
body = v.accept(body);
|
body = v.accept(body);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -91,12 +91,12 @@ public final class JsFunction extends JsLiteral implements HasName {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
v.acceptWithInsertRemove(params);
|
v.acceptWithInsertRemove(params);
|
||||||
body = v.accept(body);
|
body = v.accept(body);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -38,28 +38,28 @@ public final class JsIf extends JsNodeImpl implements JsStatement {
|
|||||||
return thenStatement;
|
return thenStatement;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setElseStatement(JsStatement elseStmt) {
|
public void setElseStatement(JsStatement elseStatement) {
|
||||||
this.elseStatement = elseStmt;
|
this.elseStatement = elseStatement;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIfExpression(JsExpression ifExpr) {
|
public void setIfExpression(JsExpression ifExpression) {
|
||||||
this.ifExpression = ifExpr;
|
this.ifExpression = ifExpression;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setThenStatement(JsStatement thenStmt) {
|
public void setThenStatement(JsStatement thenStatement) {
|
||||||
this.thenStatement = thenStmt;
|
this.thenStatement = thenStatement;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
ifExpression = v.accept(ifExpression);
|
ifExpression = v.accept(ifExpression);
|
||||||
thenStatement = v.accept(thenStatement);
|
thenStatement = v.accept(thenStatement);
|
||||||
if (elseStatement != null) {
|
if (elseStatement != null) {
|
||||||
elseStatement = v.accept(elseStatement);
|
elseStatement = v.accept(elseStatement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -68,12 +68,12 @@ public final class JsInvocation extends JsExpressionImpl implements HasArguments
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
qualifier = v.accept(qualifier);
|
qualifier = v.accept(qualifier);
|
||||||
v.acceptList(arguments);
|
v.acceptList(arguments);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -38,11 +38,11 @@ public class JsLabel extends JsNodeImpl implements JsStatement, HasName {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
stmt = v.accept(stmt);
|
stmt = v.accept(stmt);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -43,9 +43,9 @@ public abstract class JsLiteral extends JsExpressionImpl implements CanBooleanEv
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -87,9 +87,9 @@ public abstract class JsLiteral extends JsExpressionImpl implements CanBooleanEv
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -109,13 +109,13 @@ public final class JsNameRef extends JsExpressionImpl implements CanBooleanEval,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
if (qualifier != null) {
|
if (qualifier != null) {
|
||||||
qualifier = v.accept(qualifier);
|
qualifier = v.accept(qualifier);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -51,12 +51,12 @@ public final class JsNew extends JsExpressionImpl implements HasArguments {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
ctorExpression = v.accept(ctorExpression);
|
ctorExpression = v.accept(ctorExpression);
|
||||||
v.acceptList(arguments);
|
v.acceptList(arguments);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.google.dart.compiler.backend.js.ast;
|
package com.google.dart.compiler.backend.js.ast;
|
||||||
|
|
||||||
import com.google.dart.compiler.backend.js.JsSourceGenerationVisitor;
|
|
||||||
import com.google.dart.compiler.backend.js.JsToStringGenerationVisitor;
|
import com.google.dart.compiler.backend.js.JsToStringGenerationVisitor;
|
||||||
import com.google.dart.compiler.common.AbstractNode;
|
import com.google.dart.compiler.common.AbstractNode;
|
||||||
import com.google.dart.compiler.common.SourceInfo;
|
import com.google.dart.compiler.common.SourceInfo;
|
||||||
@@ -10,20 +9,10 @@ abstract class JsNodeImpl extends AbstractNode implements JsNode {
|
|||||||
protected JsNodeImpl() {
|
protected JsNodeImpl() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Causes source generation to delegate to the one visitor
|
|
||||||
public final String toSource() {
|
|
||||||
TextOutputImpl out = new TextOutputImpl();
|
|
||||||
JsSourceGenerationVisitor v = new JsSourceGenerationVisitor(out);
|
|
||||||
v.accept(this);
|
|
||||||
return out.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Causes source generation to delegate to the one visitor
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
TextOutputImpl out = new TextOutputImpl();
|
TextOutputImpl out = new TextOutputImpl();
|
||||||
JsToStringGenerationVisitor v = new JsToStringGenerationVisitor(out);
|
new JsToStringGenerationVisitor(out).accept(this);
|
||||||
v.accept(this);
|
|
||||||
return out.toString();
|
return out.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,7 +23,7 @@ abstract class JsNodeImpl extends AbstractNode implements JsNode {
|
|||||||
|
|
||||||
public JsNode setSourceRef(SourceInfo info) {
|
public JsNode setSourceRef(SourceInfo info) {
|
||||||
if (info != null) {
|
if (info != null) {
|
||||||
this.setSourceInfo(info);
|
setSourceInfo(info);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ public final class JsNullLiteral extends JsValueLiteral {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -38,9 +38,9 @@ public abstract class JsNumberLiteral extends JsValueLiteral {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
@@ -66,9 +66,9 @@ public abstract class JsNumberLiteral extends JsValueLiteral {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|||||||
@@ -69,11 +69,11 @@ public final class JsObjectLiteral extends JsLiteral {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
v.acceptWithInsertRemove(properties);
|
v.acceptWithInsertRemove(properties);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ public final class JsParameter extends JsNodeImpl implements HasName {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ public final class JsPostfixOperation extends JsUnaryOperation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
super.traverse(v, ctx);
|
super.traverse(v, context);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -55,11 +55,11 @@ public final class JsPrefixOperation extends JsUnaryOperation implements CanBool
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
super.traverse(v, ctx);
|
super.traverse(v, context);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -112,13 +112,13 @@ public final class JsProgram extends JsNodeImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, @Nullable JsContext ctx) {
|
public void traverse(JsVisitor v, @Nullable JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
for (JsProgramFragment fragment : fragments) {
|
for (JsProgramFragment fragment : fragments) {
|
||||||
v.accept(fragment);
|
v.accept(fragment);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -20,11 +20,11 @@ public class JsProgramFragment extends JsNodeImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
v.accept(globalBlock);
|
v.accept(globalBlock);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -39,12 +39,12 @@ public class JsPropertyInitializer extends JsNodeImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
labelExpr = v.accept(labelExpr);
|
labelExpr = v.accept(labelExpr);
|
||||||
valueExpr = v.accept(valueExpr);
|
valueExpr = v.accept(valueExpr);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -52,9 +52,9 @@ public final class JsRegExp extends JsValueLiteral {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ public final class JsReturn extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
if (expr != null) {
|
if (expr != null) {
|
||||||
expr = v.accept(expr);
|
expr = v.accept(expr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -41,9 +41,9 @@ public final class JsStringLiteral extends JsValueLiteral {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
v.visit(this, ctx);
|
v.visit(this, context);
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -32,12 +32,12 @@ public class JsSwitch extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
expr = v.accept(expr);
|
expr = v.accept(expr);
|
||||||
v.acceptWithInsertRemove(cases);
|
v.acceptWithInsertRemove(cases);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ public class JsThrow extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
expression = v.accept(expression);
|
expression = v.accept(expression);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -48,15 +48,15 @@ public class JsTry extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
tryBlock = v.accept(tryBlock);
|
tryBlock = v.accept(tryBlock);
|
||||||
v.acceptWithInsertRemove(catches);
|
v.acceptWithInsertRemove(catches);
|
||||||
if (finallyBlock != null) {
|
if (finallyBlock != null) {
|
||||||
finallyBlock = v.accept(finallyBlock);
|
finallyBlock = v.accept(finallyBlock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public abstract class JsUnaryOperation extends JsExpressionImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (op.isModifying()) {
|
if (op.isModifying()) {
|
||||||
// The delete operator is practically like an assignment of undefined, so
|
// The delete operator is practically like an assignment of undefined, so
|
||||||
// for practical purposes we're treating it as an lvalue.
|
// for practical purposes we're treating it as an lvalue.
|
||||||
|
|||||||
@@ -82,13 +82,13 @@ public class JsVars extends JsNodeImpl implements JsStatement, Iterable<JsVars.J
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
if (initExpression != null) {
|
if (initExpression != null) {
|
||||||
initExpression = v.accept(initExpression);
|
initExpression = v.accept(initExpression);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -123,11 +123,11 @@ public class JsVars extends JsNodeImpl implements JsStatement, Iterable<JsVars.J
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
v.acceptWithInsertRemove(vars);
|
v.acceptWithInsertRemove(vars);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ public interface JsVisitable {
|
|||||||
* Causes this object to have the visitor visit itself and its children.
|
* Causes this object to have the visitor visit itself and its children.
|
||||||
*
|
*
|
||||||
* @param visitor the visitor that should traverse this node
|
* @param visitor the visitor that should traverse this node
|
||||||
* @param ctx the context of an existing traversal
|
* @param context the context of an existing traversal
|
||||||
*/
|
*/
|
||||||
void traverse(JsVisitor visitor, JsContext ctx);
|
void traverse(JsVisitor visitor, JsContext context);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ public class JsVisitor {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public final <T extends JsVisitable> T accept(T node) {
|
public final <T extends JsVisitable> T accept(T node) {
|
||||||
return this.doAccept(node);
|
return doAccept(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final <T extends JsVisitable> void acceptList(List<T> collection) {
|
public final <T extends JsVisitable> void acceptList(List<T> collection) {
|
||||||
@@ -105,10 +105,6 @@ public class JsVisitor {
|
|||||||
doAcceptWithInsertRemove(collection);
|
doAcceptWithInsertRemove(collection);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean didChange() {
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void endVisit(JsArrayAccess x, JsContext ctx) {
|
public void endVisit(JsArrayAccess x, JsContext ctx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,12 +36,12 @@ public class JsWhile extends JsNodeImpl implements JsStatement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void traverse(JsVisitor v, JsContext ctx) {
|
public void traverse(JsVisitor v, JsContext context) {
|
||||||
if (v.visit(this, ctx)) {
|
if (v.visit(this, context)) {
|
||||||
condition = v.accept(condition);
|
condition = v.accept(condition);
|
||||||
body = v.accept(body);
|
body = v.accept(body);
|
||||||
}
|
}
|
||||||
v.endVisit(this, ctx);
|
v.endVisit(this, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user