diff --git a/src/com/google/dart/compiler/backend/js/JsConstructExpressionVisitor.java b/src/com/google/dart/compiler/backend/js/JsConstructExpressionVisitor.java index c0b1a24254e..5524261a515 100644 --- a/src/com/google/dart/compiler/backend/js/JsConstructExpressionVisitor.java +++ b/src/com/google/dart/compiler/backend/js/JsConstructExpressionVisitor.java @@ -29,7 +29,7 @@ public class JsConstructExpressionVisitor extends RecursiveJsVisitor { * We only look at the array expression since the index has its own scope. */ @Override - public void visitArrayAccess(JsArrayAccess x, JsContext ctx) { + public void visitArrayAccess(JsArrayAccess x) { accept(x.getArrayExpression()); } @@ -37,25 +37,25 @@ public class JsConstructExpressionVisitor extends RecursiveJsVisitor { * Array literals have their own scoping. */ @Override - public void visitArray(JsArrayLiteral x, JsContext ctx) { + public void visitArray(JsArrayLiteral x) { } /** * Functions have their own scoping. */ @Override - public void visitFunction(JsFunction x, JsContext ctx) { + public void visitFunction(JsFunction x) { } @Override - public void visitInvocation(JsInvocation x, JsContext ctx) { + public void visitInvocation(JsInvocation x) { containsInvocation = true; } @Override - public void visitNameRef(JsNameRef x, JsContext ctx) { - if (!x.isLeaf()) { - accept(x.getQualifier()); + public void visitNameRef(JsNameRef nameRef) { + if (!nameRef.isLeaf()) { + accept(nameRef.getQualifier()); } } @@ -63,14 +63,14 @@ public class JsConstructExpressionVisitor extends RecursiveJsVisitor { * New constructs bind to the nearest set of parentheses. */ @Override - public void visitNew(JsNew x, JsContext ctx) { + public void visitNew(JsNew x) { } /** * Object literals have their own scope. */ @Override - public void visitObjectLiteral(JsObjectLiteral x, JsContext ctx) { + public void visitObjectLiteral(JsObjectLiteral x) { } /** diff --git a/src/com/google/dart/compiler/backend/js/JsFirstExpressionVisitor.java b/src/com/google/dart/compiler/backend/js/JsFirstExpressionVisitor.java index 4901391d1c4..e2308a0344b 100644 --- a/src/com/google/dart/compiler/backend/js/JsFirstExpressionVisitor.java +++ b/src/com/google/dart/compiler/backend/js/JsFirstExpressionVisitor.java @@ -49,56 +49,56 @@ public class JsFirstExpressionVisitor extends RecursiveJsVisitor { } @Override - public void visitArrayAccess(JsArrayAccess x, JsContext ctx) { + public void visitArrayAccess(JsArrayAccess x) { accept(x.getArrayExpression()); } @Override - public void visitArray(JsArrayLiteral x, JsContext ctx) { + public void visitArray(JsArrayLiteral x) { } @Override - public void visitBinaryExpression(JsBinaryOperation x, JsContext ctx) { + public void visitBinaryExpression(JsBinaryOperation x) { accept(x.getArg1()); } @Override - public void visitConditional(JsConditional x, JsContext ctx) { + public void visitConditional(JsConditional x) { accept(x.getTestExpression()); } @Override - public void visitFunction(JsFunction x, JsContext ctx) { + public void visitFunction(JsFunction x) { needsParentheses = true; } @Override - public void visitInvocation(JsInvocation x, JsContext ctx) { + public void visitInvocation(JsInvocation x) { accept(x.getQualifier()); } @Override - public void visitNameRef(JsNameRef x, JsContext ctx) { - if (!x.isLeaf()) { - accept(x.getQualifier()); + public void visitNameRef(JsNameRef nameRef) { + if (!nameRef.isLeaf()) { + accept(nameRef.getQualifier()); } } @Override - public void visitNew(JsNew x, JsContext ctx) { + public void visitNew(JsNew x) { } @Override - public void visitObjectLiteral(JsObjectLiteral x, JsContext ctx) { + public void visitObjectLiteral(JsObjectLiteral x) { needsParentheses = true; } @Override - public void visitPostfixOperation(JsPostfixOperation x, JsContext ctx) { + public void visitPostfixOperation(JsPostfixOperation x) { accept(x.getArg()); } @Override - public void visitPrefixOperation(JsPrefixOperation x, JsContext ctx) { + public void visitPrefixOperation(JsPrefixOperation x) { } } diff --git a/src/com/google/dart/compiler/backend/js/JsPrecedenceVisitor.java b/src/com/google/dart/compiler/backend/js/JsPrecedenceVisitor.java index 28625e07e85..77fcf9b83f6 100644 --- a/src/com/google/dart/compiler/backend/js/JsPrecedenceVisitor.java +++ b/src/com/google/dart/compiler/backend/js/JsPrecedenceVisitor.java @@ -45,43 +45,43 @@ class JsPrecedenceVisitor extends JsVisitor { } @Override - public void visitArrayAccess(JsArrayAccess x, JsContext ctx) { + public void visitArrayAccess(JsArrayAccess x) { answer = 16; } @Override - public void visitArray(JsArrayLiteral x, JsContext ctx) { + public void visitArray(JsArrayLiteral x) { answer = 17; // primary } @Override - public void visitBinaryExpression(JsBinaryOperation x, JsContext ctx) { + public void visitBinaryExpression(JsBinaryOperation x) { answer = x.getOperator().getPrecedence(); } @Override - public void visitBoolean(JsLiteral.JsBooleanLiteral x, JsContext ctx) { + public void visitBoolean(JsLiteral.JsBooleanLiteral x) { answer = 17; // primary } @Override - public void visitConditional(JsConditional x, JsContext ctx) { + public void visitConditional(JsConditional x) { answer = 3; } @Override - public void visitFunction(JsFunction x, JsContext ctx) { + public void visitFunction(JsFunction x) { answer = 17; // primary } @Override - public void visitInvocation(JsInvocation x, JsContext ctx) { + public void visitInvocation(JsInvocation x) { answer = 16; } @Override - public void visitNameRef(JsNameRef x, JsContext ctx) { - if (x.isLeaf()) { + public void visitNameRef(JsNameRef nameRef) { + if (nameRef.isLeaf()) { answer = 17; // primary } else { @@ -90,62 +90,62 @@ class JsPrecedenceVisitor extends JsVisitor { } @Override - public void visitNew(JsNew x, JsContext ctx) { + public void visitNew(JsNew x) { answer = PRECEDENCE_NEW; } @Override - public void visitNull(JsNullLiteral x, JsContext ctx) { + public void visitNull(JsNullLiteral x) { answer = 17; // primary } @Override - public void visitInt(JsNumberLiteral.JsIntLiteral x, JsContext ctx) { + public void visitInt(JsNumberLiteral.JsIntLiteral x) { answer = 17; // primary } @Override - public void visitDouble(JsNumberLiteral.JsDoubleLiteral x, JsContext ctx) { + public void visitDouble(JsNumberLiteral.JsDoubleLiteral x) { answer = 17; // primary } @Override - public void visitObjectLiteral(JsObjectLiteral x, JsContext ctx) { + public void visitObjectLiteral(JsObjectLiteral x) { answer = 17; // primary } @Override - public void visitPostfixOperation(JsPostfixOperation x, JsContext ctx) { + public void visitPostfixOperation(JsPostfixOperation x) { answer = x.getOperator().getPrecedence(); } @Override - public void visitPrefixOperation(JsPrefixOperation x, JsContext ctx) { + public void visitPrefixOperation(JsPrefixOperation x) { answer = x.getOperator().getPrecedence(); } @Override - public void visitPropertyInitializer(JsPropertyInitializer x, JsContext ctx) { + public void visitPropertyInitializer(JsPropertyInitializer x) { answer = 17; // primary } @Override - public void visitRegExp(JsRegExp x, JsContext ctx) { + public void visitRegExp(JsRegExp x) { answer = 17; // primary } @Override - public void visitString(JsStringLiteral x, JsContext ctx) { + public void visitString(JsStringLiteral x) { answer = 17; // primary } @Override - public void visitThis(JsLiteral.JsThisRef x, JsContext ctx) { + public void visitThis(JsLiteral.JsThisRef x) { answer = 17; // primary } @Override - protected void visitElement(JsNode node, JsContext context) { + protected void visitElement(JsNode node) { throw new RuntimeException("Only expressions have precedence."); } } diff --git a/src/com/google/dart/compiler/backend/js/JsRequiresSemiVisitor.java b/src/com/google/dart/compiler/backend/js/JsRequiresSemiVisitor.java index 9cebe950c2b..b5a13be9400 100644 --- a/src/com/google/dart/compiler/backend/js/JsRequiresSemiVisitor.java +++ b/src/com/google/dart/compiler/backend/js/JsRequiresSemiVisitor.java @@ -34,21 +34,21 @@ public class JsRequiresSemiVisitor extends JsVisitor { } @Override - public void visitFor(JsFor x, JsContext ctx) { + public void visitFor(JsFor x) { if (x.getBody() instanceof JsEmpty) { needsSemicolon = true; } } @Override - public void visitForIn(JsForIn x, JsContext ctx) { + public void visitForIn(JsForIn x) { if (x.getBody() instanceof JsEmpty) { needsSemicolon = true; } } @Override - public void visitIf(JsIf x, JsContext ctx) { + public void visitIf(JsIf x) { JsStatement thenStmt = x.getThenStatement(); JsStatement elseStmt = x.getElseStatement(); JsStatement toCheck = thenStmt; @@ -65,14 +65,14 @@ public class JsRequiresSemiVisitor extends JsVisitor { } @Override - public void visitLabel(JsLabel x, JsContext ctx) { + public void visitLabel(JsLabel x) { if (x.getStatement() instanceof JsEmpty) { needsSemicolon = true; } } @Override - public void visitWhile(JsWhile x, JsContext ctx) { + public void visitWhile(JsWhile x) { if (x.getBody() instanceof JsEmpty) { needsSemicolon = true; } diff --git a/src/com/google/dart/compiler/backend/js/JsToStringGenerationVisitor.java b/src/com/google/dart/compiler/backend/js/JsToStringGenerationVisitor.java index 1ebf6c822cf..7a02a4274e5 100644 --- a/src/com/google/dart/compiler/backend/js/JsToStringGenerationVisitor.java +++ b/src/com/google/dart/compiler/backend/js/JsToStringGenerationVisitor.java @@ -205,7 +205,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitArrayAccess(JsArrayAccess x, JsContext context) { + public void visitArrayAccess(JsArrayAccess x) { printPair(x, x.getArrayExpression()); leftSquare(); accept(x.getIndexExpression()); @@ -213,7 +213,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitArray(JsArrayLiteral x, JsContext ctx) { + public void visitArray(JsArrayLiteral x) { leftSquare(); printExpressions(x.getExpressions()); rightSquare(); @@ -232,7 +232,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitBinaryExpression(JsBinaryOperation binaryOperation, JsContext context) { + public void visitBinaryExpression(JsBinaryOperation binaryOperation) { JsBinaryOperator operator = binaryOperation.getOperator(); JsExpression arg1 = binaryOperation.getArg1(); boolean isExpressionEnclosed = parenPush(binaryOperation, arg1, !operator.isLeftAssociative()); @@ -277,12 +277,12 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitBlock(JsBlock x, JsContext ctx) { + public void visitBlock(JsBlock x) { printJsBlock(x, true, true); } @Override - public void visitBoolean(JsLiteral.JsBooleanLiteral x, JsContext ctx) { + public void visitBoolean(JsLiteral.JsBooleanLiteral x) { if (x.getValue()) { p.print(CHARS_TRUE); } @@ -292,13 +292,13 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitBreak(JsBreak x, JsContext ctx) { + public void visitBreak(JsBreak x) { p.print(CHARS_BREAK); continueOrBreakLabel(x); } @Override - public void visitContinue(JsContinue x, JsContext ctx) { + public void visitContinue(JsContinue x) { p.print(CHARS_CONTINUE); continueOrBreakLabel(x); } @@ -312,7 +312,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitCase(JsCase x, JsContext ctx) { + public void visitCase(JsCase x) { p.print(CHARS_CASE); space(); accept(x.getCaseExpression()); @@ -337,7 +337,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitCatch(JsCatch x, JsContext ctx) { + public void visitCatch(JsCatch x) { spaceOpt(); p.print(CHARS_CATCH); spaceOpt(); @@ -360,7 +360,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitConditional(JsConditional x, JsContext ctx) { + public void visitConditional(JsConditional x) { // Associativity: for the then and else branches, it is safe to insert // another // ternary expression, but if the test expression is a ternary, it should @@ -388,12 +388,12 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitDebugger(JsDebugger x, JsContext context) { + public void visitDebugger(JsDebugger x) { p.print(CHARS_DEBUGGER); } @Override - public void visitDefault(JsDefault x, JsContext context) { + public void visitDefault(JsDefault x) { p.print(CHARS_DEFAULT); _colon(); @@ -401,7 +401,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitWhile(JsWhile x, JsContext ctx) { + public void visitWhile(JsWhile x) { _while(); spaceOpt(); leftParen(); @@ -413,7 +413,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitDoWhile(JsDoWhile x, JsContext context) { + public void visitDoWhile(JsDoWhile x) { p.print(CHARS_DO); nestedPush(x.getBody()); accept(x.getBody()); @@ -434,11 +434,11 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitEmpty(JsEmpty x, JsContext ctx) { + public void visitEmpty(JsEmpty x) { } @Override - public void visitExpressionStatement(JsExpressionStatement x, JsContext ctx) { + public void visitExpressionStatement(JsExpressionStatement x) { boolean surroundWithParentheses = JsFirstExpressionVisitor.exec(x); if (surroundWithParentheses) { leftParen(); @@ -450,7 +450,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitFor(JsFor x, JsContext ctx) { + public void visitFor(JsFor x) { _for(); spaceOpt(); leftParen(); @@ -489,7 +489,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitForIn(JsForIn x, JsContext ctx) { + public void visitForIn(JsForIn x) { _for(); spaceOpt(); leftParen(); @@ -524,7 +524,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitFunction(JsFunction x, JsContext ctx) { + public void visitFunction(JsFunction x) { p.print(CHARS_FUNCTION); space(); if (x.getName() != null) { @@ -547,7 +547,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitIf(JsIf x, JsContext ctx) { + public void visitIf(JsIf x) { _if(); spaceOpt(); leftParen(); @@ -583,7 +583,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitInvocation(JsInvocation x, JsContext ctx) { + public void visitInvocation(JsInvocation x) { printPair(x, x.getQualifier()); leftParen(); @@ -592,7 +592,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitLabel(JsLabel x, JsContext ctx) { + public void visitLabel(JsLabel x) { nameOf(x); _colon(); spaceOpt(); @@ -600,28 +600,32 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitNameRef(JsNameRef x, JsContext ctx) { - JsExpression q = x.getQualifier(); - if (q != null) { - parenPush(x, q, false); - if (q instanceof JsNumberLiteral) { - /** - * Fix for Issue #3796. "42.foo" is not allowed, but "(42).foo" is. - */ + public void visitNameRef(JsNameRef nameRef) { + JsExpression qualifier = nameRef.getQualifier(); + if (qualifier != null) { + final boolean enclose; + if (qualifier instanceof JsLiteral.JsValueLiteral) { + // "42.foo" is not allowed, but "(42).foo" is. + enclose = qualifier instanceof JsNumberLiteral; + } + else { + enclose = parenCalc(nameRef, qualifier, false); + } + + if (enclose) { leftParen(); } - accept(q); - if (q instanceof JsNumberLiteral) { + accept(qualifier); + if (enclose) { rightParen(); } - parenPop(x, q, false); p.print('.'); } - nameRef(x); + p.print(nameRef.getIdent()); } @Override - public void visitNew(JsNew x, JsContext ctx) { + public void visitNew(JsNew x) { p.print(CHARS_NEW); space(); @@ -641,22 +645,22 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitNull(JsNullLiteral x, JsContext ctx) { + public void visitNull(JsNullLiteral x) { p.print(CHARS_NULL); } @Override - public void visitInt(JsIntLiteral x, JsContext ctx) { + public void visitInt(JsIntLiteral x) { p.print(x.value); } @Override - public void visitDouble(JsDoubleLiteral x, JsContext ctx) { + public void visitDouble(JsDoubleLiteral x) { p.print(x.value); } @Override - public void visitObjectLiteral(JsObjectLiteral objectLiteral, JsContext context) { + public void visitObjectLiteral(JsObjectLiteral objectLiteral) { p.print('{'); if (objectLiteral.isMultiline()) { p.indentIn(); @@ -708,12 +712,12 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitParameter(JsParameter x, JsContext ctx) { + public void visitParameter(JsParameter x) { nameOf(x); } @Override - public void visitPostfixOperation(JsPostfixOperation x, JsContext ctx) { + public void visitPostfixOperation(JsPostfixOperation x) { JsUnaryOperator op = x.getOperator(); JsExpression arg = x.getArg(); // unary operators always associate correctly (I think) @@ -722,7 +726,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitPrefixOperation(JsPrefixOperation x, JsContext ctx) { + public void visitPrefixOperation(JsPrefixOperation x) { JsUnaryOperator op = x.getOperator(); p.print(op.getSymbol()); JsExpression arg = x.getArg(); @@ -734,17 +738,17 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitProgram(JsProgram x, JsContext context) { + public void visitProgram(JsProgram x) { p.print(""); } @Override - public void visitProgramFragment(JsProgramFragment x, JsContext ctx) { + public void visitProgramFragment(JsProgramFragment x) { p.print(""); } @Override - public void visitRegExp(JsRegExp x, JsContext ctx) { + public void visitRegExp(JsRegExp x) { slash(); p.print(x.getPattern()); slash(); @@ -755,7 +759,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitReturn(JsReturn x, JsContext ctx) { + public void visitReturn(JsReturn x) { p.print(CHARS_RETURN); JsExpression expr = x.getExpression(); if (expr != null) { @@ -765,12 +769,12 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitString(JsStringLiteral x, JsContext ctx) { + public void visitString(JsStringLiteral x) { p.print(javaScriptString(x.getValue())); } @Override - public void visit(JsSwitch x, JsContext ctx) { + public void visit(JsSwitch x) { p.print(CHARS_SWITCH); spaceOpt(); leftParen(); @@ -783,19 +787,19 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitThis(JsLiteral.JsThisRef x, JsContext ctx) { + public void visitThis(JsLiteral.JsThisRef x) { p.print(CHARS_THIS); } @Override - public void visitThrow(JsThrow x, JsContext ctx) { + public void visitThrow(JsThrow x) { p.print(CHARS_THROW); space(); accept(x.getExpression()); } @Override - public void visitTry(JsTry x, JsContext ctx) { + public void visitTry(JsTry x) { p.print(CHARS_TRY); spaceOpt(); accept(x.getTryBlock()); @@ -811,7 +815,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visit(JsVar var, JsContext ctx) { + public void visit(JsVar var) { nameOf(var); JsExpression initExpr = var.getInitExpression(); if (initExpr != null) { @@ -827,7 +831,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitVars(JsVars vars, JsContext context) { + public void visitVars(JsVars vars) { var(); space(); boolean sep = false; @@ -848,7 +852,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { } @Override - public void visitDocComment(JsDocComment comment, JsContext context) { + public void visitDocComment(JsDocComment comment) { boolean asSingleLine = comment.getTags().size() == 1; if (!asSingleLine) { newlineOpt(); @@ -881,7 +885,7 @@ public class JsToStringGenerationVisitor extends JsVisitor { p.print((CharSequence) value); } else { - visitNameRef((JsNameRef) value, context); + visitNameRef((JsNameRef) value); } } @@ -1040,10 +1044,6 @@ public class JsToStringGenerationVisitor extends JsVisitor { nameDef(hasName.getName()); } - private void nameRef(JsNameRef nameRef) { - p.print(nameRef.getIdent()); - } - private boolean nestedPop(JsStatement statement) { boolean pop = !(statement instanceof JsBlock); if (pop) { @@ -1070,14 +1070,6 @@ public class JsToStringGenerationVisitor extends JsVisitor { return parentPrec > childPrec || parentPrec == childPrec && wrongAssoc; } - private boolean parenPop(JsExpression parent, JsExpression child, boolean wrongAssoc) { - boolean doPop = parenCalc(parent, child, wrongAssoc); - if (doPop) { - rightParen(); - } - return doPop; - } - private boolean _parenPopOrSpace(JsExpression parent, JsExpression child, boolean wrongAssoc) { boolean doPop = parenCalc(parent, child, wrongAssoc); if (doPop) { diff --git a/src/com/google/dart/compiler/backend/js/ast/ChameleonJsExpression.java b/src/com/google/dart/compiler/backend/js/ast/ChameleonJsExpression.java index 4229c344dd0..89fa1f4ada6 100644 --- a/src/com/google/dart/compiler/backend/js/ast/ChameleonJsExpression.java +++ b/src/com/google/dart/compiler/backend/js/ast/ChameleonJsExpression.java @@ -25,13 +25,13 @@ public class ChameleonJsExpression implements JsExpression { } @Override - public void accept(JsVisitor visitor, JsContext context) { - expression.accept(visitor, context); + public void accept(JsVisitor visitor) { + expression.accept(visitor); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { - expression.acceptChildren(visitor, context); + public void acceptChildren(JsVisitor visitor) { + expression.acceptChildren(visitor); } @Override diff --git a/src/com/google/dart/compiler/backend/js/ast/JsArrayAccess.java b/src/com/google/dart/compiler/backend/js/ast/JsArrayAccess.java index 94e7470095c..4a0475f224a 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsArrayAccess.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsArrayAccess.java @@ -37,12 +37,12 @@ public final class JsArrayAccess extends JsExpressionImpl { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitArrayAccess(this, context); + public void accept(JsVisitor v) { + v.visitArrayAccess(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(arrayExpression); visitor.accept(indexExpression); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsArrayLiteral.java b/src/com/google/dart/compiler/backend/js/ast/JsArrayLiteral.java index 8d43ed05758..3398d8ee345 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsArrayLiteral.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsArrayLiteral.java @@ -27,12 +27,12 @@ public final class JsArrayLiteral extends JsLiteral { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitArray(this, context); + public void accept(JsVisitor v) { + v.visitArray(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.acceptWithInsertRemove(expressions); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsBinaryOperation.java b/src/com/google/dart/compiler/backend/js/ast/JsBinaryOperation.java index e0e0405da4e..d13cd077aab 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsBinaryOperation.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsBinaryOperation.java @@ -34,12 +34,12 @@ public final class JsBinaryOperation extends JsExpressionImpl { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitBinaryExpression(this, context); + public void accept(JsVisitor v) { + v.visitBinaryExpression(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { if (op.isAssignment()) { visitor.acceptLvalue(arg1); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsBlock.java b/src/com/google/dart/compiler/backend/js/ast/JsBlock.java index 4538f88cf7a..f27a4cae049 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsBlock.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsBlock.java @@ -44,12 +44,12 @@ public class JsBlock extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitBlock(this, context); + public void accept(JsVisitor v) { + v.visitBlock(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.acceptWithInsertRemove(statements); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsBreak.java b/src/com/google/dart/compiler/backend/js/ast/JsBreak.java index 4513a153a45..82f53548696 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsBreak.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsBreak.java @@ -17,7 +17,7 @@ public final class JsBreak extends JsContinue { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitBreak(this, context); + public void accept(JsVisitor v) { + v.visitBreak(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsCase.java b/src/com/google/dart/compiler/backend/js/ast/JsCase.java index a03aa745892..0f9cf3270de 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsCase.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsCase.java @@ -23,13 +23,13 @@ public final class JsCase extends JsSwitchMember { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitCase(this, context); + public void accept(JsVisitor v) { + v.visitCase(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(caseExpression); - super.acceptChildren(visitor, context); + super.acceptChildren(visitor); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsCatch.java b/src/com/google/dart/compiler/backend/js/ast/JsCatch.java index af1a322e0ee..41d431cb2d3 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsCatch.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsCatch.java @@ -48,12 +48,12 @@ public class JsCatch extends SourceInfoAwareJsNode implements HasCondition { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitCatch(this, context); + public void accept(JsVisitor v) { + v.visitCatch(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(param); if (condition != null) { visitor.accept(condition); diff --git a/src/com/google/dart/compiler/backend/js/ast/JsConditional.java b/src/com/google/dart/compiler/backend/js/ast/JsConditional.java index 97695c35b8d..597891e1e7d 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsConditional.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsConditional.java @@ -43,12 +43,12 @@ public final class JsConditional extends JsExpressionImpl { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitConditional(this, context); + public void accept(JsVisitor v) { + v.visitConditional(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(testExpression); visitor.accept(thenExpression); visitor.accept(elseExpression); diff --git a/src/com/google/dart/compiler/backend/js/ast/JsContinue.java b/src/com/google/dart/compiler/backend/js/ast/JsContinue.java index a3fd84cc43d..d5b5d60ab60 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsContinue.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsContinue.java @@ -23,7 +23,7 @@ public class JsContinue extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitContinue(this, context); + public void accept(JsVisitor v) { + v.visitContinue(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsDebugger.java b/src/com/google/dart/compiler/backend/js/ast/JsDebugger.java index c27240a2468..cbf6063e986 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsDebugger.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsDebugger.java @@ -12,12 +12,12 @@ public class JsDebugger extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitDebugger(this, context); + public void accept(JsVisitor v) { + v.visitDebugger(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsDefault.java b/src/com/google/dart/compiler/backend/js/ast/JsDefault.java index 4a83b7c4979..330005ddd57 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsDefault.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsDefault.java @@ -9,7 +9,7 @@ package com.google.dart.compiler.backend.js.ast; */ public final class JsDefault extends JsSwitchMember { @Override - public void accept(JsVisitor v, JsContext context) { - v.visitDefault(this, context); + public void accept(JsVisitor v) { + v.visitDefault(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsDoWhile.java b/src/com/google/dart/compiler/backend/js/ast/JsDoWhile.java index 87dbf9a7636..f23b08c26e4 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsDoWhile.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsDoWhile.java @@ -16,7 +16,7 @@ public class JsDoWhile extends JsWhile { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitDoWhile(this, context); + public void accept(JsVisitor v) { + v.visitDoWhile(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsDocComment.java b/src/com/google/dart/compiler/backend/js/ast/JsDocComment.java index 60f83d394f8..292c9070ab8 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsDocComment.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsDocComment.java @@ -23,7 +23,7 @@ public class JsDocComment extends JsExpressionImpl { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitDocComment(this, context); + public void accept(JsVisitor v) { + v.visitDocComment(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsEmpty.java b/src/com/google/dart/compiler/backend/js/ast/JsEmpty.java index 7298da8e4e9..602e1e63308 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsEmpty.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsEmpty.java @@ -9,7 +9,7 @@ public class JsEmpty extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitEmpty(this, context); + public void accept(JsVisitor v) { + v.visitEmpty(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsExpressionStatement.java b/src/com/google/dart/compiler/backend/js/ast/JsExpressionStatement.java index c60cc252e88..3df96ca3c86 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsExpressionStatement.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsExpressionStatement.java @@ -16,12 +16,12 @@ public final class JsExpressionStatement extends AbstractNode implements JsState } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitExpressionStatement(this, context); + public void accept(JsVisitor v) { + v.visitExpressionStatement(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(expression); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsFor.java b/src/com/google/dart/compiler/backend/js/ast/JsFor.java index 1b582cca10e..b7387ec0101 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsFor.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsFor.java @@ -71,12 +71,12 @@ public class JsFor extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitFor(this, context); + public void accept(JsVisitor v) { + v.visitFor(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { assert (!(initExpression != null && initVars != null)); if (initExpression != null) { diff --git a/src/com/google/dart/compiler/backend/js/ast/JsForIn.java b/src/com/google/dart/compiler/backend/js/ast/JsForIn.java index bb06baceb9f..3fc4a915abf 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsForIn.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsForIn.java @@ -49,12 +49,12 @@ public class JsForIn extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitForIn(this, context); + public void accept(JsVisitor v) { + v.visitForIn(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { if (iterExpression != null) { visitor.acceptLvalue(iterExpression); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsFunction.java b/src/com/google/dart/compiler/backend/js/ast/JsFunction.java index d9a60fc4e4a..1bc7b301b8a 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsFunction.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsFunction.java @@ -64,12 +64,12 @@ public final class JsFunction extends JsLiteral implements HasName { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitFunction(this, context); + public void accept(JsVisitor v) { + v.visitFunction(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.acceptWithInsertRemove(params); visitor.accept(body); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsIf.java b/src/com/google/dart/compiler/backend/js/ast/JsIf.java index f7ec9fb6196..18af5ffb414 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsIf.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsIf.java @@ -51,12 +51,12 @@ public final class JsIf extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitIf(this, context); + public void accept(JsVisitor v) { + v.visitIf(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(ifExpression); visitor.accept(thenStatement); if (elseStatement != null) { diff --git a/src/com/google/dart/compiler/backend/js/ast/JsInvocation.java b/src/com/google/dart/compiler/backend/js/ast/JsInvocation.java index 234f7b16e11..34da9bb7191 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsInvocation.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsInvocation.java @@ -52,12 +52,12 @@ public final class JsInvocation extends JsExpressionImpl.JsExpressionHasArgument } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitInvocation(this, context); + public void accept(JsVisitor v) { + v.visitInvocation(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(qualifier); visitor.acceptList(arguments); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsLabel.java b/src/com/google/dart/compiler/backend/js/ast/JsLabel.java index 70966f7609c..a3abb3392bc 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsLabel.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsLabel.java @@ -42,12 +42,12 @@ public class JsLabel extends SourceInfoAwareJsNode implements JsStatement, HasNa } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitLabel(this, context); + public void accept(JsVisitor v) { + v.visitLabel(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(statement); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsLiteral.java b/src/com/google/dart/compiler/backend/js/ast/JsLiteral.java index 574a7e99e94..8823d12b557 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsLiteral.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsLiteral.java @@ -23,8 +23,8 @@ public abstract class JsLiteral extends JsExpressionImpl { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitThis(this, context); + public void accept(JsVisitor v) { + v.visitThis(this); } } @@ -41,8 +41,8 @@ public abstract class JsLiteral extends JsExpressionImpl { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitBoolean(this, context); + public void accept(JsVisitor v) { + v.visitBoolean(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsNameRef.java b/src/com/google/dart/compiler/backend/js/ast/JsNameRef.java index 3dcfea61d98..6fb7bc3e5ae 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsNameRef.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsNameRef.java @@ -69,12 +69,12 @@ public final class JsNameRef extends JsExpressionImpl implements HasName { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitNameRef(this, context); + public void accept(JsVisitor v) { + v.visitNameRef(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { if (qualifier != null) { visitor.accept(qualifier); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsNew.java b/src/com/google/dart/compiler/backend/js/ast/JsNew.java index a5eecda234c..a5283f284c0 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsNew.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsNew.java @@ -25,12 +25,12 @@ public final class JsNew extends JsExpressionImpl.JsExpressionHasArguments { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitNew(this, context); + public void accept(JsVisitor v) { + v.visitNew(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(constructorExpression); visitor.acceptList(arguments); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsNode.java b/src/com/google/dart/compiler/backend/js/ast/JsNode.java index 308b71393b8..10b9dc6e73e 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsNode.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsNode.java @@ -11,9 +11,9 @@ public interface JsNode extends HasSourceInfo { * Causes this object to have the visitor visit itself and its children. * * @param visitor the visitor that should traverse this node - * @param context the context of an existing traversal + * */ - void accept(JsVisitor visitor, JsContext context); + void accept(JsVisitor visitor); - void acceptChildren(JsVisitor visitor, JsContext context); + void acceptChildren(JsVisitor visitor); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsNullLiteral.java b/src/com/google/dart/compiler/backend/js/ast/JsNullLiteral.java index 4d9cd17a333..8aec6b41e16 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsNullLiteral.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsNullLiteral.java @@ -9,7 +9,7 @@ public final class JsNullLiteral extends JsLiteral.JsValueLiteral { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitNull(this, context); + public void accept(JsVisitor v) { + v.visitNull(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsNumberLiteral.java b/src/com/google/dart/compiler/backend/js/ast/JsNumberLiteral.java index 9ee62587920..6dc3d156754 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsNumberLiteral.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsNumberLiteral.java @@ -13,8 +13,8 @@ public abstract class JsNumberLiteral extends JsLiteral.JsValueLiteral { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitDouble(this, context); + public void accept(JsVisitor v) { + v.visitDouble(this); } public String toString() { @@ -30,8 +30,8 @@ public abstract class JsNumberLiteral extends JsLiteral.JsValueLiteral { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitInt(this, context); + public void accept(JsVisitor v) { + v.visitInt(this); } public String toString() { diff --git a/src/com/google/dart/compiler/backend/js/ast/JsObjectLiteral.java b/src/com/google/dart/compiler/backend/js/ast/JsObjectLiteral.java index 9aa35198399..efa53053914 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsObjectLiteral.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsObjectLiteral.java @@ -39,12 +39,12 @@ public final class JsObjectLiteral extends JsLiteral { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitObjectLiteral(this, context); + public void accept(JsVisitor v) { + v.visitObjectLiteral(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.acceptWithInsertRemove(properties); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsParameter.java b/src/com/google/dart/compiler/backend/js/ast/JsParameter.java index 6080c39fda1..9167a30ece9 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsParameter.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsParameter.java @@ -27,7 +27,7 @@ public final class JsParameter extends SourceInfoAwareJsNode implements HasName } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitParameter(this, context); + public void accept(JsVisitor v) { + v.visitParameter(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsPostfixOperation.java b/src/com/google/dart/compiler/backend/js/ast/JsPostfixOperation.java index f86231c8ff6..df59b0d1f5a 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsPostfixOperation.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsPostfixOperation.java @@ -14,7 +14,7 @@ public final class JsPostfixOperation extends JsUnaryOperation { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitPostfixOperation(this, context); + public void accept(JsVisitor v) { + v.visitPostfixOperation(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsPrefixOperation.java b/src/com/google/dart/compiler/backend/js/ast/JsPrefixOperation.java index 9c943e20e02..552d2e9eec2 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsPrefixOperation.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsPrefixOperation.java @@ -14,7 +14,7 @@ public final class JsPrefixOperation extends JsUnaryOperation { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitPrefixOperation(this, context); + public void accept(JsVisitor v) { + v.visitPrefixOperation(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsProgram.java b/src/com/google/dart/compiler/backend/js/ast/JsProgram.java index a8f10523557..2954c33321d 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsProgram.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsProgram.java @@ -7,7 +7,6 @@ package com.google.dart.compiler.backend.js.ast; import gnu.trove.TDoubleObjectHashMap; import gnu.trove.THashMap; import gnu.trove.TIntObjectHashMap; -import org.jetbrains.annotations.Nullable; import java.util.Map; @@ -109,12 +108,12 @@ public final class JsProgram extends SourceInfoAwareJsNode { } @Override - public void accept(JsVisitor v, @Nullable JsContext context) { - v.visitProgram(this, context); + public void accept(JsVisitor v) { + v.visitProgram(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { for (JsProgramFragment fragment : fragments) { visitor.accept(fragment); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsProgramFragment.java b/src/com/google/dart/compiler/backend/js/ast/JsProgramFragment.java index 61fde23eb8e..e9691878c11 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsProgramFragment.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsProgramFragment.java @@ -19,12 +19,12 @@ public class JsProgramFragment extends SourceInfoAwareJsNode { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitProgramFragment(this, context); + public void accept(JsVisitor v) { + v.visitProgramFragment(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(globalBlock); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsPropertyInitializer.java b/src/com/google/dart/compiler/backend/js/ast/JsPropertyInitializer.java index 9679fd02bb1..f38885b7316 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsPropertyInitializer.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsPropertyInitializer.java @@ -35,12 +35,12 @@ public class JsPropertyInitializer extends SourceInfoAwareJsNode { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitPropertyInitializer(this, context); + public void accept(JsVisitor v) { + v.visitPropertyInitializer(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(labelExpr); visitor.accept(valueExpr); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsRegExp.java b/src/com/google/dart/compiler/backend/js/ast/JsRegExp.java index 568e9ed82c6..e958b368f39 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsRegExp.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsRegExp.java @@ -4,9 +4,6 @@ package com.google.dart.compiler.backend.js.ast; -/** - * A JavaScript regular expression. - */ public final class JsRegExp extends JsLiteral.JsValueLiteral { private String flags; private String pattern; @@ -31,7 +28,7 @@ public final class JsRegExp extends JsLiteral.JsValueLiteral { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitRegExp(this, context); + public void accept(JsVisitor v) { + v.visitRegExp(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsReturn.java b/src/com/google/dart/compiler/backend/js/ast/JsReturn.java index 311f4532a5c..93c0106d802 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsReturn.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsReturn.java @@ -26,12 +26,12 @@ public final class JsReturn extends SourceInfoAwareJsNode implements JsStatement } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitReturn(this, context); + public void accept(JsVisitor v) { + v.visitReturn(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { if (expression != null) { visitor.accept(expression); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsStringLiteral.java b/src/com/google/dart/compiler/backend/js/ast/JsStringLiteral.java index 9da55039453..08d9d40fbf7 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsStringLiteral.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsStringLiteral.java @@ -18,7 +18,7 @@ public final class JsStringLiteral extends JsLiteral.JsValueLiteral { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitString(this, context); + public void accept(JsVisitor v) { + v.visitString(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsSwitch.java b/src/com/google/dart/compiler/backend/js/ast/JsSwitch.java index d9f379ddfef..763c6c1feeb 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsSwitch.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsSwitch.java @@ -32,12 +32,12 @@ public class JsSwitch extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visit(this, context); + public void accept(JsVisitor v) { + v.visit(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(expression); visitor.acceptWithInsertRemove(cases); } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsSwitchMember.java b/src/com/google/dart/compiler/backend/js/ast/JsSwitchMember.java index 8227c24c3cb..225369525ff 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsSwitchMember.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsSwitchMember.java @@ -23,7 +23,7 @@ public abstract class JsSwitchMember extends SourceInfoAwareJsNode { } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.acceptWithInsertRemove(statements); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsThrow.java b/src/com/google/dart/compiler/backend/js/ast/JsThrow.java index 88dfd185ed1..c7814d73c58 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsThrow.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsThrow.java @@ -23,12 +23,12 @@ public class JsThrow extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitThrow(this, context); + public void accept(JsVisitor v) { + v.visitThrow(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(expression); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsTry.java b/src/com/google/dart/compiler/backend/js/ast/JsTry.java index 40f5e04f19e..f559b340fd6 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsTry.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsTry.java @@ -48,12 +48,12 @@ public class JsTry extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitTry(this, context); + public void accept(JsVisitor v) { + v.visitTry(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(tryBlock); visitor.acceptWithInsertRemove(catches); if (finallyBlock != null) { diff --git a/src/com/google/dart/compiler/backend/js/ast/JsUnaryOperation.java b/src/com/google/dart/compiler/backend/js/ast/JsUnaryOperation.java index c428c7d7f69..9e5d1b360c3 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsUnaryOperation.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsUnaryOperation.java @@ -33,7 +33,7 @@ public abstract class JsUnaryOperation extends JsExpressionImpl { } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { if (op.isModifying()) { // The delete operator is practically like an assignment of undefined, so // for practical purposes we're treating it as an lvalue. diff --git a/src/com/google/dart/compiler/backend/js/ast/JsVars.java b/src/com/google/dart/compiler/backend/js/ast/JsVars.java index 1e72f4aeaa2..3e9de8bf4ec 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsVars.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsVars.java @@ -81,12 +81,12 @@ public class JsVars extends SourceInfoAwareJsNode implements JsStatement, Iterab } @Override - public void accept(JsVisitor v, JsContext context) { - v.visit(this, context); + public void accept(JsVisitor v) { + v.visit(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { if (initExpression != null) { visitor.accept(initExpression); } @@ -113,12 +113,12 @@ public class JsVars extends SourceInfoAwareJsNode implements JsStatement, Iterab } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitVars(this, context); + public void accept(JsVisitor v) { + v.visitVars(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.acceptWithInsertRemove(vars); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/JsVisitor.java b/src/com/google/dart/compiler/backend/js/ast/JsVisitor.java index e0791440238..68df956b151 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsVisitor.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsVisitor.java @@ -9,280 +9,202 @@ import com.google.dart.compiler.backend.js.ast.JsVars.JsVar; import java.util.List; public abstract class JsVisitor { - protected static final JsContext LVALUE_CONTEXT = new JsContext() { - @Override - public boolean canInsert() { - return false; - } - - @Override - public boolean canRemove() { - return false; - } - - @Override - public void insertAfter(JsNode node) { - throw new UnsupportedOperationException(); - } - - @Override - public void insertBefore(JsNode node) { - throw new UnsupportedOperationException(); - } - - @Override - public boolean isLvalue() { - return true; - } - - @Override - public void removeMe() { - throw new UnsupportedOperationException(); - } - - @Override - public void replaceMe(JsNode node) { - throw new UnsupportedOperationException(); - } - }; - - protected static final JsContext UNMODIFIABLE_CONTEXT = new JsContext() { - @Override - public boolean canInsert() { - return false; - } - - @Override - public boolean canRemove() { - return false; - } - - @Override - public void insertAfter(JsNode node) { - throw new UnsupportedOperationException(); - } - - @Override - public void insertBefore(JsNode node) { - throw new UnsupportedOperationException(); - } - - @Override - public boolean isLvalue() { - return false; - } - - @Override - public void removeMe() { - throw new UnsupportedOperationException(); - } - - @Override - public void replaceMe(JsNode node) { - throw new UnsupportedOperationException(); - } - }; - public void accept(T node) { - doAccept(node, UNMODIFIABLE_CONTEXT); + node.accept(this); } public final void acceptList(List collection) { for (T node : collection) { - doAccept(node, UNMODIFIABLE_CONTEXT); + accept(node); } } public void acceptLvalue(JsExpression expression) { - doAccept(expression, LVALUE_CONTEXT); + accept(expression); } public final void acceptWithInsertRemove(List collection) { for (T node : collection) { - doAccept(node, UNMODIFIABLE_CONTEXT); + accept(node); } } - public void visitArrayAccess(JsArrayAccess x, JsContext context) { - visitElement(x, context); + public void visitArrayAccess(JsArrayAccess x) { + visitElement(x); } - public void visitArray(JsArrayLiteral x, JsContext context) { - visitElement(x, context); + public void visitArray(JsArrayLiteral x) { + visitElement(x); } - public void visitBinaryExpression(JsBinaryOperation x, JsContext context) { - visitElement(x, context); + public void visitBinaryExpression(JsBinaryOperation x) { + visitElement(x); } - public void visitBlock(JsBlock x, JsContext context) { - visitElement(x, context); + public void visitBlock(JsBlock x) { + visitElement(x); } - public void visitBoolean(JsLiteral.JsBooleanLiteral x, JsContext context) { - visitElement(x, context); + public void visitBoolean(JsLiteral.JsBooleanLiteral x) { + visitElement(x); } - public void visitBreak(JsBreak x, JsContext context) { - visitElement(x, context); + public void visitBreak(JsBreak x) { + visitElement(x); } - public void visitCase(JsCase x, JsContext ctx) { - visitElement(x, ctx); + public void visitCase(JsCase x) { + visitElement(x); } - public void visitCatch(JsCatch x, JsContext ctx) { - visitElement(x, ctx); + public void visitCatch(JsCatch x) { + visitElement(x); } - public void visitConditional(JsConditional x, JsContext ctx) { - visitElement(x, ctx); + public void visitConditional(JsConditional x) { + visitElement(x); } - public void visitContinue(JsContinue x, JsContext ctx) { - visitElement(x, ctx); + public void visitContinue(JsContinue x) { + visitElement(x); } - public void visitDebugger(JsDebugger x, JsContext context) { - visitElement(x, context); + public void visitDebugger(JsDebugger x) { + visitElement(x); } - public void visitDefault(JsDefault x, JsContext context) { - visitElement(x, context); + public void visitDefault(JsDefault x) { + visitElement(x); } - public void visitDoWhile(JsDoWhile x, JsContext context) { - visitElement(x, context); + public void visitDoWhile(JsDoWhile x) { + visitElement(x); } - public void visitEmpty(JsEmpty x, JsContext ctx) { - visitElement(x, ctx); + public void visitEmpty(JsEmpty x) { + visitElement(x); } - public void visitExpressionStatement(JsExpressionStatement x, JsContext context) { - visitElement(x, context); + public void visitExpressionStatement(JsExpressionStatement x) { + visitElement(x); } - public void visitFor(JsFor x, JsContext ctx) { - visitElement(x, ctx); + public void visitFor(JsFor x) { + visitElement(x); } - public void visitForIn(JsForIn x, JsContext ctx) { - visitElement(x, ctx); + public void visitForIn(JsForIn x) { + visitElement(x); } - public void visitFunction(JsFunction x, JsContext ctx) { - visitElement(x, ctx); + public void visitFunction(JsFunction x) { + visitElement(x); } - public void visitIf(JsIf x, JsContext ctx) { - visitElement(x, ctx); + public void visitIf(JsIf x) { + visitElement(x); } - public void visitInvocation(JsInvocation x, JsContext ctx) { - visitElement(x, ctx); + public void visitInvocation(JsInvocation x) { + visitElement(x); } - public void visitLabel(JsLabel x, JsContext ctx) { - visitElement(x, ctx); + public void visitLabel(JsLabel x) { + visitElement(x); } - public void visitNameRef(JsNameRef x, JsContext ctx) { - visitElement(x, ctx); + public void visitNameRef(JsNameRef nameRef) { + visitElement(nameRef); } - public void visitNew(JsNew x, JsContext ctx) { - visitElement(x, ctx); + public void visitNew(JsNew x) { + visitElement(x); } - public void visitNull(JsNullLiteral x, JsContext ctx) { - visitElement(x, ctx); + public void visitNull(JsNullLiteral x) { + visitElement(x); } - public void visitInt(JsNumberLiteral.JsIntLiteral x, JsContext context) { - visitElement(x, context); + public void visitInt(JsNumberLiteral.JsIntLiteral x) { + visitElement(x); } - public void visitDouble(JsNumberLiteral.JsDoubleLiteral x, JsContext context) { - visitElement(x, context); + public void visitDouble(JsNumberLiteral.JsDoubleLiteral x) { + visitElement(x); } - public void visitObjectLiteral(JsObjectLiteral x, JsContext context) { - visitElement(x, context); + public void visitObjectLiteral(JsObjectLiteral x) { + visitElement(x); } - public void visitParameter(JsParameter x, JsContext context) { - visitElement(x, context); + public void visitParameter(JsParameter x) { + visitElement(x); } - public void visitPostfixOperation(JsPostfixOperation x, JsContext context) { - visitElement(x, context); + public void visitPostfixOperation(JsPostfixOperation x) { + visitElement(x); } - public void visitPrefixOperation(JsPrefixOperation x, JsContext context) { - visitElement(x, context); + public void visitPrefixOperation(JsPrefixOperation x) { + visitElement(x); } - public void visitProgram(JsProgram x, JsContext context) { - visitElement(x, context); + public void visitProgram(JsProgram x) { + visitElement(x); } - public void visitProgramFragment(JsProgramFragment x, JsContext context) { - visitElement(x, context); + public void visitProgramFragment(JsProgramFragment x) { + visitElement(x); } - public void visitPropertyInitializer(JsPropertyInitializer x, JsContext context) { - visitElement(x, context); + public void visitPropertyInitializer(JsPropertyInitializer x) { + visitElement(x); } - public void visitRegExp(JsRegExp x, JsContext context) { - visitElement(x, context); + public void visitRegExp(JsRegExp x) { + visitElement(x); } - public void visitReturn(JsReturn x, JsContext context) { - visitElement(x, context); + public void visitReturn(JsReturn x) { + visitElement(x); } - public void visitString(JsStringLiteral x, JsContext context) { - visitElement(x, context); + public void visitString(JsStringLiteral x) { + visitElement(x); } - public void visit(JsSwitch x, JsContext context) { - visitElement(x, context); + public void visit(JsSwitch x) { + visitElement(x); } - public void visitThis(JsLiteral.JsThisRef x, JsContext context) { - visitElement(x, context); + public void visitThis(JsLiteral.JsThisRef x) { + visitElement(x); } - public void visitThrow(JsThrow x, JsContext context) { - visitElement(x, context); + public void visitThrow(JsThrow x) { + visitElement(x); } - public void visitTry(JsTry x, JsContext context) { - visitElement(x, context); + public void visitTry(JsTry x) { + visitElement(x); } - public void visit(JsVar x, JsContext context) { - visitElement(x, context); + public void visit(JsVar x) { + visitElement(x); } - public void visitVars(JsVars x, JsContext context) { - visitElement(x, context); + public void visitVars(JsVars x) { + visitElement(x); } - public void visitWhile(JsWhile x, JsContext context) { - visitElement(x, context); + public void visitWhile(JsWhile x) { + visitElement(x); } - public void visitDocComment(JsDocComment comment, JsContext context) { - visitElement(comment, context); + public void visitDocComment(JsDocComment comment) { + visitElement(comment); } - protected void visitElement(JsNode node, JsContext context) { - } - - protected void doAccept(JsNode node, JsContext context) { - node.accept(this, context); + protected void visitElement(JsNode node) { } } \ No newline at end of file diff --git a/src/com/google/dart/compiler/backend/js/ast/JsWhile.java b/src/com/google/dart/compiler/backend/js/ast/JsWhile.java index 7b6d1f9fb58..aeaba3921e7 100644 --- a/src/com/google/dart/compiler/backend/js/ast/JsWhile.java +++ b/src/com/google/dart/compiler/backend/js/ast/JsWhile.java @@ -36,12 +36,12 @@ public class JsWhile extends SourceInfoAwareJsNode implements JsStatement { } @Override - public void accept(JsVisitor v, JsContext context) { - v.visitWhile(this, context); + public void accept(JsVisitor v) { + v.visitWhile(this); } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { visitor.accept(condition); visitor.accept(body); } diff --git a/src/com/google/dart/compiler/backend/js/ast/RecursiveJsVisitor.java b/src/com/google/dart/compiler/backend/js/ast/RecursiveJsVisitor.java index c148969f425..56cb331b789 100644 --- a/src/com/google/dart/compiler/backend/js/ast/RecursiveJsVisitor.java +++ b/src/com/google/dart/compiler/backend/js/ast/RecursiveJsVisitor.java @@ -2,7 +2,7 @@ package com.google.dart.compiler.backend.js.ast; public abstract class RecursiveJsVisitor extends JsVisitor { @Override - protected void visitElement(JsNode node, JsContext context) { - node.acceptChildren(this, context); + protected void visitElement(JsNode node) { + node.acceptChildren(this); } } diff --git a/src/com/google/dart/compiler/backend/js/ast/SourceInfoAwareJsNode.java b/src/com/google/dart/compiler/backend/js/ast/SourceInfoAwareJsNode.java index d72ff609ad3..0c5cffa1e77 100644 --- a/src/com/google/dart/compiler/backend/js/ast/SourceInfoAwareJsNode.java +++ b/src/com/google/dart/compiler/backend/js/ast/SourceInfoAwareJsNode.java @@ -14,6 +14,6 @@ abstract class SourceInfoAwareJsNode extends AbstractNode { } @Override - public void acceptChildren(JsVisitor visitor, JsContext context) { + public void acceptChildren(JsVisitor visitor) { } } \ No newline at end of file