import net.sourceforge.phpdt.core.JavaCore;
import net.sourceforge.phpdt.core.ToolFactory;
import net.sourceforge.phpdt.core.compiler.ITerminalSymbols;
+import net.sourceforge.phpdt.core.compiler.ITerminalSymbols.TokenName;
import net.sourceforge.phpdt.core.compiler.InvalidInputException;
import net.sourceforge.phpdt.internal.compiler.DefaultErrorHandlingPolicies;
import net.sourceforge.phpdt.internal.compiler.ast.CompilationUnitDeclaration;
contextInformationPosition);
}
- private int getLastToken(List list, ITextViewer viewer,
+ private TokenName getLastToken(List list, ITextViewer viewer,
int completionPosition, JavaContext context) {
// TableName tableName) {
IDocument document = viewer.getDocument();
int start = context.getStart();
// int end = context.getEnd();
String startText;
- int lastSignificantToken = ITerminalSymbols.TokenNameEOF;
+ TokenName lastSignificantToken = ITerminalSymbols.TokenName.EOF;
try {
// begin search 2 lines behind of this
int j = start;
if (j != 0) {
char ch;
- while (j-- > 0) {
- ch = document.getChar(j);
+ while (j > 0) {
+ ch = document.getChar(--j);
if (ch == '\n') {
break;
}
}
- while (j-- > 0) {
- ch = document.getChar(j);
+ while (j > 0) {
+ ch = document.getChar(--j);
if (ch == '\n') {
break;
}
if (Scanner.DEBUG) {
System.out.println(startText);
}
- int token = ITerminalSymbols.TokenNameEOF;
+ TokenName token = ITerminalSymbols.TokenName.EOF;
// token = getLastSQLToken(startText);
// tableName.setTableName(getLastSQLTableName(startText));
Scanner scanner = ToolFactory
.createScanner(false, false, false);
scanner.setSource(startText.toCharArray());
scanner.setPHPMode(true);
- int beforeLastToken = ITerminalSymbols.TokenNameEOF;
- int lastToken = ITerminalSymbols.TokenNameEOF;
+ TokenName beforeLastToken = ITerminalSymbols.TokenName.EOF;
+ TokenName lastToken = ITerminalSymbols.TokenName.EOF;
char[] ident = null;
try {
token = scanner.getNextToken();
lastToken = token;
- while (token != ITerminalSymbols.TokenNameERROR
- && token != ITerminalSymbols.TokenNameEOF) {
+ while (token != ITerminalSymbols.TokenName.ERROR
+ && token != ITerminalSymbols.TokenName.EOF) {
beforeLastToken = lastToken;
- if (token == ITerminalSymbols.TokenNameVariable) {
+ if (token == ITerminalSymbols.TokenName.VARIABLE) {
ident = scanner.getCurrentTokenSource();
if (ident.length == 5 && ident[0] == '$'
&& ident[1] == 't' && ident[2] == 'h'
&& ident[3] == 'i' && ident[4] == 's') {
- token = ITerminalSymbols.TokenNamethis_PHP_COMPLETION;
+ token = ITerminalSymbols.TokenName.THIS_PHP_COMPLETION;
}
}
lastToken = token;
} catch (SyntaxError e) {
}
switch (lastToken) {
- case ITerminalSymbols.TokenNameMINUS_GREATER:
+ case MINUS_GREATER:
// dereferencing operator '->' found
- lastSignificantToken = ITerminalSymbols.TokenNameMINUS_GREATER;
- if (beforeLastToken == ITerminalSymbols.TokenNameVariable) {
- lastSignificantToken = ITerminalSymbols.TokenNameVariable;
+ lastSignificantToken = ITerminalSymbols.TokenName.MINUS_GREATER;
+ if (beforeLastToken == ITerminalSymbols.TokenName.VARIABLE) {
+ lastSignificantToken = ITerminalSymbols.TokenName.VARIABLE;
list.set(0, ident);
- } else if (beforeLastToken == ITerminalSymbols.TokenNamethis_PHP_COMPLETION) {
- lastSignificantToken = ITerminalSymbols.TokenNamethis_PHP_COMPLETION;
+ } else if (beforeLastToken == ITerminalSymbols.TokenName.THIS_PHP_COMPLETION) {
+ lastSignificantToken = ITerminalSymbols.TokenName.THIS_PHP_COMPLETION;
list.set(0, ident);
}
break;
- case ITerminalSymbols.TokenNamenew:
- lastSignificantToken = ITerminalSymbols.TokenNamenew;
+ case NEW:
+ lastSignificantToken = ITerminalSymbols.TokenName.NEW;
break;
}
}
// // case 3 :
// // if (ident.equals("set")) {
// // // System.out.println("set");
- // // token = ITerminalSymbols.TokenNameSQLset;
+ // // token = ITerminalSymbols.TokenName.SQLset;
// // return token;
// // }
// // break;
// case 3:
// if (ident.equals("set")) {
// // System.out.println("set");
- // token = ITerminalSymbols.TokenNameSQLset;
+ // token = ITerminalSymbols.TokenName.SQLset;
// return token;
// }
// break;
// case 4:
// if (ident.equals("from")) {
// // System.out.println("from");
- // token = ITerminalSymbols.TokenNameSQLfrom;
+ // token = ITerminalSymbols.TokenName.SQLfrom;
// // getSQLTableName();
// return token;
// } else if (ident.equals("into")) {
// // System.out.println("into");
- // token = ITerminalSymbols.TokenNameSQLinto;
+ // token = ITerminalSymbols.TokenName.SQLinto;
// return token;
// }
// break;
// case 5:
// if (ident.equals("where")) {
// // System.out.println("where");
- // token = ITerminalSymbols.TokenNameSQLwhere;
+ // token = ITerminalSymbols.TokenName.SQLwhere;
// return token;
// }
// break;
// case 6:
// if (ident.equals("select")) {
// // System.out.println("select");
- // token = ITerminalSymbols.TokenNameSQLselect;
+ // token = ITerminalSymbols.TokenName.SQLselect;
// return token;
// } else if (ident.equals("insert")) {
// // System.out.println("insert");
- // token = ITerminalSymbols.TokenNameSQLinsert;
+ // token = ITerminalSymbols.TokenName.SQLinsert;
// return token;
// } else if (ident.equals("update")) {
// // System.out.println("update");
- // token = ITerminalSymbols.TokenNameSQLupdate;
+ // token = ITerminalSymbols.TokenName.SQLupdate;
// return token;
// } else if (ident.equals("values")) {
// // System.out.println("values");
- // token = ITerminalSymbols.TokenNameSQLvalues;
+ // token = ITerminalSymbols.TokenName.SQLvalues;
// return token;
// }
// break;
// }
// } catch (IndexOutOfBoundsException e) {
// }
- // return ITerminalSymbols.TokenNameEOF;
+ // return ITerminalSymbols.TokenName.EOF;
// }
private ICompletionProposal[] internalComputeCompletionProposals(
ITextViewer viewer, int offset, int contextOffset) {
// TableName sqlTable = new TableName();
ArrayList list = new ArrayList();
list.add(null);
- int lastSignificantToken = getLastToken(list, viewer, offset, context); // ,
+ TokenName lastSignificantToken = getLastToken(list, viewer, offset, context); // ,
// sqlTable);
- boolean useClassMembers = (lastSignificantToken == ITerminalSymbols.TokenNameMINUS_GREATER)
- || (lastSignificantToken == ITerminalSymbols.TokenNameVariable)
- || (lastSignificantToken == ITerminalSymbols.TokenNamenew)
- || (lastSignificantToken == ITerminalSymbols.TokenNamethis_PHP_COMPLETION);
+ boolean useClassMembers = (lastSignificantToken == ITerminalSymbols.TokenName.MINUS_GREATER)
+ || (lastSignificantToken == ITerminalSymbols.TokenName.VARIABLE)
+ || (lastSignificantToken == ITerminalSymbols.TokenName.NEW)
+ || (lastSignificantToken == ITerminalSymbols.TokenName.THIS_PHP_COMPLETION);
if (fTemplateEngine != null) {
IPHPCompletionProposal[] templateResults = new IPHPCompletionProposal[0];
SortedMap sortedMap;
declarationEngine = new DeclarationEngine(project,
contextType, lastSignificantToken, file);
- if (lastSignificantToken == ITerminalSymbols.TokenNamethis_PHP_COMPLETION) {
+ if (lastSignificantToken == ITerminalSymbols.TokenName.THIS_PHP_COMPLETION) {
// complete '$this->'
sortedMap = indexManager.getIdentifiers(file);
declarationEngine.completeObject(viewer, offset,
// Scanner scanner = new Scanner();
// scanner.setSource(source);
// scanner.phpMode = true;
- // int token = Scanner.TokenNameWHITESPACE;
- // while ((token = scanner.getNextToken()) != Scanner.TokenNameEOF) {
- // if (token == Scanner.TokenNameVariable) {
+ // int token = Scanner.TokenName.WHITESPACE;
+ // while ((token = scanner.getNextToken()) != Scanner.TokenName.EOF) {
+ // if (token == Scanner.TokenName.Variable) {
// varName = scanner.getCurrentTokenSource();
// if (varName.length >= prefix.length()) {
// matchesVarName = true;