* Remove binary ast nodes
* SourceElementRequestVisitor uses IElementRequestor as input requesting element.
diff --git a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/parser/visitors/JavaScriptSourceElementRequestor.java b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/parser/visitors/JavaScriptSourceElementRequestor.java
index 7fdf6da..a442498 100644
--- a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/parser/visitors/JavaScriptSourceElementRequestor.java
+++ b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/internal/javascript/parser/visitors/JavaScriptSourceElementRequestor.java
@@ -111,15 +111,13 @@
protected String makeLanguageDependentValue(Expression value) {
String outValue = "";
- /*if (value instanceof ExtendedVariableReference) {
- // Lets use AST Printer to print extended variable in python like
- // syntax.
- StringWriter stringWriter = new StringWriter();
- CorePrinter printer = new CorePrinter(stringWriter);
- value.printNode(printer);
- printer.flush();
- return stringWriter.getBuffer().toString();
- }*/
+ /*
+ * if (value instanceof ExtendedVariableReference) { // Lets use AST
+ * Printer to print extended variable in python like // syntax.
+ * StringWriter stringWriter = new StringWriter(); CorePrinter printer =
+ * new CorePrinter(stringWriter); value.printNode(printer);
+ * printer.flush(); return stringWriter.getBuffer().toString(); }
+ */
return outValue;
}
@@ -155,63 +153,48 @@
}
}
- }/* else if (left instanceof ExtendedVariableReference) {
- // This is for in class and in method.
- if (inClass && inMethod) {
- ExtendedVariableReference extendedVariable = ((ExtendedVariableReference) left);
-
- List varParts = extendedVariable.getExpressions();
- if (extendedVariable.isDot(0)) {
- Expression first = (Expression) varParts.get(0);
- // support only local variable addition.
- // TODO: Add more complex variable addition.
- Expression second = (Expression) varParts.get(1);
-
- if (first instanceof VariableReference
- && second instanceof VariableReference) {
- String varName = ((VariableReference) first).getName();
- MethodDeclaration currentMethod = this
- .getCurrentMethod();
- List <Argument> arguments = currentMethod
- .getArguments();
- if (arguments != null && arguments.size() > 0) {
- Argument firstArgument = (Argument) arguments
- .get(0);
- String argumentName = firstArgument.getName();
- if (argumentName.equals(varName)) {
- VariableReference var = (VariableReference) second;
- int initialValueStart = 0;
- int initialValueEnd = 0;
- if (right != null) {
- initialValueStart = right.sourceStart();
- initialValueEnd = right.sourceEnd();
- }
- PositionInformation pos = new PositionInformation(
- var.sourceStart(), var.sourceEnd(),
- initialValueStart, initialValueEnd);
- String initialString = this.makeValue(right);
- ASTNode method = (ASTNode) this.fNodes.pop();
- ASTNode toClass = (ASTNode) this.fNodes.peek();
- this.fNodes.push(method);
-
- TypeField field = new TypeField(var.getName(),
- initialString, pos, left, toClass);
- this.fNotAddedFields.add(field);
- }
- }
- }
- }
- } else if (left instanceof ExpressionList) { // Multiple
- // TODO: Add list of variables reporting.
-
- * // assignment. ExpressionList list = (ExpressionList) left;
- * List<Expression> exprs = list.getExpressions(); for
- * (Expression expr : exprs) { }
-
- } else {// TODO: dynamic variable handling not yet supported.
-
- }
- }*/
+ }/*
+ * else if (left instanceof ExtendedVariableReference) { // This is for
+ * in class and in method. if (inClass && inMethod) {
+ * ExtendedVariableReference extendedVariable =
+ * ((ExtendedVariableReference) left);
+ *
+ * List varParts = extendedVariable.getExpressions(); if
+ * (extendedVariable.isDot(0)) { Expression first = (Expression)
+ * varParts.get(0); // support only local variable addition. // TODO:
+ * Add more complex variable addition. Expression second = (Expression)
+ * varParts.get(1);
+ *
+ * if (first instanceof VariableReference && second instanceof
+ * VariableReference) { String varName = ((VariableReference)
+ * first).getName(); MethodDeclaration currentMethod = this
+ * .getCurrentMethod(); List <Argument> arguments = currentMethod
+ * .getArguments(); if (arguments != null && arguments.size() > 0) {
+ * Argument firstArgument = (Argument) arguments .get(0); String
+ * argumentName = firstArgument.getName(); if
+ * (argumentName.equals(varName)) { VariableReference var =
+ * (VariableReference) second; int initialValueStart = 0; int
+ * initialValueEnd = 0; if (right != null) { initialValueStart =
+ * right.sourceStart(); initialValueEnd = right.sourceEnd(); }
+ * PositionInformation pos = new PositionInformation( var.sourceStart(),
+ * var.sourceEnd(), initialValueStart, initialValueEnd); String
+ * initialString = this.makeValue(right); ASTNode method = (ASTNode)
+ * this.fNodes.pop(); ASTNode toClass = (ASTNode) this.fNodes.peek();
+ * this.fNodes.push(method);
+ *
+ * TypeField field = new TypeField(var.getName(), initialString, pos,
+ * left, toClass); this.fNotAddedFields.add(field); } } } } } else if
+ * (left instanceof ExpressionList) { // Multiple // TODO: Add list of
+ * variables reporting.
+ *
+ * // assignment. ExpressionList list = (ExpressionList) left;
+ * List<Expression> exprs = list.getExpressions(); for (Expression expr
+ * : exprs) { }
+ *
+ * } else {// TODO: dynamic variable handling not yet supported.
+ *
+ * } }
+ */
}
public boolean visit(Expression expression) throws Exception {
@@ -288,7 +271,7 @@
mi.nameSourceStart = method.getNameStart();
mi.nameSourceEnd = method.getNameEnd() - 1;
mi.declarationStart = method.sourceStart();
- this.fRequestor.enterMethodRemoveSame(mi);
+ ((ISourceElementRequestor) this.fRequestor).enterMethodRemoveSame(mi);
this.fInMethod = true;
this.fCurrentMethod = method;
return true;