*fix
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionParser.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionParser.java
index e39f6f1..e956bbf 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionParser.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionParser.java
@@ -10,143 +10,157 @@
package org.eclipse.dltk.ruby.internal.core.codeassist;
import org.eclipse.dltk.ast.ASTNode;
+import org.eclipse.dltk.ast.declarations.ModuleDeclaration;
-//import antlr.ANTLRException;
-
+// import antlr.ANTLRException;
public class RubySelectionParser extends RubyAssistParser {
-
- public void handleNotInElement(ASTNode node, int position) {
+
+ public void handleNotInElement(ASTNode node, int position) {
}
public void parseBlockStatements(ASTNode node, ASTNode inNode, int position) {
-// /**
-// * This is possible function completion.
-// */
-// if (node instanceof TclStatement) {
-// TclStatement statement = (TclStatement) node;
-// List expressions = statement.getExpressions();
-// int len = expressions.size();
-// boolean first = false;
-// ASTNode completionNode = null;
-// String completionToken = null;
-// for (int i = 0; i < len; ++i) {
-// ASTNode n = (ASTNode) expressions.get(i);
-// if (n.sourceStart() <= position && n.sourceEnd() >= position) {
-// if (i == 0) {
-// first = true;
-// }
-// completionNode = n;
-// }
-// }
-// if (completionNode instanceof SimpleReference) {
-// completionToken = ((SimpleReference) completionNode).getName();
-// if( completionToken.indexOf("[") != -1 ) {
-// processInnerExecuteExpression(inNode, position,
-// completionNode, completionToken);
-// }
-// }
-// // Map Variable
-// if( completionToken != null && completionToken.indexOf('(') != -1 ) {
-// if (position < completionNode.sourceStart() + completionToken.indexOf('(')) {
-// completionToken = completionToken.substring(0, completionToken.indexOf('(') );
-// } else {
-// completionToken = completionToken.substring(completionToken.indexOf('(') + 1,
-// completionToken.length() - 1);
-// }
-// }
-// if (completionNode instanceof TclBlockExpression) {
-// TclBlockExpression block = (TclBlockExpression) completionNode;
-// //try {
-// List s = block.parseBlock();
-// if (s != null) {
-// int slen = s.size();
-// for (int u = 0; u < slen; ++u) {
-// ASTNode n = (ASTNode) s.get(u);
-// if (n != null && n.sourceStart() <= position && n.sourceEnd() >= position) {
-// parseBlockStatements(n, inNode, position);
-// }
-// }
-// }
-// handleNotInElement(inNode, position);
-// /*} catch (ANTLRException e) {
-// if (DLTKCore.DEBUG_PARSER)
-// e.printStackTrace();
-// }*/
-// }
-// if (completionNode instanceof StringLiteral) {
-// int pos = position - completionNode.sourceStart();
-//
-// String content = ((StringLiteral)completionNode).getValue();
-// if( content.indexOf("[") != -1 ) {
-// processInnerExecuteExpression(inNode, position,
-// completionNode, content);
-// }
-//
-// SimpleReference tok = TclParseUtils.findVariableFromString((StringLiteral) completionNode, pos);
-// if (tok != null) {
-// this.assistNodeParent = inNode;
-// ASTNode nde = new SelectionOnVariable(tok.getName(), tok, node, inNode);
-// if( nde != null ) {
-// throw new SelectionNodeFound(nde);
-// }
-// }
-// }
-// if (completionNode instanceof TclExecuteExpression) {
-// TclExecuteExpression expr = (TclExecuteExpression) completionNode;
-// List exprs = expr.parseExpression();
-// for (int i = 0; i < exprs.size(); ++i) {
-// ASTNode n = (ASTNode) exprs.get(i);
-// if (n.sourceStart() <= position && n.sourceEnd() >= position) {
-// parseBlockStatements(n, expr, position);
-// }
-// }
-// handleNotInElement(expr, position);
-// }
-// String var = TclParseUtils.returnVariableCheck(statement, position);
-// if (( completionToken != null && completionToken.startsWith("$") ) || var != null ) {
-// this.assistNodeParent = inNode;
-// if( var != null ) {
-//// ASTNode nde = new SelectionOnVariable("$" + var, statement, node, inNode);
-//// throw new SelectionNodeFound(nde);
-// ASTNode nde = new SelectionOnAST(statement);
-// throw new SelectionNodeFound(nde);
-// }
-// else {
-// ASTNode nde = new SelectionOnVariable(completionToken, completionNode, node, inNode);
-// throw new SelectionNodeFound(nde);
-// }
-// } else {
-// if( completionToken != null && completionNode != null ) {
-// ASTNode nde = new SelectionOnKeywordOrFunction(completionToken, completionNode, node);
-// this.assistNodeParent = inNode;
-// throw new SelectionNodeFound(nde);
-// }
-// }
-// } else if (node instanceof MethodDeclaration) {
-// MethodDeclaration method = (MethodDeclaration) node;
-// List statements = method.getStatements();
-// boolean inStatement = false;
-// if (method.getNameStart() <= position && method.getNameEnd() >= position) {
-// ASTNode nde = new SelectionOnAST(method);
-// this.assistNodeParent = inNode;
-// throw new SelectionNodeFound(nde);
-// }
-// if (statements != null) {
-// int length = statements.size();
-// for (int i = 0; i < length; i++) {
-// ASTNode nde = (ASTNode) statements.get(i);
-// if (nde.sourceStart() <= position && nde.sourceEnd() >= position) {
-// inStatement = true;
-// parseBlockStatements(nde, method, position);
-// }
-// }
-// }
-// if (!inStatement) {
-// this.handleNotInElement(method, position);
-// }
-// }
+ // /**
+ // * This is possible function completion.
+ // */
+ // if (node instanceof TclStatement) {
+ // TclStatement statement = (TclStatement) node;
+ // List expressions = statement.getExpressions();
+ // int len = expressions.size();
+ // boolean first = false;
+ // ASTNode completionNode = null;
+ // String completionToken = null;
+ // for (int i = 0; i < len; ++i) {
+ // ASTNode n = (ASTNode) expressions.get(i);
+ // if (n.sourceStart() <= position && n.sourceEnd() >= position) {
+ // if (i == 0) {
+ // first = true;
+ // }
+ // completionNode = n;
+ // }
+ // }
+ // if (completionNode instanceof SimpleReference) {
+ // completionToken = ((SimpleReference) completionNode).getName();
+ // if( completionToken.indexOf("[") != -1 ) {
+ // processInnerExecuteExpression(inNode, position,
+ // completionNode, completionToken);
+ // }
+ // }
+ // // Map Variable
+ // if( completionToken != null && completionToken.indexOf('(') != -1 ) {
+ // if (position < completionNode.sourceStart() +
+ // completionToken.indexOf('(')) {
+ // completionToken = completionToken.substring(0,
+ // completionToken.indexOf('(') );
+ // } else {
+ // completionToken =
+ // completionToken.substring(completionToken.indexOf('(') + 1,
+ // completionToken.length() - 1);
+ // }
+ // }
+ // if (completionNode instanceof TclBlockExpression) {
+ // TclBlockExpression block = (TclBlockExpression) completionNode;
+ // //try {
+ // List s = block.parseBlock();
+ // if (s != null) {
+ // int slen = s.size();
+ // for (int u = 0; u < slen; ++u) {
+ // ASTNode n = (ASTNode) s.get(u);
+ // if (n != null && n.sourceStart() <= position && n.sourceEnd() >=
+ // position) {
+ // parseBlockStatements(n, inNode, position);
+ // }
+ // }
+ // }
+ // handleNotInElement(inNode, position);
+ // /*} catch (ANTLRException e) {
+ // if (DLTKCore.DEBUG_PARSER)
+ // e.printStackTrace();
+ // }*/
+ // }
+ // if (completionNode instanceof StringLiteral) {
+ // int pos = position - completionNode.sourceStart();
+ //
+ // String content = ((StringLiteral)completionNode).getValue();
+ // if( content.indexOf("[") != -1 ) {
+ // processInnerExecuteExpression(inNode, position,
+ // completionNode, content);
+ // }
+ //
+ // SimpleReference tok =
+ // TclParseUtils.findVariableFromString((StringLiteral) completionNode,
+ // pos);
+ // if (tok != null) {
+ // this.assistNodeParent = inNode;
+ // ASTNode nde = new SelectionOnVariable(tok.getName(), tok, node,
+ // inNode);
+ // if( nde != null ) {
+ // throw new SelectionNodeFound(nde);
+ // }
+ // }
+ // }
+ // if (completionNode instanceof TclExecuteExpression) {
+ // TclExecuteExpression expr = (TclExecuteExpression) completionNode;
+ // List exprs = expr.parseExpression();
+ // for (int i = 0; i < exprs.size(); ++i) {
+ // ASTNode n = (ASTNode) exprs.get(i);
+ // if (n.sourceStart() <= position && n.sourceEnd() >= position) {
+ // parseBlockStatements(n, expr, position);
+ // }
+ // }
+ // handleNotInElement(expr, position);
+ // }
+ // String var = TclParseUtils.returnVariableCheck(statement, position);
+ // if (( completionToken != null && completionToken.startsWith("$") ) ||
+ // var != null ) {
+ // this.assistNodeParent = inNode;
+ // if( var != null ) {
+ // // ASTNode nde = new SelectionOnVariable("$" + var, statement, node,
+ // inNode);
+ // // throw new SelectionNodeFound(nde);
+ // ASTNode nde = new SelectionOnAST(statement);
+ // throw new SelectionNodeFound(nde);
+ // }
+ // else {
+ // ASTNode nde = new SelectionOnVariable(completionToken,
+ // completionNode, node, inNode);
+ // throw new SelectionNodeFound(nde);
+ // }
+ // } else {
+ // if( completionToken != null && completionNode != null ) {
+ // ASTNode nde = new SelectionOnKeywordOrFunction(completionToken,
+ // completionNode, node);
+ // this.assistNodeParent = inNode;
+ // throw new SelectionNodeFound(nde);
+ // }
+ // }
+ // } else if (node instanceof MethodDeclaration) {
+ // MethodDeclaration method = (MethodDeclaration) node;
+ // List statements = method.getStatements();
+ // boolean inStatement = false;
+ // if (method.getNameStart() <= position && method.getNameEnd() >=
+ // position) {
+ // ASTNode nde = new SelectionOnAST(method);
+ // this.assistNodeParent = inNode;
+ // throw new SelectionNodeFound(nde);
+ // }
+ // if (statements != null) {
+ // int length = statements.size();
+ // for (int i = 0; i < length; i++) {
+ // ASTNode nde = (ASTNode) statements.get(i);
+ // if (nde.sourceStart() <= position && nde.sourceEnd() >= position) {
+ // inStatement = true;
+ // parseBlockStatements(nde, method, position);
+ // }
+ // }
+ // }
+ // if (!inStatement) {
+ // this.handleNotInElement(method, position);
+ // }
+ // }
}
-
+ public ModuleDeclaration getModule() {
+ return module;
+ }
}