X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/corext/codemanipulation/StubUtility.java b/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/corext/codemanipulation/StubUtility.java deleted file mode 100644 index 2041355..0000000 --- a/net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpdt/internal/corext/codemanipulation/StubUtility.java +++ /dev/null @@ -1,1446 +0,0 @@ -/* - * (c) Copyright IBM Corp. 2000, 2001. - * All Rights Reserved. - */ -package net.sourceforge.phpdt.internal.corext.codemanipulation; - -//import java.util.Arrays; -//import java.util.Comparator; -//import java.util.List; -//import java.util.StringTokenizer; - -//import net.sourceforge.phpdt.core.Flags; -//import net.sourceforge.phpdt.core.IBuffer; -import net.sourceforge.phpdt.core.ICodeFormatter; -import net.sourceforge.phpdt.core.ICompilationUnit; -//import net.sourceforge.phpdt.core.IJavaElement; -import net.sourceforge.phpdt.core.IJavaProject; -import net.sourceforge.phpdt.core.IMethod; -import net.sourceforge.phpdt.core.IPackageFragment; -import net.sourceforge.phpdt.core.IType; -import net.sourceforge.phpdt.core.JavaCore; -import net.sourceforge.phpdt.core.JavaModelException; -import net.sourceforge.phpdt.core.Signature; -import net.sourceforge.phpdt.core.ToolFactory; -import net.sourceforge.phpdt.internal.corext.template.php.CodeTemplateContext; -import net.sourceforge.phpdt.internal.corext.template.php.CodeTemplateContextType; -import net.sourceforge.phpdt.internal.corext.util.JavaModelUtil; -import net.sourceforge.phpdt.internal.corext.util.Strings; -import net.sourceforge.phpdt.internal.corext.util.PHPUIStatus; -//import net.sourceforge.phpeclipse.PHPeclipsePlugin; -import net.sourceforge.phpeclipse.ui.WebUI; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.Document; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.templates.Template; -import org.eclipse.jface.text.templates.TemplateBuffer; -import org.eclipse.jface.text.templates.TemplateException; -import org.eclipse.jface.text.templates.TemplateVariable; -//import org.eclipse.swt.SWT; - -public class StubUtility { - - public static class GenStubSettings extends CodeGenerationSettings { - - public boolean callSuper; - - public boolean methodOverwrites; - - public boolean noBody; - - public int methodModifiers; - - public GenStubSettings(CodeGenerationSettings settings) { - settings.setSettings(this); - methodModifiers = -1; - } - - } - - //private static final String[] EMPTY = new String[0]; - - /** - * Generates a method stub including the method comment. Given a template - * method, a stub with the same signature will be constructed so it can be - * added to a type. The method body will be empty or contain a return or - * super call. - * - * @param destTypeName - * The name of the type to which the method will be added to - * @param method - * A method template (method belongs to different type than the - * parent) - * @param definingType - * The type that defines the method. - * @param settings - * Options as defined above (GenStubSettings) - * @param imports - * Imports required by the stub are added to the imports - * structure. If imports structure is null all - * type names are qualified. - * @throws JavaModelException - */ -// public static String genStub(ICompilationUnit cu, String destTypeName, -// IMethod method, IType definingType, GenStubSettings settings) -// throws CoreException { -// // IImportsStructure imports) throws CoreException { -// String methName = method.getElementName(); -// String[] paramNames = suggestArgumentNames(method.getJavaProject(), -// method.getParameterNames()); -// String returnType = method.isConstructor() ? null : method -// .getReturnType(); -// String lineDelimiter = String.valueOf('\n'); // reformatting required -// -// StringBuffer buf = new StringBuffer(); -// // add method comment -// if (settings.createComments && cu != null) { -// IMethod overridden = null; -// if (settings.methodOverwrites && returnType != null) { -// overridden = JavaModelUtil.findMethod(methName, method -// .getParameterTypes(), false, definingType.getMethods()); -// } -// String comment = getMethodComment(cu, destTypeName, methName, -// paramNames, method.getExceptionTypes(), returnType, -// overridden, lineDelimiter); -// if (comment != null) { -// buf.append(comment); -// } else { -// buf.append("/**").append(lineDelimiter); //$NON-NLS-1$ -// buf.append(" *").append(lineDelimiter); //$NON-NLS-1$ -// buf.append(" */").append(lineDelimiter); //$NON-NLS-1$ -// } -// buf.append(lineDelimiter); -// } -// // add method declaration -// String bodyContent = null; -// if (!settings.noBody) { -// String bodyStatement = getDefaultMethodBodyStatement(methName, -// paramNames, returnType, settings.callSuper); -// bodyContent = getMethodBodyContent(returnType == null, method -// .getJavaProject(), destTypeName, methName, bodyStatement, -// lineDelimiter); -// if (bodyContent == null) { -// bodyContent = ""; //$NON-NLS-1$ -// } -// } -// int flags = settings.methodModifiers; -// if (flags == -1) { -// flags = method.getFlags(); -// } -// -// genMethodDeclaration(destTypeName, method, flags, bodyContent, buf); // imports, -// // buf); -// return buf.toString(); -// } - - /** - * Generates a method stub not including the method comment. Given a - * template method and the body content, a stub with the same signature will - * be constructed so it can be added to a type. - * - * @param destTypeName - * The name of the type to which the method will be added to - * @param method - * A method template (method belongs to different type than the - * parent) - * @param bodyContent - * Content of the body - * @param imports - * Imports required by the stub are added to the imports - * structure. If imports structure is null all - * type names are qualified. - * @param buf - * The buffer to append the gerenated code. - * @throws JavaModelException - */ -// public static void genMethodDeclaration(String destTypeName, -// IMethod method, String bodyContent, StringBuffer buf) -// throws CoreException { // IImportsStructure imports, StringBuffer -// // buf) throws CoreException { -// genMethodDeclaration(destTypeName, method, method.getFlags(), -// bodyContent, buf); -// } - - /** - * Generates a method stub not including the method comment. Given a - * template method and the body content, a stub with the same signature will - * be constructed so it can be added to a type. - * - * @param destTypeName - * The name of the type to which the method will be added to - * @param method - * A method template (method belongs to different type than the - * parent) - * @param bodyContent - * Content of the body - * @param imports - * Imports required by the stub are added to the imports - * structure. If imports structure is null all - * type names are qualified. - * @param buf - * The buffer to append the gerenated code. - * @throws JavaModelException - */ -// public static void genMethodDeclaration(String destTypeName, -// IMethod method, int flags, String bodyContent, StringBuffer buf) -// throws CoreException { -// // IImportsStructure imports, StringBuffer buf) throws CoreException { -// IType parentType = method.getDeclaringType(); -// String methodName = method.getElementName(); -// String[] paramTypes = method.getParameterTypes(); -// String[] paramNames = suggestArgumentNames(parentType.getJavaProject(), -// method.getParameterNames()); -// -// String[] excTypes = method.getExceptionTypes(); -// -// boolean isConstructor = method.isConstructor(); -// String retTypeSig = isConstructor ? null : method.getReturnType(); -// -// int lastParam = paramTypes.length - 1; -// -// if (Flags.isPublic(flags) -// || (parentType.isInterface() && bodyContent != null)) { -// buf.append("public "); //$NON-NLS-1$ -// } else if (Flags.isProtected(flags)) { -// buf.append("protected "); //$NON-NLS-1$ -// } else if (Flags.isPrivate(flags)) { -// buf.append("private "); //$NON-NLS-1$ -// } -// // if (Flags.isSynchronized(flags)) { -// // buf.append("synchronized "); //$NON-NLS-1$ -// // } -// // if (Flags.isVolatile(flags)) { -// // buf.append("volatile "); //$NON-NLS-1$ -// // } -// // if (Flags.isStrictfp(flags)) { -// // buf.append("strictfp "); //$NON-NLS-1$ -// // } -// if (Flags.isStatic(flags)) { -// buf.append("static "); //$NON-NLS-1$ -// } -// -// if (isConstructor) { -// buf.append(destTypeName); -// } else { -// String retTypeFrm; -// if (!isPrimitiveType(retTypeSig)) { -// retTypeFrm = resolveAndAdd(retTypeSig, parentType); -// } else { -// retTypeFrm = Signature.toString(retTypeSig); -// } -// buf.append(retTypeFrm); -// buf.append(' '); -// buf.append(methodName); -// } -// buf.append('('); -// for (int i = 0; i <= lastParam; i++) { -// String paramTypeSig = paramTypes[i]; -// String paramTypeFrm; -// -// if (!isPrimitiveType(paramTypeSig)) { -// paramTypeFrm = resolveAndAdd(paramTypeSig, parentType); -// } else { -// paramTypeFrm = Signature.toString(paramTypeSig); -// } -// buf.append(paramTypeFrm); -// buf.append(' '); -// buf.append(paramNames[i]); -// if (i < lastParam) { -// buf.append(", "); //$NON-NLS-1$ -// } -// } -// buf.append(')'); -// -// int lastExc = excTypes.length - 1; -// if (lastExc >= 0) { -// buf.append(" throws "); //$NON-NLS-1$ -// for (int i = 0; i <= lastExc; i++) { -// String excTypeSig = excTypes[i]; -// String excTypeFrm = resolveAndAdd(excTypeSig, parentType); -// buf.append(excTypeFrm); -// if (i < lastExc) { -// buf.append(", "); //$NON-NLS-1$ -// } -// } -// } -// if (bodyContent == null) { -// buf.append(";\n\n"); //$NON-NLS-1$ -// } else { -// buf.append(" {\n\t"); //$NON-NLS-1$ -// if ((bodyContent != null) && (bodyContent.length() > 0)) { -// buf.append(bodyContent); -// buf.append('\n'); -// } -// buf.append("}\n"); //$NON-NLS-1$ -// } -// } - -// public static String getDefaultMethodBodyStatement(String methodName, -// String[] paramNames, String retTypeSig, boolean callSuper) { -// StringBuffer buf = new StringBuffer(); -// if (callSuper) { -// if (retTypeSig != null) { -// if (!Signature.SIG_VOID.equals(retTypeSig)) { -// buf.append("return "); //$NON-NLS-1$ -// } -// buf.append("super."); //$NON-NLS-1$ -// buf.append(methodName); -// } else { -// buf.append("super"); //$NON-NLS-1$ -// } -// buf.append('('); -// for (int i = 0; i < paramNames.length; i++) { -// if (i > 0) { -// buf.append(", "); //$NON-NLS-1$ -// } -// buf.append(paramNames[i]); -// } -// buf.append(");"); //$NON-NLS-1$ -// } else { -// if (retTypeSig != null && !retTypeSig.equals(Signature.SIG_VOID)) { -// if (!isPrimitiveType(retTypeSig) -// || Signature.getArrayCount(retTypeSig) > 0) { -// buf.append("return null;"); //$NON-NLS-1$ -// } else if (retTypeSig.equals(Signature.SIG_BOOLEAN)) { -// buf.append("return false;"); //$NON-NLS-1$ -// } else { -// buf.append("return 0;"); //$NON-NLS-1$ -// } -// } -// } -// return buf.toString(); -// } - - public static String getMethodBodyContent(boolean isConstructor, - IJavaProject project, String destTypeName, String methodName, - String bodyStatement, String lineDelimiter) throws CoreException { - String templateName = isConstructor ? CodeTemplateContextType.CONSTRUCTORSTUB - : CodeTemplateContextType.METHODSTUB; - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate(templateName); - if (template == null) { - return bodyStatement; - } - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), project, lineDelimiter); - context.setVariable(CodeTemplateContextType.ENCLOSING_METHOD, - methodName); - context.setVariable(CodeTemplateContextType.ENCLOSING_TYPE, - destTypeName); - context.setVariable(CodeTemplateContextType.BODY_STATEMENT, - bodyStatement); - String str = evaluateTemplate(context, template); - if (str == null && !Strings.containsOnlyWhitespaces(bodyStatement)) { - return bodyStatement; - } - return str; - } - - public static String getGetterMethodBodyContent(IJavaProject project, - String destTypeName, String methodName, String fieldName, - String lineDelimiter) throws CoreException { - String templateName = CodeTemplateContextType.GETTERSTUB; - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate(templateName); - if (template == null) { - return null; - } - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), project, lineDelimiter); - context.setVariable(CodeTemplateContextType.ENCLOSING_METHOD, - methodName); - context.setVariable(CodeTemplateContextType.ENCLOSING_TYPE, - destTypeName); - context.setVariable(CodeTemplateContextType.FIELD, fieldName); - - return evaluateTemplate(context, template); - } - - public static String getSetterMethodBodyContent(IJavaProject project, - String destTypeName, String methodName, String fieldName, - String paramName, String lineDelimiter) throws CoreException { - String templateName = CodeTemplateContextType.SETTERSTUB; - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate(templateName); - if (template == null) { - return null; - } - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), project, lineDelimiter); - context.setVariable(CodeTemplateContextType.ENCLOSING_METHOD, - methodName); - context.setVariable(CodeTemplateContextType.ENCLOSING_TYPE, - destTypeName); - context.setVariable(CodeTemplateContextType.FIELD, fieldName); - context.setVariable(CodeTemplateContextType.FIELD_TYPE, fieldName); - context.setVariable(CodeTemplateContextType.PARAM, paramName); - - return evaluateTemplate(context, template); - } - -// public static String getCatchBodyContent(ICompilationUnit cu, -// String exceptionType, String variableName, String lineDelimiter) -// throws CoreException { -// Template template = WebUI.getDefault() -// .getCodeTemplateStore().findTemplate( -// CodeTemplateContextType.CATCHBLOCK); -// if (template == null) { -// return null; -// } -// -// CodeTemplateContext context = new CodeTemplateContext(template -// .getContextTypeId(), cu.getJavaProject(), lineDelimiter); -// context.setVariable(CodeTemplateContextType.EXCEPTION_TYPE, -// exceptionType); -// context -// .setVariable(CodeTemplateContextType.EXCEPTION_VAR, -// variableName); //$NON-NLS-1$ -// return evaluateTemplate(context, template); -// } - - /** - * @see net.sourceforge.phpdt.ui.CodeGeneration#getTypeComment(ICompilationUnit, - * String, String) - */ - public static String getCompilationUnitContent(ICompilationUnit cu, - String typeComment, String typeContent, String lineDelimiter) - throws CoreException { - IPackageFragment pack = (IPackageFragment) cu.getParent(); - String packDecl = pack.isDefaultPackage() ? "" : "package " + pack.getElementName() + ';'; //$NON-NLS-1$ //$NON-NLS-2$ - - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate( - CodeTemplateContextType.NEWTYPE); - if (template == null) { - return null; - } - - IJavaProject project = cu.getJavaProject(); - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), project, lineDelimiter); - context.setCompilationUnitVariables(cu); - context.setVariable(CodeTemplateContextType.PACKAGE_DECLARATION, - packDecl); - context.setVariable(CodeTemplateContextType.TYPE_COMMENT, - typeComment != null ? typeComment : ""); //$NON-NLS-1$ - context.setVariable(CodeTemplateContextType.TYPE_DECLARATION, - typeContent); - context.setVariable(CodeTemplateContextType.TYPENAME, Signature - .getQualifier(cu.getElementName())); - return evaluateTemplate(context, template); - } - - /* - * @see net.sourceforge.phpdt.ui.CodeGeneration#getTypeComment(ICompilationUnit, - * String, String) - */ - public static String getTypeComment(ICompilationUnit cu, - String typeQualifiedName, String lineDelim) throws CoreException { - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate( - CodeTemplateContextType.TYPECOMMENT); - if (template == null) { - return null; - } - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), cu.getJavaProject(), lineDelim); - context.setCompilationUnitVariables(cu); - context.setVariable(CodeTemplateContextType.ENCLOSING_TYPE, Signature - .getQualifier(typeQualifiedName)); - context.setVariable(CodeTemplateContextType.TYPENAME, Signature - .getSimpleName(typeQualifiedName)); - return evaluateTemplate(context, template); - } - - // private static String[] getParameterTypesQualifiedNames(IMethodBinding - // binding) { - // ITypeBinding[] typeBindings= binding.getParameterTypes(); - // String[] result= new String[typeBindings.length]; - // for (int i= 0; i < result.length; i++) { - // result[i]= typeBindings[i].getQualifiedName(); - // } - // return result; - // } - -// private static String getSeeTag(String declaringClassQualifiedName, -// String methodName, String[] parameterTypesQualifiedNames) { -// StringBuffer buf = new StringBuffer(); -// buf.append("@see "); //$NON-NLS-1$ -// buf.append(declaringClassQualifiedName); -// buf.append('#'); -// buf.append(methodName); -// buf.append('('); -// for (int i = 0; i < parameterTypesQualifiedNames.length; i++) { -// if (i > 0) { -// buf.append(", "); //$NON-NLS-1$ -// } -// buf.append(parameterTypesQualifiedNames[i]); -// } -// buf.append(')'); -// return buf.toString(); -// } - - private static String getSeeTag(IMethod overridden) - throws JavaModelException { - IType declaringType = overridden.getDeclaringType(); - StringBuffer buf = new StringBuffer(); - buf.append("@see "); //$NON-NLS-1$ - buf.append(declaringType.getFullyQualifiedName('.')); - buf.append('#'); - buf.append(overridden.getElementName()); - buf.append('('); - String[] paramTypes = overridden.getParameterTypes(); - for (int i = 0; i < paramTypes.length; i++) { - if (i > 0) { - buf.append(", "); //$NON-NLS-1$ - } - String curr = paramTypes[i]; - buf.append(JavaModelUtil.getResolvedTypeName(curr, declaringType)); - int arrayCount = Signature.getArrayCount(curr); - while (arrayCount > 0) { - buf.append("[]"); //$NON-NLS-1$ - arrayCount--; - } - } - buf.append(')'); - return buf.toString(); - } - - /** - * @see net.sourceforge.phpdt.ui.CodeGeneration#getMethodComment(IMethod,IMethod,String) - */ - public static String getMethodComment(IMethod method, IMethod overridden, - String lineDelimiter) throws CoreException { - String retType = method.isConstructor() ? null : method.getReturnType(); - String[] paramNames = method.getParameterNames(); - - return getMethodComment(method.getCompilationUnit(), method - .getDeclaringType().getElementName(), method.getElementName(), - paramNames, method.getExceptionTypes(), retType, overridden, - lineDelimiter); - } - - /** - * @see net.sourceforge.phpdt.ui.CodeGeneration#getMethodComment(ICompilationUnit, - * String, String, String[], String[], String, IMethod, String) - */ - public static String getMethodComment(ICompilationUnit cu, String typeName, - String methodName, String[] paramNames, String[] excTypeSig, - String retTypeSig, IMethod overridden, String lineDelimiter) - throws CoreException { - String templateName = CodeTemplateContextType.METHODCOMMENT; - if (retTypeSig == null) { - templateName = CodeTemplateContextType.CONSTRUCTORCOMMENT; - } else if (overridden != null) { - templateName = CodeTemplateContextType.OVERRIDECOMMENT; - } - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate(templateName); - if (template == null) { - return null; - } - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), cu.getJavaProject(), lineDelimiter); - context.setCompilationUnitVariables(cu); - context.setVariable(CodeTemplateContextType.ENCLOSING_TYPE, typeName); - context.setVariable(CodeTemplateContextType.ENCLOSING_METHOD, - methodName); - - if (retTypeSig != null) { - context.setVariable(CodeTemplateContextType.RETURN_TYPE, Signature - .toString(retTypeSig)); - } - if (overridden != null) { - context.setVariable(CodeTemplateContextType.SEE_TAG, - getSeeTag(overridden)); - } - TemplateBuffer buffer; - try { - buffer = context.evaluate(template); - } catch (BadLocationException e) { - throw new CoreException(Status.CANCEL_STATUS); - } catch (TemplateException e) { - throw new CoreException(Status.CANCEL_STATUS); - } - if (buffer == null) { - return null; - } - - String str = buffer.getString(); - if (Strings.containsOnlyWhitespaces(str)) { - return null; - } - TemplateVariable position = findTagVariable(buffer); // look if - // Javadoc tags - // have to be - // added - if (position == null) { - return str; - } - - IDocument textBuffer = new Document(str); - String[] exceptionNames = new String[excTypeSig.length]; - for (int i = 0; i < excTypeSig.length; i++) { - exceptionNames[i] = Signature.toString(excTypeSig[i]); - } - String returnType = retTypeSig != null ? Signature.toString(retTypeSig) - : null; - int[] tagOffsets = position.getOffsets(); - for (int i = tagOffsets.length - 1; i >= 0; i--) { // from last to - // first - try { - insertTag(textBuffer, tagOffsets[i], position.getLength(), - paramNames, exceptionNames, returnType, false, - lineDelimiter); - } catch (BadLocationException e) { - throw new CoreException(PHPUIStatus.createError(IStatus.ERROR, - e)); - } - } - return textBuffer.get(); - } - - public static String getFieldComment(ICompilationUnit cu, String typeName, - String fieldName, String lineDelimiter) throws CoreException { - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate( - CodeTemplateContextType.FIELDCOMMENT); - if (template == null) { - return null; - } - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), cu.getJavaProject(), lineDelimiter); - context.setCompilationUnitVariables(cu); - context.setVariable(CodeTemplateContextType.FIELD_TYPE, typeName); - context.setVariable(CodeTemplateContextType.FIELD, fieldName); - - return evaluateTemplate(context, template); - } - - /** - * @see net.sourceforge.phpdt.ui.CodeGeneration#getSetterComment(ICompilationUnit, - * String, String, String, String, String, String, String) - */ - public static String getSetterComment(ICompilationUnit cu, String typeName, - String methodName, String fieldName, String fieldType, - String paramName, String bareFieldName, String lineDelimiter) - throws CoreException { - String templateName = CodeTemplateContextType.SETTERCOMMENT; - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate(templateName); - if (template == null) { - return null; - } - - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), cu.getJavaProject(), lineDelimiter); - context.setCompilationUnitVariables(cu); - context.setVariable(CodeTemplateContextType.ENCLOSING_TYPE, typeName); - context.setVariable(CodeTemplateContextType.ENCLOSING_METHOD, - methodName); - context.setVariable(CodeTemplateContextType.FIELD, fieldName); - context.setVariable(CodeTemplateContextType.FIELD_TYPE, fieldType); - context.setVariable(CodeTemplateContextType.BARE_FIELD_NAME, - bareFieldName); - context.setVariable(CodeTemplateContextType.PARAM, paramName); - - return evaluateTemplate(context, template); - } - - /** - * @see net.sourceforge.phpdt.ui.CodeGeneration#getGetterComment(ICompilationUnit, - * String, String, String, String, String, String) - */ - public static String getGetterComment(ICompilationUnit cu, String typeName, - String methodName, String fieldName, String fieldType, - String bareFieldName, String lineDelimiter) throws CoreException { - String templateName = CodeTemplateContextType.GETTERCOMMENT; - Template template = WebUI.getDefault() - .getCodeTemplateStore().findTemplate(templateName); - if (template == null) { - return null; - } - CodeTemplateContext context = new CodeTemplateContext(template - .getContextTypeId(), cu.getJavaProject(), lineDelimiter); - context.setCompilationUnitVariables(cu); - context.setVariable(CodeTemplateContextType.ENCLOSING_TYPE, typeName); - context.setVariable(CodeTemplateContextType.ENCLOSING_METHOD, - methodName); - context.setVariable(CodeTemplateContextType.FIELD, fieldName); - context.setVariable(CodeTemplateContextType.FIELD_TYPE, fieldType); - context.setVariable(CodeTemplateContextType.BARE_FIELD_NAME, - bareFieldName); - - return evaluateTemplate(context, template); - } - - public static String evaluateTemplate(CodeTemplateContext context, - Template template) throws CoreException { - TemplateBuffer buffer; - try { - buffer = context.evaluate(template); - } catch (BadLocationException e) { - throw new CoreException(Status.CANCEL_STATUS); - } catch (TemplateException e) { - throw new CoreException(Status.CANCEL_STATUS); - } - if (buffer == null) - return null; - String str = buffer.getString(); - if (Strings.containsOnlyWhitespaces(str)) { - return null; - } - return str; - } - - /** - * @see net.sourceforge.phpdt.ui.CodeGeneration#getMethodComment(ICompilationUnit, - * String, MethodDeclaration, IMethodBinding, String) - */ - // public static String getMethodComment(ICompilationUnit cu, String - // typeName, IMethodBinding overridden, String lineDelimiter) throws - // CoreException { - // if (overridden != null) { - // String declaringClassQualifiedName= - // overridden.getDeclaringClass().getQualifiedName(); - // String[] parameterTypesQualifiedNames= - // getParameterTypesQualifiedNames(overridden); - // return getMethodComment(cu, typeName, decl, true, - // overridden.isDeprecated(), declaringClassQualifiedName, - // parameterTypesQualifiedNames, lineDelimiter); - // } else { - // return getMethodComment(cu, typeName, decl, false, false, null, null, - // lineDelimiter); - // } - // } - /** - * Returns the comment for a method using the comment code templates. - * null is returned if the template is empty. - * - * @param cu - * The compilation unit to which the method belongs - * @param typeName - * Name of the type to which the method belongs. - * @param decl - * The AST MethodDeclaration node that will be added as new - * method. - * @param isOverridden - * true iff decl overrides another method - * @param isDeprecated - * true iff the method that decl overrides is - * deprecated. Note: it must not be true if - * isOverridden is false. - * @param declaringClassQualifiedName - * Fully qualified name of the type in which the overriddden - * method (if any exists) in declared. If isOverridden is - * false, this is ignored. - * @param parameterTypesQualifiedNames - * Fully qualified names of parameter types of the type in which - * the overriddden method (if any exists) in declared. If - * isOverridden is false, this is ignored. - * @return String Returns the method comment or null if the - * configured template is empty. (formatting required) - * @throws CoreException - */ - // public static String getMethodComment(ICompilationUnit cu, String - // typeName, MethodDeclaration decl, boolean isOverridden, boolean - // isDeprecated, String declaringClassQualifiedName, String[] - // parameterTypesQualifiedNames, String lineDelimiter) throws CoreException - // { - // String templateName= CodeTemplateContextType.METHODCOMMENT; - // if (decl.isConstructor()) { - // templateName= CodeTemplateContextType.CONSTRUCTORCOMMENT; - // } else if (isOverridden) { - // templateName= CodeTemplateContextType.OVERRIDECOMMENT; - // } - // Template template= - // PHPeclipsePlugin.getDefault().getCodeTemplateStore().findTemplate(templateName); - // if (template == null) { - // return null; - // } - // CodeTemplateContext context= new - // CodeTemplateContext(template.getContextTypeId(), cu.getJavaProject(), - // lineDelimiter); - // context.setCompilationUnitVariables(cu); - // context.setVariable(CodeTemplateContextType.ENCLOSING_TYPE, typeName); - // context.setVariable(CodeTemplateContextType.ENCLOSING_METHOD, - // decl.getName().getIdentifier()); - // if (!decl.isConstructor()) { - // context.setVariable(CodeTemplateContextType.RETURN_TYPE, - // ASTNodes.asString(decl.getReturnType())); - // } - // if (isOverridden) { - // String methodName= decl.getName().getIdentifier(); - // context.setVariable(CodeTemplateContextType.SEE_TAG, - // getSeeTag(declaringClassQualifiedName, methodName, - // parameterTypesQualifiedNames)); - // } - // - // TemplateBuffer buffer; - // try { - // buffer= context.evaluate(template); - // } catch (BadLocationException e) { - // throw new CoreException(Status.CANCEL_STATUS); - // } catch (TemplateException e) { - // throw new CoreException(Status.CANCEL_STATUS); - // } - // if (buffer == null) - // return null; - // String str= buffer.getString(); - // if (Strings.containsOnlyWhitespaces(str)) { - // return null; - // } - // TemplateVariable position= findTagVariable(buffer); // look if Javadoc - // tags have to be added - // if (position == null) { - // return str; - // } - // - // IDocument textBuffer= new Document(str); - // List params= decl.parameters(); - // String[] paramNames= new String[params.size()]; - // for (int i= 0; i < params.size(); i++) { - // SingleVariableDeclaration elem= (SingleVariableDeclaration) - // params.get(i); - // paramNames[i]= elem.getName().getIdentifier(); - // } - // List exceptions= decl.thrownExceptions(); - // String[] exceptionNames= new String[exceptions.size()]; - // for (int i= 0; i < exceptions.size(); i++) { - // exceptionNames[i]= ASTNodes.getSimpleNameIdentifier((Name) - // exceptions.get(i)); - // } - // String returnType= !decl.isConstructor() ? - // ASTNodes.asString(decl.getReturnType()) : null; - // int[] tagOffsets= position.getOffsets(); - // for (int i= tagOffsets.length - 1; i >= 0; i--) { // from last to first - // try { - // insertTag(textBuffer, tagOffsets[i], position.getLength(), paramNames, - // exceptionNames, returnType, isDeprecated, lineDelimiter); - // } catch (BadLocationException e) { - // throw new CoreException(PHPUIStatus.createError(IStatus.ERROR, e)); - // } - // } - // return textBuffer.get(); - // } - private static TemplateVariable findTagVariable(TemplateBuffer buffer) { - TemplateVariable[] positions = buffer.getVariables(); - for (int i = 0; i < positions.length; i++) { - TemplateVariable curr = positions[i]; - if (CodeTemplateContextType.TAGS.equals(curr.getType())) { - return curr; - } - } - return null; - } - - private static void insertTag(IDocument textBuffer, int offset, int length, - String[] paramNames, String[] exceptionNames, String returnType, - boolean isDeprecated, String lineDelimiter) - throws BadLocationException { - IRegion region = textBuffer.getLineInformationOfOffset(offset); - if (region == null) { - return; - } - String lineStart = textBuffer.get(region.getOffset(), offset - - region.getOffset()); - - StringBuffer buf = new StringBuffer(); - for (int i = 0; i < paramNames.length; i++) { - if (buf.length() > 0) { - buf.append(lineDelimiter); - buf.append(lineStart); - } - buf.append("@param ");buf.append(paramNames[i]); //$NON-NLS-1$ - } - if (returnType != null && !returnType.equals("void")) { //$NON-NLS-1$ - if (buf.length() > 0) { - buf.append(lineDelimiter); - buf.append(lineStart); - } - buf.append("@return"); //$NON-NLS-1$ - } - if (exceptionNames != null) { - for (int i = 0; i < exceptionNames.length; i++) { - if (buf.length() > 0) { - buf.append(lineDelimiter); - buf.append(lineStart); - } - buf.append("@throws ");buf.append(exceptionNames[i]); //$NON-NLS-1$ - } - } - if (isDeprecated) { - if (buf.length() > 0) { - buf.append(lineDelimiter); - buf.append(lineStart); - } - buf.append("@deprecated"); //$NON-NLS-1$ - } - textBuffer.replace(offset, length, buf.toString()); - } - -// private static boolean isPrimitiveType(String typeName) { -// char first = Signature.getElementType(typeName).charAt(0); -// return (first != Signature.C_RESOLVED && first != Signature.C_UNRESOLVED); -// } - -// private static String resolveAndAdd(String refTypeSig, IType declaringType) -// throws JavaModelException {// , IImportsStructure imports) throws -// // JavaModelException { -// String resolvedTypeName = JavaModelUtil.getResolvedTypeName(refTypeSig, -// declaringType); -// if (resolvedTypeName != null) { -// StringBuffer buf = new StringBuffer(); -// // if (imports != null) { -// // buf.append(imports.addImport(resolvedTypeName)); -// // } else { -// buf.append(resolvedTypeName); -// // } -// int arrayCount = Signature.getArrayCount(refTypeSig); -// for (int i = 0; i < arrayCount; i++) { -// buf.append("[]"); //$NON-NLS-1$ -// } -// return buf.toString(); -// } -// return Signature.toString(refTypeSig); -// } - - /** - * Finds a method in a list of methods. - * - * @return The found method or null, if nothing found - */ -// private static IMethod findMethod(IMethod method, List allMethods) -// throws JavaModelException { -// String name = method.getElementName(); -// String[] paramTypes = method.getParameterTypes(); -// boolean isConstructor = method.isConstructor(); -// -// for (int i = allMethods.size() - 1; i >= 0; i--) { -// IMethod curr = (IMethod) allMethods.get(i); -// if (JavaModelUtil.isSameMethodSignature(name, paramTypes, -// isConstructor, curr)) { -// return curr; -// } -// } -// return null; -// } - - /** - * Creates needed constructors for a type. - * - * @param type - * The type to create constructors for - * @param supertype - * The type's super type - * @param settings - * Options for comment generation - * @param imports - * Required imports are added to the import structure. Structure - * can be null, types are qualified then. - * @return Returns the generated stubs or null if the - * creation has been canceled - */ - // public static String[] evalConstructors(IType type, IType supertype, - // IImportsStructure imports) throws CoreException { - // IMethod[] superMethods= supertype.getMethods(); - // String typeName= type.getElementName(); - // ICompilationUnit cu= type.getCompilationUnit(); - // IMethod[] methods= type.getMethods(); - // GenStubSettings genStubSettings= new GenStubSettings(settings); - // genStubSettings.callSuper= true; - // - // ArrayList newMethods= new ArrayList(superMethods.length); - // for (int i= 0; i < superMethods.length; i++) { - // IMethod curr= superMethods[i]; - // if (curr.isConstructor() && (JavaModelUtil.isVisibleInHierarchy(curr, - // type.getPackageFragment()))) { - // if (JavaModelUtil.findMethod(typeName, curr.getParameterTypes(), true, - // methods) == null) { - // genStubSettings.methodModifiers= Flags.AccPublic | - // JdtFlags.clearAccessModifiers(curr.getFlags()); - // String newStub= genStub(cu, typeName, curr, curr.getDeclaringType(), - // genStubSettings, imports); - // newMethods.add(newStub); - // } - // } - // } - // return (String[]) newMethods.toArray(new String[newMethods.size()]); - // } - /** - * Returns all unimplemented constructors of a type including root type - * default constructors if there are no other superclass constructors - * unimplemented. - * - * @param type - * The type to create constructors for - * @return Returns the generated stubs or null if the - * creation has been canceled - */ - // public static IMethod[] getOverridableConstructors(IType type) throws - // CoreException { - // List constructorMethods= new ArrayList(); - // ITypeHierarchy hierarchy= type.newSupertypeHierarchy(null); - // IType supertype= hierarchy.getSuperclass(type); - // if (supertype == null) - // return (new IMethod[0]); - // - // IMethod[] superMethods= supertype.getMethods(); - // boolean constuctorFound= false; - // String typeName= type.getElementName(); - // IMethod[] methods= type.getMethods(); - // for (int i= 0; i < superMethods.length; i++) { - // IMethod curr= superMethods[i]; - // if (curr.isConstructor()) { - // constuctorFound= true; - // if (JavaModelUtil.isVisibleInHierarchy(curr, type.getPackageFragment())) - // if (JavaModelUtil.findMethod(typeName, curr.getParameterTypes(), true, - // methods) == null) - // constructorMethods.add(curr); - // - // } - // } - // - // // http://bugs.eclipse.org/bugs/show_bug.cgi?id=38487 - // if (!constuctorFound) { - // IType objectType= type.getJavaProject().findType("java.lang.Object"); - // //$NON-NLS-1$ - // IMethod curr= objectType.getMethod("Object", EMPTY); //$NON-NLS-1$ - // if (JavaModelUtil.findMethod(typeName, curr.getParameterTypes(), true, - // methods) == null) { - // constructorMethods.add(curr); - // } - // } - // return (IMethod[]) constructorMethods.toArray(new - // IMethod[constructorMethods.size()]); - // } - /** - * Returns all overridable methods of a type - * - * @param type - * The type to search the overridable methods for - * @param hierarchy - * The type hierarchy of the type - * @param isSubType - * If set, the result can include methods of the passed type, if - * not only methods from super types are considered - * @return Returns the all methods that can be overridden - */ - // public static IMethod[] getOverridableMethods(IType type, ITypeHierarchy - // hierarchy, boolean isSubType) throws JavaModelException { - // List allMethods= new ArrayList(); - // - // IMethod[] typeMethods= type.getMethods(); - // for (int i= 0; i < typeMethods.length; i++) { - // IMethod curr= typeMethods[i]; - // if (!curr.isConstructor() && !Flags.isStatic(curr.getFlags()) && - // !Flags.isPrivate(curr.getFlags())) { - // allMethods.add(curr); - // } - // } - // - // IType[] superTypes= hierarchy.getAllSuperclasses(type); - // for (int i= 0; i < superTypes.length; i++) { - // IMethod[] methods= superTypes[i].getMethods(); - // for (int k= 0; k < methods.length; k++) { - // IMethod curr= methods[k]; - // if (!curr.isConstructor() && !Flags.isStatic(curr.getFlags()) && - // !Flags.isPrivate(curr.getFlags())) { - // if (findMethod(curr, allMethods) == null) { - // allMethods.add(curr); - // } - // } - // } - // } - // - // IType[] superInterfaces= hierarchy.getAllSuperInterfaces(type); - // for (int i= 0; i < superInterfaces.length; i++) { - // IMethod[] methods= superInterfaces[i].getMethods(); - // for (int k= 0; k < methods.length; k++) { - // IMethod curr= methods[k]; - // - // // binary interfaces can contain static initializers (variable - // intializations) - // // 1G4CKUS - // if (!Flags.isStatic(curr.getFlags())) { - // IMethod impl= findMethod(curr, allMethods); - // if (impl == null || !JavaModelUtil.isVisibleInHierarchy(impl, - // type.getPackageFragment()) || prefereInterfaceMethod(hierarchy, curr, - // impl)) { - // if (impl != null) { - // allMethods.remove(impl); - // } - // // implement an interface method when it does not exist in the hierarchy - // // or when it throws less exceptions that the implemented - // allMethods.add(curr); - // } - // } - // } - // } - // if (!isSubType) { - // allMethods.removeAll(Arrays.asList(typeMethods)); - // } - // // remove finals - // for (int i= allMethods.size() - 1; i >= 0; i--) { - // IMethod curr= (IMethod) allMethods.get(i); - // if (Flags.isFinal(curr.getFlags())) { - // allMethods.remove(i); - // } - // } - // return (IMethod[]) allMethods.toArray(new IMethod[allMethods.size()]); - // } - // private static boolean prefereInterfaceMethod(ITypeHierarchy hierarchy, - // IMethod interfaceMethod, IMethod curr) throws JavaModelException { - // if (Flags.isFinal(curr.getFlags())) { - // return false; - // } - // IType interfaceType= interfaceMethod.getDeclaringType(); - // IType[] interfaces= - // hierarchy.getAllSuperInterfaces(curr.getDeclaringType()); - // for (int i= 0; i < interfaces.length; i++) { - // if (interfaces[i] == interfaceType) { - // return false; - // } - // } - // return curr.getExceptionTypes().length > - // interfaceMethod.getExceptionTypes().length; - // } - /** - * Generate method stubs for methods to overrride - * - * @param type - * The type to search the overridable methods for - * @param hierarchy - * The type hierarchy of the type - * @param methodsToImplement - * Methods to override or implement - * @param settings - * Options for comment generation - * @param imports - * Required imports are added to the import structure. Structure - * can be null, types are qualified then. - * @return Returns the generated stubs - */ - // public static String[] genOverrideStubs(IMethod[] methodsToImplement, - // IType type, ITypeHierarchy hierarchy, CodeGenerationSettings settings, - // IImportsStructure imports) throws CoreException { - // GenStubSettings genStubSettings= new GenStubSettings(settings); - // genStubSettings.methodOverwrites= true; - // ICompilationUnit cu= type.getCompilationUnit(); - // String[] result= new String[methodsToImplement.length]; - // for (int i= 0; i < methodsToImplement.length; i++) { - // IMethod curr= methodsToImplement[i]; - // IMethod overrides= - // JavaModelUtil.findMethodImplementationInHierarchy(hierarchy, type, - // curr.getElementName(), curr.getParameterTypes(), curr.isConstructor()); - // if (overrides != null) { - // genStubSettings.callSuper= true; - // curr= overrides; - // } - // genStubSettings.methodModifiers= curr.getFlags(); - // IMethod desc= JavaModelUtil.findMethodDeclarationInHierarchy(hierarchy, - // type, curr.getElementName(), curr.getParameterTypes(), - // curr.isConstructor()); - // if (desc == null) { - // desc= curr; - // } - // result[i]= genStub(cu, type.getElementName(), curr, - // desc.getDeclaringType(), genStubSettings, imports); - // } - // return result; - // } - /** - * Searches for unimplemented methods of a type. - * - * @param isSubType - * If set, the evaluation is for a subtype of the given type. If - * not set, the evaluation is for the type itself. - * @param settings - * Options for comment generation - * @param imports - * Required imports are added to the import structure. Structure - * can be null, types are qualified then. - * @return Returns the generated stubs or null if the - * creation has been canceled - */ - // public static String[] evalUnimplementedMethods(IType type, - // ITypeHierarchy hierarchy, boolean isSubType, CodeGenerationSettings - // settings, - // IImportsStructure imports) throws CoreException { - // - // IMethod[] inheritedMethods= getOverridableMethods(type, hierarchy, - // isSubType); - // - // List toImplement= new ArrayList(); - // for (int i= 0; i < inheritedMethods.length; i++) { - // IMethod curr= inheritedMethods[i]; - // if (JdtFlags.isAbstract(curr)) { - // toImplement.add(curr); - // } - // } - // IMethod[] toImplementArray= (IMethod[]) toImplement.toArray(new - // IMethod[toImplement.size()]); - // return genOverrideStubs(toImplementArray, type, hierarchy, settings, - // imports); - // } - /** - * Examines a string and returns the first line delimiter found. - */ -// public static String getLineDelimiterUsed(IJavaElement elem) -// throws JavaModelException { -// ICompilationUnit cu = (ICompilationUnit) elem -// .getAncestor(IJavaElement.COMPILATION_UNIT); -// if (cu != null && cu.exists()) { -// IBuffer buf = cu.getBuffer(); -// int length = buf.getLength(); -// for (int i = 0; i < length; i++) { -// char ch = buf.getChar(i); -// if (ch == SWT.CR) { -// if (i + 1 < length) { -// if (buf.getChar(i + 1) == SWT.LF) { -// return "\r\n"; //$NON-NLS-1$ -// } -// } -// return "\r"; //$NON-NLS-1$ -// } else if (ch == SWT.LF) { -// return "\n"; //$NON-NLS-1$ -// } -// } -// } -// return System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$ -// } - - /** - * Embodies the policy which line delimiter to use when inserting into a - * document. - */ - public static String getLineDelimiterFor(IDocument doc) { - // new for: 1GF5UU0: ITPJUI:WIN2000 - "Organize Imports" in php editor - // inserts lines in wrong format - String lineDelim = null; - try { - lineDelim = doc.getLineDelimiter(0); - } catch (BadLocationException e) { - } - if (lineDelim == null) { - String systemDelimiter = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - String[] lineDelims = doc.getLegalLineDelimiters(); - for (int i = 0; i < lineDelims.length; i++) { - if (lineDelims[i].equals(systemDelimiter)) { - lineDelim = systemDelimiter; - break; - } - } - if (lineDelim == null) { - lineDelim = lineDelims.length > 0 ? lineDelims[0] - : systemDelimiter; - } - } - return lineDelim; - } - - /** - * Evaluates the indention used by a Java element. (in tabulators) - */ - // public static int getIndentUsed(IJavaElement elem) throws - // JavaModelException { - // if (elem instanceof ISourceReference) { - // ICompilationUnit cu= (ICompilationUnit) - // elem.getAncestor(IJavaElement.COMPILATION_UNIT); - // if (cu != null) { - // IBuffer buf= cu.getBuffer(); - // int offset= ((ISourceReference)elem).getSourceRange().getOffset(); - // int i= offset; - // // find beginning of line - // while (i > 0 && !Strings.isLineDelimiterChar(buf.getChar(i - 1)) ){ - // i--; - // } - // return Strings.computeIndent(buf.getText(i, offset - i), - // CodeFormatterUtil.getTabWidth()); - // } - // } - // return 0; - // } - public static String codeFormat(String sourceString, - int initialIndentationLevel, String lineDelim) { - ICodeFormatter formatter = ToolFactory.createDefaultCodeFormatter(null); - return formatter.format(sourceString, initialIndentationLevel, null, - lineDelim); - } - - /** - * Returns the element after the give element. - */ - // public static IJavaElement findNextSibling(IJavaElement member) throws - // JavaModelException { - // IJavaElement parent= member.getParent(); - // if (parent instanceof IParent) { - // IJavaElement[] elements= ((IParent)parent).getChildren(); - // for (int i= elements.length - 2; i >= 0 ; i--) { - // if (member.equals(elements[i])) { - // return elements[i+1]; - // } - // } - // } - // return null; - // } - // - public static String getTodoTaskTag(IJavaProject project) { - String markers = null; - if (project == null) { - markers = JavaCore.getOption(JavaCore.COMPILER_TASK_TAGS); - } else { - markers = project.getOption(JavaCore.COMPILER_TASK_TAGS, true); - } - - if (markers != null && markers.length() > 0) { - int idx = markers.indexOf(','); - if (idx == -1) { - return markers; - } else { - return markers.substring(0, idx); - } - } - return null; - } - - /* - * Workarounds for bug 38111 - */ - // public static String[] getArgumentNameSuggestions(IJavaProject project, - // String baseName, int dimensions, String[] excluded) { - // String name= workaround38111(baseName); - // String[] res= NamingConventions.suggestArgumentNames(project, "", name, - // dimensions, excluded); //$NON-NLS-1$ - // return sortByLength(res); // longest first - // } - // - // public static String[] getFieldNameSuggestions(IJavaProject project, - // String baseName, int dimensions, int modifiers, String[] excluded) { - // String name= workaround38111(baseName); - // String[] res= NamingConventions.suggestFieldNames(project, "", name, - // dimensions, modifiers, excluded); //$NON-NLS-1$ - // return sortByLength(res); // longest first - // } - // - // public static String[] getLocalNameSuggestions(IJavaProject project, - // String baseName, int dimensions, String[] excluded) { - // String name= workaround38111(baseName); - // String[] res= NamingConventions.suggestLocalVariableNames(project, "", - // name, dimensions, excluded); //$NON-NLS-1$ - // return sortByLength(res); // longest first - // } -// private static String[] sortByLength(String[] proposals) { -// Arrays.sort(proposals, new Comparator() { -// public int compare(Object o1, Object o2) { -// return ((String) o2).length() - ((String) o1).length(); -// } -// }); -// return proposals; -// } - -/* private static String workaround38111(String baseName) { - if (BASE_TYPES.contains(baseName)) - return baseName; - return Character.toUpperCase(baseName.charAt(0)) - + baseName.substring(1); - } -*/ -// private static final List BASE_TYPES = Arrays -// .asList(new String[] { -// "boolean", "byte", "char", "double", "float", "int", "long", "short" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ - -// public static String suggestArgumentName(IJavaProject project, -// String baseName, String[] excluded) { -// // String[] argnames= getArgumentNameSuggestions(project, baseName, 0, -// // excluded); -// // if (argnames.length > 0) { -// // return argnames[0]; -// // } -// return baseName; -// } - -// public static String[] suggestArgumentNames(IJavaProject project, -// String[] paramNames) { -// String prefixes = project.getOption( -// JavaCore.CODEASSIST_ARGUMENT_PREFIXES, true); -// String suffixes = project.getOption( -// JavaCore.CODEASSIST_ARGUMENT_SUFFIXES, true); -// if (prefixes.length() + suffixes.length() == 0) { -// return paramNames; -// } -// -// String[] newNames = new String[paramNames.length]; -// // Ensure that the codegeneration preferences are respected -// for (int i = 0; i < paramNames.length; i++) { -// String curr = paramNames[i]; -// if (!hasPrefixOrSuffix(prefixes, suffixes, curr)) { -// newNames[i] = suggestArgumentName(project, paramNames[i], null); -// } else { -// newNames[i] = curr; -// } -// } -// return newNames; -// } - -// public static boolean hasFieldName(IJavaProject project, String name) { -// String prefixes = project.getOption(JavaCore.CODEASSIST_FIELD_PREFIXES, -// true); -// String suffixes = project.getOption(JavaCore.CODEASSIST_FIELD_SUFFIXES, -// true); -// String staticPrefixes = project.getOption( -// JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, true); -// String staticSuffixes = project.getOption( -// JavaCore.CODEASSIST_STATIC_FIELD_SUFFIXES, true); -// -// return hasPrefixOrSuffix(prefixes, suffixes, name) -// || hasPrefixOrSuffix(staticPrefixes, staticSuffixes, name); -// } - -// public static boolean hasParameterName(IJavaProject project, String name) { -// String prefixes = project.getOption( -// JavaCore.CODEASSIST_ARGUMENT_PREFIXES, true); -// String suffixes = project.getOption( -// JavaCore.CODEASSIST_ARGUMENT_SUFFIXES, true); -// return hasPrefixOrSuffix(prefixes, suffixes, name); -// } - -// public static boolean hasLocalVariableName(IJavaProject project, String name) { -// String prefixes = project.getOption(JavaCore.CODEASSIST_LOCAL_PREFIXES, -// true); -// String suffixes = project.getOption(JavaCore.CODEASSIST_LOCAL_SUFFIXES, -// true); -// return hasPrefixOrSuffix(prefixes, suffixes, name); -// } - -// public static boolean hasConstantName(String name) { -// return Character.isUpperCase(name.charAt(0)); -// } - -// private static boolean hasPrefixOrSuffix(String prefixes, String suffixes, -// String name) { -// final String listSeparartor = ","; //$NON-NLS-1$ -// -// StringTokenizer tok = new StringTokenizer(prefixes, listSeparartor); -// while (tok.hasMoreTokens()) { -// String curr = tok.nextToken(); -// if (name.startsWith(curr)) { -// return true; -// } -// } -// -// tok = new StringTokenizer(suffixes, listSeparartor); -// while (tok.hasMoreTokens()) { -// String curr = tok.nextToken(); -// if (name.endsWith(curr)) { -// return true; -// } -// } -// return false; -// } -}