X-Git-Url: http://git.phpeclipse.com
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java
index 2046d7c..ebca77f 100644
--- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java
+++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCompletionProcessor.java
@@ -68,6 +68,7 @@ import org.eclipse.jface.text.contentassist.IContextInformationValidator;
import org.eclipse.jface.text.templates.TemplateContextType;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
+import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
@@ -109,7 +110,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
// return false;
// }
// };
- private static class ContextInformationWrapper implements IContextInformation, IContextInformationExtension {
+ private static class ContextInformationWrapper implements
+ IContextInformation, IContextInformationExtension {
private final IContextInformation fContextInformation;
private int fPosition;
@@ -151,31 +153,31 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
}
};
-// private class TableName {
-// String fTableName;
-//
-// TableName() {
-// fTableName = null;
-// }
-//
-// /**
-// * @return Returns the tableName.
-// */
-// public String getTableName() {
-// if (fTableName == null) {
-// return "";
-// }
-// return fTableName;
-// }
-//
-// /**
-// * @param tableName
-// * The tableName to set.
-// */
-// public void setTableName(String tableName) {
-// fTableName = tableName;
-// }
-// }
+ // private class TableName {
+ // String fTableName;
+ //
+ // TableName() {
+ // fTableName = null;
+ // }
+ //
+ // /**
+ // * @return Returns the tableName.
+ // */
+ // public String getTableName() {
+ // if (fTableName == null) {
+ // return "";
+ // }
+ // return fTableName;
+ // }
+ //
+ // /**
+ // * @param tableName
+ // * The tableName to set.
+ // */
+ // public void setTableName(String tableName) {
+ // fTableName = tableName;
+ // }
+ // }
private char[] fProposalAutoActivationSet;
@@ -192,7 +194,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
public PHPCompletionProcessor(IEditorPart editor) {
fEditor = editor;
fManager = PHPeclipsePlugin.getDefault().getWorkingCopyManager();
- TemplateContextType contextType = PHPeclipsePlugin.getDefault().getTemplateContextRegistry().getContextType("php"); //$NON-NLS-1$
+ TemplateContextType contextType = PHPeclipsePlugin.getDefault()
+ .getTemplateContextRegistry().getContextType("php"); //$NON-NLS-1$
if (contextType != null)
fTemplateEngine = new TemplateEngine(contextType);
fComparator = new PHPCompletionProposalComparator();
@@ -200,9 +203,9 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
/**
* Tells this processor to order the proposals alphabetically.
- *
+ *
* @param order
- * true
if proposals should be ordered.
+ * true
if proposals should be ordered.
*/
public void orderProposalsAlphabetically(boolean order) {
fComparator.setOrderAlphabetically(order);
@@ -211,27 +214,32 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
/**
* Sets this processor's set of characters triggering the activation of the
* completion proposal computation.
- *
+ *
* @param activationSet
- * the activation set
+ * the activation set
*/
- public void setCompletionProposalAutoActivationCharacters(char[] activationSet) {
+ public void setCompletionProposalAutoActivationCharacters(
+ char[] activationSet) {
fProposalAutoActivationSet = activationSet;
}
/*
* (non-Javadoc) Method declared on IContentAssistProcessor
*/
- public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
- int contextInformationPosition = guessContextInformationPosition(viewer, documentOffset);
- return internalComputeCompletionProposals(viewer, documentOffset, contextInformationPosition);
+ public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer,
+ int documentOffset) {
+ int contextInformationPosition = guessContextInformationPosition(
+ viewer, documentOffset);
+ return internalComputeCompletionProposals(viewer, documentOffset,
+ contextInformationPosition);
}
- private int getLastToken(List list, ITextViewer viewer, int completionPosition, JavaContext context) {
-// TableName tableName) {
+ private int getLastToken(List list, ITextViewer viewer,
+ int completionPosition, JavaContext context) {
+ // TableName tableName) {
IDocument document = viewer.getDocument();
int start = context.getStart();
-// int end = context.getEnd();
+ // int end = context.getEnd();
String startText;
int lastSignificantToken = ITerminalSymbols.TokenNameEOF;
try {
@@ -239,14 +247,14 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
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;
}
@@ -260,8 +268,9 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
}
int token = ITerminalSymbols.TokenNameEOF;
// token = getLastSQLToken(startText);
-// tableName.setTableName(getLastSQLTableName(startText));
- Scanner scanner = ToolFactory.createScanner(false, false, false);
+ // tableName.setTableName(getLastSQLTableName(startText));
+ Scanner scanner = ToolFactory
+ .createScanner(false, false, false);
scanner.setSource(startText.toCharArray());
scanner.setPHPMode(true);
int beforeLastToken = ITerminalSymbols.TokenNameEOF;
@@ -270,11 +279,14 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
try {
token = scanner.getNextToken();
lastToken = token;
- while (token != ITerminalSymbols.TokenNameERROR && token != ITerminalSymbols.TokenNameEOF) {
+ while (token != ITerminalSymbols.TokenNameERROR
+ && token != ITerminalSymbols.TokenNameEOF) {
beforeLastToken = lastToken;
if (token == ITerminalSymbols.TokenNameVariable) {
ident = scanner.getCurrentTokenSource();
- if (ident.length == 5 && ident[0] == '$' && ident[1] == 't' && ident[2] == 'h' && ident[3] == 'i' && ident[4] == 's') {
+ if (ident.length == 5 && ident[0] == '$'
+ && ident[1] == 't' && ident[2] == 'h'
+ && ident[3] == 'i' && ident[4] == 's') {
token = ITerminalSymbols.TokenNamethis_PHP_COMPLETION;
}
}
@@ -318,165 +330,168 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
tableNameStart = currentCharacterPosition - 1;
} else {
if (!Scanner.isPHPIdentifierPart(ch)) {
- return sqlText.substring(tableNameStart, currentCharacterPosition - 1);
+ return sqlText.substring(tableNameStart,
+ currentCharacterPosition - 1);
}
}
}
} catch (IndexOutOfBoundsException e) {
if (tableNameStart >= 0) {
- return sqlText.substring(tableNameStart, currentCharacterPosition - 1);
+ return sqlText.substring(tableNameStart,
+ currentCharacterPosition - 1);
}
}
return "";
}
-// private String getLastSQLTableName(String startText) {
-// // scan for sql identifiers
-// char ch = ' ';
-// int currentSQLPosition = startText.length();
-// int identEnd = -1;
-// String ident = null;
-// try {
-// while (true) {
-// ch = startText.charAt(--currentSQLPosition);
-// if (Scanner.isSQLIdentifierPart(ch)) {
-// // if (ch >= 'A' && ch <= 'Z') {
-// if (identEnd < 0) {
-// identEnd = currentSQLPosition + 1;
-// }
-// // } else if (ch >= 'a' && ch <= 'z') {
-// // if (identEnd < 0) {
-// // identEnd = currentSQLPosition + 1;
-// // }
-// } else if (identEnd >= 0) {
-// ident = startText.substring(currentSQLPosition + 1, identEnd);
-// // select -- from -- where --
-// // update -- set -- where --
-// // insert into -- ( -- ) values ( -- )
-// if (ident.length() >= 4 && ident.length() <= 6) {
-// ident = ident.toLowerCase();
-// switch (ident.length()) {
-// // case 3 :
-// // if (ident.equals("set")) {
-// // // System.out.println("set");
-// // token = ITerminalSymbols.TokenNameSQLset;
-// // return token;
-// // }
-// // break;
-// case 4:
-// if (ident.equals("from")) {
-// // System.out.println("from");
-// return getSQLTableName(startText, identEnd);
-// } else if (ident.equals("into")) {
-// // System.out.println("into");
-// return getSQLTableName(startText, identEnd);
-// }
-// break;
-// case 6:
-// if (ident.equals("update")) {
-// // System.out.println("update");
-// return getSQLTableName(startText, identEnd);
-// }
-// break;
-// }
-// }
-// identEnd = -1;
-// } else if (Character.isWhitespace(ch)) {
-// }
-// }
-// } catch (IndexOutOfBoundsException e) {
-// }
-// return "";
-// }
+ // private String getLastSQLTableName(String startText) {
+ // // scan for sql identifiers
+ // char ch = ' ';
+ // int currentSQLPosition = startText.length();
+ // int identEnd = -1;
+ // String ident = null;
+ // try {
+ // while (true) {
+ // ch = startText.charAt(--currentSQLPosition);
+ // if (Scanner.isSQLIdentifierPart(ch)) {
+ // // if (ch >= 'A' && ch <= 'Z') {
+ // if (identEnd < 0) {
+ // identEnd = currentSQLPosition + 1;
+ // }
+ // // } else if (ch >= 'a' && ch <= 'z') {
+ // // if (identEnd < 0) {
+ // // identEnd = currentSQLPosition + 1;
+ // // }
+ // } else if (identEnd >= 0) {
+ // ident = startText.substring(currentSQLPosition + 1, identEnd);
+ // // select -- from -- where --
+ // // update -- set -- where --
+ // // insert into -- ( -- ) values ( -- )
+ // if (ident.length() >= 4 && ident.length() <= 6) {
+ // ident = ident.toLowerCase();
+ // switch (ident.length()) {
+ // // case 3 :
+ // // if (ident.equals("set")) {
+ // // // System.out.println("set");
+ // // token = ITerminalSymbols.TokenNameSQLset;
+ // // return token;
+ // // }
+ // // break;
+ // case 4:
+ // if (ident.equals("from")) {
+ // // System.out.println("from");
+ // return getSQLTableName(startText, identEnd);
+ // } else if (ident.equals("into")) {
+ // // System.out.println("into");
+ // return getSQLTableName(startText, identEnd);
+ // }
+ // break;
+ // case 6:
+ // if (ident.equals("update")) {
+ // // System.out.println("update");
+ // return getSQLTableName(startText, identEnd);
+ // }
+ // break;
+ // }
+ // }
+ // identEnd = -1;
+ // } else if (Character.isWhitespace(ch)) {
+ // }
+ // }
+ // } catch (IndexOutOfBoundsException e) {
+ // }
+ // return "";
+ // }
/**
* Detect the last significant SQL token in the text before the completion
- *
+ *
* @param startText
*/
-// private int getLastSQLToken(String startText) {
-// int token;
-// // scan for sql identifiers
-// char ch = ' ';
-// int currentSQLPosition = startText.length();
-// int identEnd = -1;
-// String ident = null;
-// try {
-// while (true) {
-// ch = startText.charAt(--currentSQLPosition);
-// if (ch >= 'A' && ch <= 'Z') {
-// if (identEnd < 0) {
-// identEnd = currentSQLPosition + 1;
-// }
-// } else if (ch >= 'a' && ch <= 'z') {
-// if (identEnd < 0) {
-// identEnd = currentSQLPosition + 1;
-// }
-// } else if (identEnd >= 0) {
-// ident = startText.substring(currentSQLPosition + 1, identEnd);
-// // select -- from -- where --
-// // update -- set -- where --
-// // insert into -- ( -- ) values ( -- )
-// if (ident.length() >= 3 && ident.length() <= 6) {
-// ident = ident.toLowerCase();
-// switch (ident.length()) {
-// case 3:
-// if (ident.equals("set")) {
-// // System.out.println("set");
-// token = ITerminalSymbols.TokenNameSQLset;
-// return token;
-// }
-// break;
-// case 4:
-// if (ident.equals("from")) {
-// // System.out.println("from");
-// token = ITerminalSymbols.TokenNameSQLfrom;
-// // getSQLTableName();
-// return token;
-// } else if (ident.equals("into")) {
-// // System.out.println("into");
-// token = ITerminalSymbols.TokenNameSQLinto;
-// return token;
-// }
-// break;
-// case 5:
-// if (ident.equals("where")) {
-// // System.out.println("where");
-// token = ITerminalSymbols.TokenNameSQLwhere;
-// return token;
-// }
-// break;
-// case 6:
-// if (ident.equals("select")) {
-// // System.out.println("select");
-// token = ITerminalSymbols.TokenNameSQLselect;
-// return token;
-// } else if (ident.equals("insert")) {
-// // System.out.println("insert");
-// token = ITerminalSymbols.TokenNameSQLinsert;
-// return token;
-// } else if (ident.equals("update")) {
-// // System.out.println("update");
-// token = ITerminalSymbols.TokenNameSQLupdate;
-// return token;
-// } else if (ident.equals("values")) {
-// // System.out.println("values");
-// token = ITerminalSymbols.TokenNameSQLvalues;
-// return token;
-// }
-// break;
-// }
-// }
-// identEnd = -1;
-// }
-// }
-// } catch (IndexOutOfBoundsException e) {
-// }
-// return ITerminalSymbols.TokenNameEOF;
-// }
-
- private ICompletionProposal[] internalComputeCompletionProposals(ITextViewer viewer, int offset, int contextOffset) {
- ICompilationUnit unit = fManager.getWorkingCopy(fEditor.getEditorInput());
+ // private int getLastSQLToken(String startText) {
+ // int token;
+ // // scan for sql identifiers
+ // char ch = ' ';
+ // int currentSQLPosition = startText.length();
+ // int identEnd = -1;
+ // String ident = null;
+ // try {
+ // while (true) {
+ // ch = startText.charAt(--currentSQLPosition);
+ // if (ch >= 'A' && ch <= 'Z') {
+ // if (identEnd < 0) {
+ // identEnd = currentSQLPosition + 1;
+ // }
+ // } else if (ch >= 'a' && ch <= 'z') {
+ // if (identEnd < 0) {
+ // identEnd = currentSQLPosition + 1;
+ // }
+ // } else if (identEnd >= 0) {
+ // ident = startText.substring(currentSQLPosition + 1, identEnd);
+ // // select -- from -- where --
+ // // update -- set -- where --
+ // // insert into -- ( -- ) values ( -- )
+ // if (ident.length() >= 3 && ident.length() <= 6) {
+ // ident = ident.toLowerCase();
+ // switch (ident.length()) {
+ // case 3:
+ // if (ident.equals("set")) {
+ // // System.out.println("set");
+ // token = ITerminalSymbols.TokenNameSQLset;
+ // return token;
+ // }
+ // break;
+ // case 4:
+ // if (ident.equals("from")) {
+ // // System.out.println("from");
+ // token = ITerminalSymbols.TokenNameSQLfrom;
+ // // getSQLTableName();
+ // return token;
+ // } else if (ident.equals("into")) {
+ // // System.out.println("into");
+ // token = ITerminalSymbols.TokenNameSQLinto;
+ // return token;
+ // }
+ // break;
+ // case 5:
+ // if (ident.equals("where")) {
+ // // System.out.println("where");
+ // token = ITerminalSymbols.TokenNameSQLwhere;
+ // return token;
+ // }
+ // break;
+ // case 6:
+ // if (ident.equals("select")) {
+ // // System.out.println("select");
+ // token = ITerminalSymbols.TokenNameSQLselect;
+ // return token;
+ // } else if (ident.equals("insert")) {
+ // // System.out.println("insert");
+ // token = ITerminalSymbols.TokenNameSQLinsert;
+ // return token;
+ // } else if (ident.equals("update")) {
+ // // System.out.println("update");
+ // token = ITerminalSymbols.TokenNameSQLupdate;
+ // return token;
+ // } else if (ident.equals("values")) {
+ // // System.out.println("values");
+ // token = ITerminalSymbols.TokenNameSQLvalues;
+ // return token;
+ // }
+ // break;
+ // }
+ // }
+ // identEnd = -1;
+ // }
+ // }
+ // } catch (IndexOutOfBoundsException e) {
+ // }
+ // return ITerminalSymbols.TokenNameEOF;
+ // }
+ private ICompletionProposal[] internalComputeCompletionProposals(
+ ITextViewer viewer, int offset, int contextOffset) {
+ ICompilationUnit unit = fManager.getWorkingCopy(fEditor
+ .getEditorInput());
IDocument document = viewer.getDocument();
IFile file = null;
IProject project = null;
@@ -484,8 +499,13 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
PHPEditor editor = null;
if (fEditor != null && (fEditor instanceof PHPEditor)) {
editor = (PHPEditor) fEditor;
- file = ((IFileEditorInput) editor.getEditorInput()).getFile();
- project = file.getProject();
+ IEditorInput editorInput = editor.getEditorInput();
+ if (editorInput instanceof IFileEditorInput) {
+ file = ((IFileEditorInput) editorInput).getFile();
+ project = file.getProject();
+ } else {
+ return new ICompletionProposal[0];
+ }
}
}
@@ -503,7 +523,7 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
// restrict auto activation for '>' character to '->' token
try {
- char ch = document.getChar(offset-1);
+ char ch = document.getChar(offset - 1);
if (ch == '>') {
for (int i = 0; i < fProposalAutoActivationSet.length; i++) {
ch = fProposalAutoActivationSet[i];
@@ -521,24 +541,28 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
}
}
- JavaContextType phpContextType = (JavaContextType) PHPeclipsePlugin.getDefault().getTemplateContextRegistry().getContextType(
- "php"); //$NON-NLS-1$
- JavaContext context = (JavaContext) phpContextType.createContext(document, offset, selection.y, unit);
+ JavaContextType phpContextType = (JavaContextType) PHPeclipsePlugin
+ .getDefault().getTemplateContextRegistry()
+ .getContextType("php"); //$NON-NLS-1$
+ JavaContext context = (JavaContext) phpContextType.createContext(
+ document, offset, selection.y, unit);
context.setVariable("selection", selectedText); //$NON-NLS-1$
String prefix = context.getKey();
HashMap methodVariables = null;
// HashMap typeVariables = null;
HashMap unitVariables = null;
- ICompilationUnit compilationUnit = (ICompilationUnit) context.findEnclosingElement(IJavaElement.COMPILATION_UNIT);
-// if (compilationUnit != null) {
-// unitVariables = ((CompilationUnit) compilationUnit).variables;
-// }
- IType type = (IType) context.findEnclosingElement(IJavaElement.TYPE);
- if (type != null) {
-// typeVariables = ((SourceType) type).variables;
- }
- IMethod method = (IMethod) context.findEnclosingElement(IJavaElement.METHOD);
+ ICompilationUnit compilationUnit = (ICompilationUnit) context
+ .findEnclosingElement(IJavaElement.COMPILATION_UNIT);
+ // if (compilationUnit != null) {
+ // unitVariables = ((CompilationUnit) compilationUnit).variables;
+ // }
+ IType type = (IType) context.findEnclosingElement(IJavaElement.TYPE);
+ if (type != null) {
+ // typeVariables = ((SourceType) type).variables;
+ }
+ IMethod method = (IMethod) context
+ .findEnclosingElement(IJavaElement.METHOD);
// if (method != null) {
// methodVariables = ((SourceMethod) method).variables;
// }
@@ -552,23 +576,29 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
HashSet localVariables = new HashSet();
if (compilationUnit != null) {
unitVariables = getUnitVariables(unitVariables, compilationUnit);
- getVariableProposals(localVariables, viewer, project, context, unitVariables, lowerCasePrefix, 94);
+ getVariableProposals(localVariables, viewer, project, context,
+ unitVariables, lowerCasePrefix, 94);
}
if (method != null) {
methodVariables = getMethodVariables(methodVariables, method);
- getVariableProposals(localVariables, viewer, project, context, methodVariables, lowerCasePrefix, 99);
+ getVariableProposals(localVariables, viewer, project, context,
+ methodVariables, lowerCasePrefix, 99);
}
if (!localVariables.isEmpty()) {
- localVariableResults = (IPHPCompletionProposal[]) localVariables.toArray(new IPHPCompletionProposal[localVariables.size()]);
+ localVariableResults = (IPHPCompletionProposal[]) localVariables
+ .toArray(new IPHPCompletionProposal[localVariables
+ .size()]);
}
}
-// TableName sqlTable = new TableName();
+ // TableName sqlTable = new TableName();
ArrayList list = new ArrayList();
list.add(null);
- int lastSignificantToken = getLastToken(list, viewer, offset, context); //, sqlTable);
+ int lastSignificantToken = getLastToken(list, viewer, offset, context); // ,
+ // sqlTable);
boolean useClassMembers = (lastSignificantToken == ITerminalSymbols.TokenNameMINUS_GREATER)
- || (lastSignificantToken == ITerminalSymbols.TokenNameVariable) || (lastSignificantToken == ITerminalSymbols.TokenNamenew)
+ || (lastSignificantToken == ITerminalSymbols.TokenNameVariable)
+ || (lastSignificantToken == ITerminalSymbols.TokenNamenew)
|| (lastSignificantToken == ITerminalSymbols.TokenNamethis_PHP_COMPLETION);
if (fTemplateEngine != null) {
@@ -586,23 +616,29 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
IPHPCompletionProposal[] declarationResults = new IPHPCompletionProposal[0];
if (project != null) {
DeclarationEngine declarationEngine;
- JavaContextType contextType = (JavaContextType) PHPeclipsePlugin.getDefault().getTemplateContextRegistry().getContextType(
- "php"); //$NON-NLS-1$
+ JavaContextType contextType = (JavaContextType) PHPeclipsePlugin
+ .getDefault().getTemplateContextRegistry()
+ .getContextType("php"); //$NON-NLS-1$
if (contextType != null) {
- IdentifierIndexManager indexManager = PHPeclipsePlugin.getDefault().getIndexManager(project);
+ IdentifierIndexManager indexManager = PHPeclipsePlugin
+ .getDefault().getIndexManager(project);
SortedMap sortedMap;
- declarationEngine = new DeclarationEngine(project, contextType, lastSignificantToken, file);
+ declarationEngine = new DeclarationEngine(project,
+ contextType, lastSignificantToken, file);
if (lastSignificantToken == ITerminalSymbols.TokenNamethis_PHP_COMPLETION) {
// complete '$this->'
sortedMap = indexManager.getIdentifiers(file);
- declarationEngine.completeObject(viewer, offset, sortedMap, unit);
+ declarationEngine.completeObject(viewer, offset,
+ sortedMap, unit);
} else {
String typeRef = null;
char[] varName = (char[]) list.get(0);
if (varName != null) {
if (method != null) {
- methodVariables = getMethodVariables(methodVariables, method);
- VariableInfo info = (VariableInfo) methodVariables.get(new String(varName));
+ methodVariables = getMethodVariables(
+ methodVariables, method);
+ VariableInfo info = (VariableInfo) methodVariables
+ .get(new String(varName));
if (info != null && info.typeIdentifier != null) {
typeRef = new String(info.typeIdentifier);
}
@@ -611,11 +647,13 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
if (typeRef != null) {
// complete '$variable->' with type information
sortedMap = indexManager.getIdentifiers(typeRef);
- declarationEngine.completeObject(viewer, offset, sortedMap, unit);
+ declarationEngine.completeObject(viewer, offset,
+ sortedMap, unit);
} else {
// complete '$variable->' without type information
sortedMap = indexManager.getIdentifierMap();
- declarationEngine.complete(viewer, offset, sortedMap, unit);
+ declarationEngine.complete(viewer, offset,
+ sortedMap, unit);
}
}
declarationResults = declarationEngine.getResults();
@@ -626,8 +664,9 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
IPHPCompletionProposal[] builtinResults = new IPHPCompletionProposal[0];
if ((!useClassMembers) && syntaxbuffer != null) {
BuiltInEngine builtinEngine;
- JavaContextType contextType = (JavaContextType) PHPeclipsePlugin.getDefault().getTemplateContextRegistry().getContextType(
- "php"); //$NON-NLS-1$
+ JavaContextType contextType = (JavaContextType) PHPeclipsePlugin
+ .getDefault().getTemplateContextRegistry()
+ .getContextType("php"); //$NON-NLS-1$
if (contextType != null) {
builtinEngine = new BuiltInEngine(contextType);
builtinEngine.complete(viewer, offset, syntaxbuffer, unit);
@@ -641,28 +680,40 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
// }
// concatenate the result arrays
IPHPCompletionProposal[] total;
- total = new IPHPCompletionProposal[localVariableResults.length + templateResults.length + identifierResults.length
+ total = new IPHPCompletionProposal[localVariableResults.length
+ + templateResults.length + identifierResults.length
+ builtinResults.length + declarationResults.length];// +
// sqlResults.length];
- System.arraycopy(templateResults, 0, total, 0, templateResults.length);
- System.arraycopy(identifierResults, 0, total, templateResults.length, identifierResults.length);
- System.arraycopy(builtinResults, 0, total, templateResults.length + identifierResults.length, builtinResults.length);
- System.arraycopy(declarationResults, 0, total, templateResults.length + identifierResults.length + builtinResults.length,
- declarationResults.length);
+ System.arraycopy(templateResults, 0, total, 0,
+ templateResults.length);
+ System.arraycopy(identifierResults, 0, total,
+ templateResults.length, identifierResults.length);
+ System.arraycopy(builtinResults, 0, total, templateResults.length
+ + identifierResults.length, builtinResults.length);
+ System.arraycopy(declarationResults, 0, total,
+ templateResults.length + identifierResults.length
+ + builtinResults.length, declarationResults.length);
// System.arraycopy(sqlResults, 0, total, templateResults.length +
// identifierResults.length + builtinResults.length
// + declarationResults.length, sqlResults.length);
- // System.arraycopy(localVariableResults, 0, total, templateResults.length
+ // System.arraycopy(localVariableResults, 0, total,
+ // templateResults.length
// + identifierResults.length + builtinResults.length
// + declarationResults.length + sqlResults.length,
// localVariableResults.length);
- System.arraycopy(localVariableResults, 0, total, templateResults.length + identifierResults.length + builtinResults.length
- + declarationResults.length, localVariableResults.length);
+ System
+ .arraycopy(localVariableResults, 0, total,
+ templateResults.length + identifierResults.length
+ + builtinResults.length
+ + declarationResults.length,
+ localVariableResults.length);
results = total;
-// fNumberOfComputedResults = (results == null ? 0 : results.length);
+ // fNumberOfComputedResults = (results == null ? 0 :
+ // results.length);
/*
- * Order here and not in result collector to make sure that the order
- * applies to all proposals and not just those of the compilation unit.
+ * Order here and not in result collector to make sure that the
+ * order applies to all proposals and not just those of the
+ * compilation unit.
*/
return order(results);
}
@@ -673,16 +724,20 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
* @param unitVariables
* @param unit
*/
- private HashMap getUnitVariables(HashMap unitVariables, ICompilationUnit unit) {
+ private HashMap getUnitVariables(HashMap unitVariables,
+ ICompilationUnit unit) {
if (unitVariables == null) {
try {
String unitText = unit.getSource();
unitVariables = new HashMap();
- ProblemReporter problemReporter = new ProblemReporter(DefaultErrorHandlingPolicies.exitAfterAllProblems(),
- new CompilerOptions(JavaCore.getOptions()), new DefaultProblemFactory());
+ ProblemReporter problemReporter = new ProblemReporter(
+ DefaultErrorHandlingPolicies.exitAfterAllProblems(),
+ new CompilerOptions(JavaCore.getOptions()),
+ new DefaultProblemFactory());
UnitParser parser = new UnitParser(problemReporter);
- parser.compilationUnit = new CompilationUnitDeclaration(problemReporter, null, unitText.length());
+ parser.compilationUnit = new CompilationUnitDeclaration(
+ problemReporter, null, unitText.length());
parser.parse(unitText, unitVariables);
} catch (Exception e) {
@@ -703,10 +758,13 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
try {
String methodText = method.getSource();
methodVariables = new HashMap();
- ProblemReporter problemReporter = new ProblemReporter(DefaultErrorHandlingPolicies.exitAfterAllProblems(),
- new CompilerOptions(JavaCore.getOptions()), new DefaultProblemFactory());
+ ProblemReporter problemReporter = new ProblemReporter(
+ DefaultErrorHandlingPolicies.exitAfterAllProblems(),
+ new CompilerOptions(JavaCore.getOptions()),
+ new DefaultProblemFactory());
UnitParser parser = new UnitParser(problemReporter);
- parser.compilationUnit = new CompilationUnitDeclaration(problemReporter, null, methodText.length());
+ parser.compilationUnit = new CompilationUnitDeclaration(
+ problemReporter, null, methodText.length());
parser.parseFunction(methodText, methodVariables);
} catch (Exception e) {
// TODO Auto-generated catch block
@@ -724,7 +782,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
* @param prefix
* @return
*/
- private void getVariableProposals(HashSet localVariables, ITextViewer viewer, IProject project, JavaContext context,
+ private void getVariableProposals(HashSet localVariables,
+ ITextViewer viewer, IProject project, JavaContext context,
HashMap variables, String prefix, int relevance) {
// try {
int start = context.getStart();
@@ -732,7 +791,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
IRegion region = new Region(start, end - start);
// IMethod method = (IMethod)
// context.findEnclosingElement(IJavaElement.METHOD);
- // if (method != null && (method instanceof SourceMethod) && ((SourceMethod)
+ // if (method != null && (method instanceof SourceMethod) &&
+ // ((SourceMethod)
// method).variables != null) {
// HashMap map = ((SourceMethod) method).variables;
Set set = variables.keySet();
@@ -744,7 +804,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
if (varName.length() >= prefix.length()) {
matchesVarName = true;
for (int i = 0; i < prefix.length(); i++) {
- if (prefix.charAt(i) != Character.toLowerCase(varName.charAt(i))) {
+ if (prefix.charAt(i) != Character.toLowerCase(varName
+ .charAt(i))) {
matchesVarName = false;
break;
}
@@ -752,10 +813,12 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
if (matchesVarName) {
LocalVariableProposal prop;
// if (varName.length == prefix.length()) {
- // prop = new LocalVariableProposal(new String(varName), region,
+ // prop = new LocalVariableProposal(new String(varName),
+ // region,
// viewer, relevance-10);
// } else {
- prop = new LocalVariableProposal(new String(varName), region, viewer, relevance);
+ prop = new LocalVariableProposal(new String(varName),
+ region, viewer, relevance);
// }
localVariables.add(prop);
}
@@ -796,7 +859,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
// }
// }
// } catch (Throwable e) {
- // // ignore - Syntax exceptions could occur, if there are syntax errors !
+ // // ignore - Syntax exceptions could occur, if there are syntax errors
+ // !
// }
}
@@ -809,7 +873,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
* @param sqlResults
* @return
*/
- // private ICompletionProposal[] getSQLProposals(ITextViewer viewer, IProject
+ // private ICompletionProposal[] getSQLProposals(ITextViewer viewer,
+ // IProject
// project, DocumentTemplateContext context,
// String prefix, TableName sqlTable) {
// ICompletionProposal[] sqlResults = new ICompletionProposal[0];
@@ -928,19 +993,25 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
/**
* @see IContentAssistProcessor#computeContextInformation(ITextViewer, int)
*/
- public IContextInformation[] computeContextInformation(ITextViewer viewer, int offset) {
- int contextInformationPosition = guessContextInformationPosition(viewer, offset);
+ public IContextInformation[] computeContextInformation(ITextViewer viewer,
+ int offset) {
+ int contextInformationPosition = guessContextInformationPosition(
+ viewer, offset);
List result = addContextInformations(viewer, contextInformationPosition);
- return (IContextInformation[]) result.toArray(new IContextInformation[result.size()]);
+ return (IContextInformation[]) result
+ .toArray(new IContextInformation[result.size()]);
}
private List addContextInformations(ITextViewer viewer, int offset) {
- ICompletionProposal[] proposals = internalComputeCompletionProposals(viewer, offset, -1);
+ ICompletionProposal[] proposals = internalComputeCompletionProposals(
+ viewer, offset, -1);
List result = new ArrayList();
for (int i = 0; i < proposals.length; i++) {
- IContextInformation contextInformation = proposals[i].getContextInformation();
+ IContextInformation contextInformation = proposals[i]
+ .getContextInformation();
if (contextInformation != null) {
- ContextInformationWrapper wrapper = new ContextInformationWrapper(contextInformation);
+ ContextInformationWrapper wrapper = new ContextInformationWrapper(
+ contextInformation);
wrapper.setContextInformationPosition(offset);
result.add(wrapper);
}