X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/CompilationUnitCompletion.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/CompilationUnitCompletion.java index cf9649b..eae8473 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/CompilationUnitCompletion.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/CompilationUnitCompletion.java @@ -12,230 +12,239 @@ package net.sourceforge.phpdt.internal.corext.template.php; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; +//import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Vector; +//import java.util.Vector; import net.sourceforge.phpdt.core.CompletionRequestorAdapter; import net.sourceforge.phpdt.core.ICompilationUnit; import net.sourceforge.phpdt.core.compiler.IProblem; /** - * A completion requestor to collect informations on local variables. - * This class is used for guessing variable names like arrays, collections, etc. + * A completion requestor to collect informations on local variables. This class + * is used for guessing variable names like arrays, collections, etc. */ class CompilationUnitCompletion extends CompletionRequestorAdapter { static class LocalVariable { String name; + String typePackageName; + String typeName; - + LocalVariable(String name, String typePackageName, String typeName) { - this.name= name; - this.typePackageName= typePackageName; - this.typeName= typeName; + this.name = name; + this.typePackageName = typePackageName; + this.typeName = typeName; } } - private ICompilationUnit fUnit; + //private ICompilationUnit fUnit; - private List fLocalVariables= new ArrayList(); - private Map fTypes= new HashMap(); + private List fLocalVariables = new ArrayList(); + private Map fTypes = new HashMap(); - private boolean fError; + //private boolean fError; /** * Creates a compilation unit completion. * - * @param unit the compilation unit, may be null. + * @param unit + * the compilation unit, may be null. */ public CompilationUnitCompletion(ICompilationUnit unit) { reset(unit); } - + /** * Resets the completion requestor. * - * @param unit the compilation unit, may be null. + * @param unit + * the compilation unit, may be null. */ public void reset(ICompilationUnit unit) { - fUnit= unit; - + //fUnit = unit; + fLocalVariables.clear(); fTypes.clear(); - - fError= false; + + //fError = false; } /* * @see ICompletionRequestor#acceptError(IProblem) */ public void acceptError(IProblem error) { - fError= true; + //fError = true; } - /* * @see ICodeCompletionRequestor#acceptLocalVariable */ - public void acceptLocalVariable(char[] name, char[] typePackageName, char[] typeName, - int modifiers, int completionStart, int completionEnd, int relevance) - { - fLocalVariables.add(new LocalVariable( - new String(name), new String(typePackageName), new String(typeName))); + public void acceptLocalVariable(char[] name, char[] typePackageName, + char[] typeName, int modifiers, int completionStart, + int completionEnd, int relevance) { + fLocalVariables.add(new LocalVariable(new String(name), new String( + typePackageName), new String(typeName))); } - // --- /** * Tests if the code completion process produced errors. */ - public boolean hasErrors() { - return fError; - } - - - boolean existsLocalName(String name) { - for (Iterator iterator = fLocalVariables.iterator(); iterator.hasNext();) { - LocalVariable localVariable = (LocalVariable) iterator.next(); +// public boolean hasErrors() { +// return fError; +// } - if (localVariable.name.equals(name)) - return true; - } +// boolean existsLocalName(String name) { +// for (Iterator iterator = fLocalVariables.iterator(); iterator.hasNext();) { +// LocalVariable localVariable = (LocalVariable) iterator.next(); +// +// if (localVariable.name.equals(name)) +// return true; +// } +// +// return false; +// } - return false; - } - - String[] getLocalVariableNames() { - String[] res= new String[fLocalVariables.size()]; - int i= 0; - for (Iterator iterator = fLocalVariables.iterator(); iterator.hasNext();) { - LocalVariable localVariable = (LocalVariable) iterator.next(); - res[i++]= localVariable.name; - } - return res; - } - - LocalVariable[] findLocalArrays() { - Vector vector= new Vector(); - - for (Iterator iterator= fLocalVariables.iterator(); iterator.hasNext();) { - LocalVariable localVariable= (LocalVariable) iterator.next(); - - if (isArray(localVariable.typeName)) - vector.add(localVariable); - } +// String[] getLocalVariableNames() { +// String[] res = new String[fLocalVariables.size()]; +// int i = 0; +// for (Iterator iterator = fLocalVariables.iterator(); iterator.hasNext();) { +// LocalVariable localVariable = (LocalVariable) iterator.next(); +// res[i++] = localVariable.name; +// } +// return res; +// } - return (LocalVariable[]) vector.toArray(new LocalVariable[vector.size()]); - } - -// LocalVariable[] findLocalCollections() throws JavaModelException { -// Vector vector= new Vector(); +// LocalVariable[] findLocalArrays() { +// Vector vector = new Vector(); // -// for (Iterator iterator= fLocalVariables.iterator(); iterator.hasNext();) { -// LocalVariable localVariable= (LocalVariable) iterator.next(); +// for (Iterator iterator = fLocalVariables.iterator(); iterator.hasNext();) { +// LocalVariable localVariable = (LocalVariable) iterator.next(); // -// String typeName= qualify(localVariable.typeName); -// -// if (typeName == null) -// continue; -// -// if (isSubclassOf(typeName, "java.util.Collection")) //$NON-NLS-1$ +// if (isArray(localVariable.typeName)) // vector.add(localVariable); // } // -// return (LocalVariable[]) vector.toArray(new LocalVariable[vector.size()]); +// return (LocalVariable[]) vector +// .toArray(new LocalVariable[vector.size()]); // } - String simplifyTypeName(String qualifiedName) { - return (String) fTypes.get(qualifiedName); - } + // LocalVariable[] findLocalCollections() throws JavaModelException { + // Vector vector= new Vector(); + // + // for (Iterator iterator= fLocalVariables.iterator(); iterator.hasNext();) + // { + // LocalVariable localVariable= (LocalVariable) iterator.next(); + // + // String typeName= qualify(localVariable.typeName); + // + // if (typeName == null) + // continue; + // + // if (isSubclassOf(typeName, "java.util.Collection")) //$NON-NLS-1$ + // vector.add(localVariable); + // } + // + // return (LocalVariable[]) vector.toArray(new + // LocalVariable[vector.size()]); + // } + +// String simplifyTypeName(String qualifiedName) { +// return (String) fTypes.get(qualifiedName); +// } + +// private static boolean isArray(String type) { +// return type.endsWith("[]"); //$NON-NLS-1$ +// } - private static boolean isArray(String type) { - return type.endsWith("[]"); //$NON-NLS-1$ - } - // returns fully qualified name if successful -// private String qualify(String typeName) throws JavaModelException { -// if (fUnit == null) -// return null; -// -// IType[] types= fUnit.getTypes(); -// -// if (types.length == 0) -// return null; -// -// String[][] resolvedTypeNames= types[0].resolveType(typeName); -// -// if (resolvedTypeNames == null) -// return null; -// -// return resolvedTypeNames[0][0] + '.' + resolvedTypeNames[0][1]; -// } - + // private String qualify(String typeName) throws JavaModelException { + // if (fUnit == null) + // return null; + // + // IType[] types= fUnit.getTypes(); + // + // if (types.length == 0) + // return null; + // + // String[][] resolvedTypeNames= types[0].resolveType(typeName); + // + // if (resolvedTypeNames == null) + // return null; + // + // return resolvedTypeNames[0][0] + '.' + resolvedTypeNames[0][1]; + // } + // type names must be fully qualified -// private boolean isSubclassOf(String typeName0, String typeName1) throws JavaModelException { -// if (typeName0.equals(typeName1)) -// return true; -// -// if (fUnit == null) -// return false; -// -// IJavaProject project= fUnit.getJavaProject(); -// -// IType type0= project.findType(typeName0); -// if (type0 == null) -// return false; -// -// IType type1= project.findType(typeName1); -// if (type1 == null) -// return false; -// -// ITypeHierarchy hierarchy= type0.newSupertypeHierarchy(null); -// IType[] superTypes= hierarchy.getAllSupertypes(type0); -// -// for (int i= 0; i < superTypes.length; i++) -// if (superTypes[i].equals(type1)) -// return true; -// -// return false; -// } + // private boolean isSubclassOf(String typeName0, String typeName1) throws + // JavaModelException { + // if (typeName0.equals(typeName1)) + // return true; + // + // if (fUnit == null) + // return false; + // + // IJavaProject project= fUnit.getJavaProject(); + // + // IType type0= project.findType(typeName0); + // if (type0 == null) + // return false; + // + // IType type1= project.findType(typeName1); + // if (type1 == null) + // return false; + // + // ITypeHierarchy hierarchy= type0.newSupertypeHierarchy(null); + // IType[] superTypes= hierarchy.getAllSupertypes(type0); + // + // for (int i= 0; i < superTypes.length; i++) + // if (superTypes[i].equals(type1)) + // return true; + // + // return false; + // } /* - * @see net.sourceforge.phpdt.core.ICompletionRequestor#acceptClass(char[], char[], char[], int, int, int, int) + * @see net.sourceforge.phpdt.core.ICompletionRequestor#acceptClass(char[], + * char[], char[], int, int, int, int) */ - public void acceptClass(char[] packageName, char[] className, char[] completionName, int modifiers, - int completionStart, int completionEnd, int relevance) - { - final String qualifiedName= createQualifiedTypeName(packageName, className); + public void acceptClass(char[] packageName, char[] className, + char[] completionName, int modifiers, int completionStart, + int completionEnd, int relevance) { + final String qualifiedName = createQualifiedTypeName(packageName, + className); fTypes.put(qualifiedName, String.valueOf(completionName)); } /* - * @see net.sourceforge.phpdt.core.ICompletionRequestor#acceptInterface(char[], char[], char[], int, int, int, int) + * @see net.sourceforge.phpdt.core.ICompletionRequestor#acceptInterface(char[], + * char[], char[], int, int, int, int) */ - public void acceptInterface(char[] packageName, char[] interfaceName, char[] completionName, - int modifiers, int completionStart, int completionEnd, int relevance) - { - final String qualifiedName= createQualifiedTypeName(packageName, interfaceName); + public void acceptInterface(char[] packageName, char[] interfaceName, + char[] completionName, int modifiers, int completionStart, + int completionEnd, int relevance) { + final String qualifiedName = createQualifiedTypeName(packageName, + interfaceName); fTypes.put(qualifiedName, String.valueOf(completionName)); } - private static String createQualifiedTypeName(char[] packageName, char[] className) { - StringBuffer buffer= new StringBuffer(); + private static String createQualifiedTypeName(char[] packageName, + char[] className) { + StringBuffer buffer = new StringBuffer(); if (packageName.length != 0) { buffer.append(packageName); buffer.append('.'); } buffer.append(className); - + return buffer.toString(); } } -