delete is expression
diff --git a/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/ast/DeleteStatement.java b/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/ast/DeleteStatement.java index 696ada5..233f8ef 100644 --- a/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/ast/DeleteStatement.java +++ b/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/ast/DeleteStatement.java
@@ -17,11 +17,10 @@ import org.eclipse.dltk.ast.ASTVisitor; import org.eclipse.dltk.javascript.formatter.internal.nodes.JSLiterals; -public class DeleteStatement extends Statement implements ISemicolonStatement { +public class DeleteStatement extends Expression { private Keyword deleteKeyword; private Expression expression; - private int semic = -1; public DeleteStatement(ASTNode parent) { super(parent); @@ -31,17 +30,17 @@ * @see org.eclipse.dltk.ast.ASTNode#traverse(org.eclipse.dltk.ast.ASTVisitor) */ @Override - public void traverse(ASTVisitor visitor) throws Exception - { - if (visitor.visit(this)) - { - if (deleteKeyword != null) deleteKeyword.traverse(visitor); - if (expression != null) expression.traverse(visitor); - + public void traverse(ASTVisitor visitor) throws Exception { + if (visitor.visit(this)) { + if (deleteKeyword != null) + deleteKeyword.traverse(visitor); + if (expression != null) + expression.traverse(visitor); + visitor.endvisit(this); } } - + public Expression getExpression() { return this.expression; } @@ -58,14 +57,6 @@ this.deleteKeyword = keyword; } - public int getSemicolonPosition() { - return this.semic; - } - - public void setSemicolonPosition(int semic) { - this.semic = semic; - } - @Override public String toSourceString(String indentationString) { @@ -78,8 +69,6 @@ buffer.append(Keywords.DELETE); buffer.append(JSLiterals.SPACE); buffer.append(expression.toSourceString(indentationString)); - if (semic > 0) - buffer.append(JSLiterals.SEMICOLON); buffer.append(JSLiterals.EOL); return buffer.toString();
diff --git a/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/formatter/internal/FormatterNodeBuilder.java b/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/formatter/internal/FormatterNodeBuilder.java index bc6b408..3077613 100644 --- a/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/formatter/internal/FormatterNodeBuilder.java +++ b/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/formatter/internal/FormatterNodeBuilder.java
@@ -502,7 +502,7 @@ visit(node.getExpression()); - processOptionalSemicolon(formatterNode, node); + checkedPop(formatterNode, node.getExpression().sourceEnd()); return true; } @@ -921,12 +921,9 @@ public boolean visitIfStatement(IfStatement node) { FormatterBlockNode formatterNode = null; - if (node.getParent() instanceof IfStatement) - { + if (node.getParent() instanceof IfStatement) { formatterNode = new FormatterBlockNode(document); - } - else - { + } else { formatterNode = new LineBreakFormatterNode(document); }
diff --git a/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/parser/JSTransformer.java b/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/parser/JSTransformer.java index 1517085..b3a51d1 100644 --- a/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/parser/JSTransformer.java +++ b/plugins/org.eclipse.dltk.javascript.formatter/src/org/eclipse/dltk/javascript/parser/JSTransformer.java
@@ -1642,9 +1642,6 @@ statement.setExpression((Expression) transformNode(node.getChild(0), statement)); - statement.setSemicolonPosition(getTokenOffset(JSParser.SEMIC, node - .getTokenStopIndex(), node.getTokenStopIndex())); - statement.setStart(getTokenOffset(node.getTokenStartIndex())); statement.setEnd(getTokenOffset(node.getTokenStopIndex() + 1));
diff --git a/plugins/org.eclipse.dltk.javascript.parser/src/org/eclipse/dltk/javascript/ast/DeleteStatement.java b/plugins/org.eclipse.dltk.javascript.parser/src/org/eclipse/dltk/javascript/ast/DeleteStatement.java index 696ada5..233f8ef 100644 --- a/plugins/org.eclipse.dltk.javascript.parser/src/org/eclipse/dltk/javascript/ast/DeleteStatement.java +++ b/plugins/org.eclipse.dltk.javascript.parser/src/org/eclipse/dltk/javascript/ast/DeleteStatement.java
@@ -17,11 +17,10 @@ import org.eclipse.dltk.ast.ASTVisitor; import org.eclipse.dltk.javascript.formatter.internal.nodes.JSLiterals; -public class DeleteStatement extends Statement implements ISemicolonStatement { +public class DeleteStatement extends Expression { private Keyword deleteKeyword; private Expression expression; - private int semic = -1; public DeleteStatement(ASTNode parent) { super(parent); @@ -31,17 +30,17 @@ * @see org.eclipse.dltk.ast.ASTNode#traverse(org.eclipse.dltk.ast.ASTVisitor) */ @Override - public void traverse(ASTVisitor visitor) throws Exception - { - if (visitor.visit(this)) - { - if (deleteKeyword != null) deleteKeyword.traverse(visitor); - if (expression != null) expression.traverse(visitor); - + public void traverse(ASTVisitor visitor) throws Exception { + if (visitor.visit(this)) { + if (deleteKeyword != null) + deleteKeyword.traverse(visitor); + if (expression != null) + expression.traverse(visitor); + visitor.endvisit(this); } } - + public Expression getExpression() { return this.expression; } @@ -58,14 +57,6 @@ this.deleteKeyword = keyword; } - public int getSemicolonPosition() { - return this.semic; - } - - public void setSemicolonPosition(int semic) { - this.semic = semic; - } - @Override public String toSourceString(String indentationString) { @@ -78,8 +69,6 @@ buffer.append(Keywords.DELETE); buffer.append(JSLiterals.SPACE); buffer.append(expression.toSourceString(indentationString)); - if (semic > 0) - buffer.append(JSLiterals.SEMICOLON); buffer.append(JSLiterals.EOL); return buffer.toString();
diff --git a/plugins/org.eclipse.dltk.javascript.parser/src/org/eclipse/dltk/javascript/parser/JSTransformer.java b/plugins/org.eclipse.dltk.javascript.parser/src/org/eclipse/dltk/javascript/parser/JSTransformer.java index 1517085..b3a51d1 100644 --- a/plugins/org.eclipse.dltk.javascript.parser/src/org/eclipse/dltk/javascript/parser/JSTransformer.java +++ b/plugins/org.eclipse.dltk.javascript.parser/src/org/eclipse/dltk/javascript/parser/JSTransformer.java
@@ -1642,9 +1642,6 @@ statement.setExpression((Expression) transformNode(node.getChild(0), statement)); - statement.setSemicolonPosition(getTokenOffset(JSParser.SEMIC, node - .getTokenStopIndex(), node.getTokenStopIndex())); - statement.setStart(getTokenOffset(node.getTokenStartIndex())); statement.setEnd(getTokenOffset(node.getTokenStopIndex() + 1));