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));