merged from HEAD: 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 79c71e0..0e329c9 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
@@ -16,11 +16,10 @@ import org.eclipse.dltk.ast.ASTNode; 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); @@ -42,14 +41,6 @@ this.deleteKeyword = keyword; } - public int getSemicolonPosition() { - return this.semic; - } - - public void setSemicolonPosition(int semic) { - this.semic = semic; - } - @Override public String toSourceString(String indentationString) { @@ -62,8 +53,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 c1ca932..06d6108 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
@@ -501,7 +501,7 @@ visit(node.getExpression()); - processOptionalSemicolon(formatterNode, node); + checkedPop(formatterNode, node.getExpression().sourceEnd()); return true; }
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 79c71e0..0e329c9 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
@@ -16,11 +16,10 @@ import org.eclipse.dltk.ast.ASTNode; 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); @@ -42,14 +41,6 @@ this.deleteKeyword = keyword; } - public int getSemicolonPosition() { - return this.semic; - } - - public void setSemicolonPosition(int semic) { - this.semic = semic; - } - @Override public String toSourceString(String indentationString) { @@ -62,8 +53,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));