System.out.println("\nlocation of the method:"+methods.getParent().getResource().toString()); System.out.println("\n\nmethod name ::"+methods.getElementName());
/** * Creates a handle that has parameter types that are not * fully qualified so that the correct source is found. */ protected IJavaElement[] getUnqualifiedMethodHandle(IMethod method, boolean noDollar) { boolean hasDollar = false; String[] qualifiedParameterTypes = method.getParameterTypes(); String[] unqualifiedParameterTypes = new String[qualifiedParameterTypes.length]; for (int i = 0; i < qualifiedParameterTypes.length; i++) { StringBuffer unqualifiedTypeSig = new StringBuffer(); getUnqualifiedTypeSignature(qualifiedParameterTypes[i], 0/*start*/, qualifiedParameterTypes[i].length(), unqualifiedTypeSig, noDollar); unqualifiedParameterTypes[i] = unqualifiedTypeSig.toString(); hasDollar |= unqualifiedParameterTypes[i].lastIndexOf('$') != -1; } IJavaElement[] result = new IJavaElement[2]; result[0] = ((IType) method.getParent()).getMethod( method.getElementName(), unqualifiedParameterTypes); if(hasDollar) { result[1] = result[0]; } return result; }
/** * Creates a handle that has parameter types that are not * fully qualified so that the correct source is found. */ protected IJavaElement[] getUnqualifiedMethodHandle(IMethod method, boolean noDollar) { boolean hasDollar = false; String[] qualifiedParameterTypes = method.getParameterTypes(); String[] unqualifiedParameterTypes = new String[qualifiedParameterTypes.length]; for (int i = 0; i < qualifiedParameterTypes.length; i++) { StringBuffer unqualifiedTypeSig = new StringBuffer(); getUnqualifiedTypeSignature(qualifiedParameterTypes[i], 0/*start*/, qualifiedParameterTypes[i].length(), unqualifiedTypeSig, noDollar); unqualifiedParameterTypes[i] = unqualifiedTypeSig.toString(); hasDollar |= unqualifiedParameterTypes[i].lastIndexOf('$') != -1; } IJavaElement[] result = new IJavaElement[2]; result[0] = ((IType) method.getParent()).getMethod( method.getElementName(), unqualifiedParameterTypes); if(hasDollar) { result[1] = result[0]; } return result; }
public String getOldMethodSignature() throws JavaModelException{ StringBuffer buff= new StringBuffer(); int flags= getMethod().getFlags(); buff.append(getVisibilityString(flags)); if (Flags.isStatic(flags)) buff.append("static "); //$NON-NLS-1$ if (! getMethod().isConstructor()) buff.append(fReturnTypeInfo.getOldTypeName()) .append(' '); buff.append(JavaElementLabels.getElementLabel(fMethod.getParent(), JavaElementLabels.ALL_FULLY_QUALIFIED)); buff.append('.'); buff.append(fMethod.getElementName()) .append(Signature.C_PARAM_START) .append(getOldMethodParameters()) .append(Signature.C_PARAM_END); buff.append(getOldMethodThrows()); return buff.toString(); }
/** * Creates a handle that has parameter types that are not * fully qualified so that the correct source is found. */ protected IJavaElement[] getUnqualifiedMethodHandle(IMethod method, boolean noDollar) { boolean hasDollar = false; String[] qualifiedParameterTypes = method.getParameterTypes(); String[] unqualifiedParameterTypes = new String[qualifiedParameterTypes.length]; for (int i = 0; i < qualifiedParameterTypes.length; i++) { StringBuffer unqualifiedTypeSig = new StringBuffer(); getUnqualifiedTypeSignature(qualifiedParameterTypes[i], 0/*start*/, qualifiedParameterTypes[i].length(), unqualifiedTypeSig, noDollar); unqualifiedParameterTypes[i] = unqualifiedTypeSig.toString(); hasDollar |= unqualifiedParameterTypes[i].lastIndexOf('$') != -1; } IJavaElement[] result = new IJavaElement[2]; result[0] = ((IType) method.getParent()).getMethod( method.getElementName(), unqualifiedParameterTypes); if(hasDollar) { result[1] = result[0]; } return result; }
/** * Creates a handle that has parameter types that are not * fully qualified so that the correct source is found. */ protected IJavaElement[] getUnqualifiedMethodHandle(IMethod method, boolean noDollar) { boolean hasDollar = false; String[] qualifiedParameterTypes = method.getParameterTypes(); String[] unqualifiedParameterTypes = new String[qualifiedParameterTypes.length]; for (int i = 0; i < qualifiedParameterTypes.length; i++) { StringBuffer unqualifiedTypeSig = new StringBuffer(); getUnqualifiedTypeSignature(qualifiedParameterTypes[i], 0/*start*/, qualifiedParameterTypes[i].length(), unqualifiedTypeSig, noDollar); unqualifiedParameterTypes[i] = unqualifiedTypeSig.toString(); hasDollar |= unqualifiedParameterTypes[i].lastIndexOf('$') != -1; } IJavaElement[] result = new IJavaElement[2]; result[0] = ((IType) method.getParent()).getMethod( method.getElementName(), unqualifiedParameterTypes); if(hasDollar) { result[1] = result[0]; } return result; }
/** * Creates a handle that has parameter types that are not * fully qualified so that the correct source is found. */ protected IJavaElement[] getUnqualifiedMethodHandle(IMethod method, boolean noDollar) { boolean hasDollar = false; String[] qualifiedParameterTypes = method.getParameterTypes(); String[] unqualifiedParameterTypes = new String[qualifiedParameterTypes.length]; for (int i = 0; i < qualifiedParameterTypes.length; i++) { StringBuffer unqualifiedTypeSig = new StringBuffer(); getUnqualifiedTypeSignature(qualifiedParameterTypes[i], 0/*start*/, qualifiedParameterTypes[i].length(), unqualifiedTypeSig, noDollar); unqualifiedParameterTypes[i] = unqualifiedTypeSig.toString(); hasDollar |= unqualifiedParameterTypes[i].lastIndexOf('$') != -1; } IJavaElement[] result = new IJavaElement[2]; result[0] = ((IType) method.getParent()).getMethod( method.getElementName(), unqualifiedParameterTypes); if(hasDollar) { result[1] = result[0]; } return result; }
/** * Creates a handle that has parameter types that are not * fully qualified so that the correct source is found. */ protected IJavaElement[] getUnqualifiedMethodHandle(IMethod method, boolean noDollar) { boolean hasDollar = false; String[] qualifiedParameterTypes = method.getParameterTypes(); String[] unqualifiedParameterTypes = new String[qualifiedParameterTypes.length]; for (int i = 0; i < qualifiedParameterTypes.length; i++) { StringBuffer unqualifiedTypeSig = new StringBuffer(); getUnqualifiedTypeSignature(qualifiedParameterTypes[i], 0/*start*/, qualifiedParameterTypes[i].length(), unqualifiedTypeSig, noDollar); unqualifiedParameterTypes[i] = unqualifiedTypeSig.toString(); hasDollar |= unqualifiedParameterTypes[i].lastIndexOf('$') != -1; } IJavaElement[] result = new IJavaElement[2]; result[0] = ((IType) method.getParent()).getMethod( method.getElementName(), unqualifiedParameterTypes); if(hasDollar) { result[1] = result[0]; } return result; }
public String getOldMethodSignature() throws JavaModelException{ StringBuilder buff= new StringBuilder(); int flags= getMethod().getFlags(); buff.append(getVisibilityString(flags)); if (Flags.isStatic(flags)) { buff.append("static "); //$NON-NLS-1$ } else if (Flags.isDefaultMethod(flags)) { buff.append("default "); //$NON-NLS-1$ } if (! getMethod().isConstructor()) buff.append(fReturnTypeInfo.getOldTypeName()) .append(' '); buff.append(JavaElementLabels.getElementLabel(fMethod.getParent(), JavaElementLabels.ALL_FULLY_QUALIFIED)); buff.append('.'); buff.append(fMethod.getElementName()) .append(Signature.C_PARAM_START) .append(getOldMethodParameters()) .append(Signature.C_PARAM_END); buff.append(getOldMethodThrows()); return BasicElementLabels.getJavaCodeString(buff.toString()); }
public String getOldMethodSignature() throws JavaModelException{ StringBuffer buff= new StringBuffer(); int flags= getMethod().getFlags(); buff.append(getVisibilityString(flags)); if (Flags.isStatic(flags)) { buff.append("static "); //$NON-NLS-1$ } else if (Flags.isDefaultMethod(flags)) { buff.append("default "); //$NON-NLS-1$ } if (! getMethod().isConstructor()) buff.append(fReturnTypeInfo.getOldTypeName()) .append(' '); buff.append(JavaElementLabels.getElementLabel(fMethod.getParent(), JavaElementLabels.ALL_FULLY_QUALIFIED)); buff.append('.'); buff.append(fMethod.getElementName()) .append(Signature.C_PARAM_START) .append(getOldMethodParameters()) .append(Signature.C_PARAM_END); buff.append(getOldMethodThrows()); return BasicElementLabels.getJavaCodeString(buff.toString()); }
/** * @param findDeclarations * @param findReferences * @param typeParameter * @param matchRule */ public TypeParameterPattern(boolean findDeclarations, boolean findReferences, ITypeParameter typeParameter, int matchRule) { super(TYPE_PARAM_PATTERN, matchRule); this.findDeclarations = findDeclarations; // set to find declarations & all occurences this.findReferences = findReferences; // set to find references & all occurences this.typeParameter = typeParameter; this.name = typeParameter.getElementName().toCharArray(); // store type parameter name IMember member = typeParameter.getDeclaringMember(); this.declaringMemberName = member.getElementName().toCharArray(); // store type parameter declaring member name // For method type parameter, store also declaring class name and parameters type names if (member instanceof IMethod) { IMethod method = (IMethod) member; this.methodDeclaringClassName = method.getParent().getElementName().toCharArray(); String[] parameters = method.getParameterTypes(); int length = parameters.length; this.methodArgumentTypes = new char[length][]; for (int i=0; i<length; i++) { this.methodArgumentTypes[i] = Signature.toCharArray(parameters[i].toCharArray()); } } }
/** * @param findDeclarations * @param findReferences * @param typeParameter * @param matchRule */ public TypeParameterPattern(boolean findDeclarations, boolean findReferences, ITypeParameter typeParameter, int matchRule) { super(TYPE_PARAM_PATTERN, matchRule); this.findDeclarations = findDeclarations; // set to find declarations & all occurences this.findReferences = findReferences; // set to find references & all occurences this.typeParameter = typeParameter; this.name = typeParameter.getElementName().toCharArray(); // store type parameter name IMember member = typeParameter.getDeclaringMember(); this.declaringMemberName = member.getElementName().toCharArray(); // store type parameter declaring member name // For method type parameter, store also declaring class name and parameters type names if (member instanceof IMethod) { IMethod method = (IMethod) member; this.methodDeclaringClassName = method.getParent().getElementName().toCharArray(); String[] parameters = method.getParameterTypes(); int length = parameters.length; this.methodArgumentTypes = new char[length][]; for (int i=0; i<length; i++) { this.methodArgumentTypes[i] = Signature.toCharArray(parameters[i].toCharArray()); } } }
/** * @param findDeclarations * @param findReferences * @param typeParameter * @param matchRule */ public TypeParameterPattern(boolean findDeclarations, boolean findReferences, ITypeParameter typeParameter, int matchRule) { super(TYPE_PARAM_PATTERN, matchRule); this.findDeclarations = findDeclarations; // set to find declarations & all occurences this.findReferences = findReferences; // set to find references & all occurences this.typeParameter = typeParameter; this.name = typeParameter.getElementName().toCharArray(); // store type parameter name IMember member = typeParameter.getDeclaringMember(); this.declaringMemberName = member.getElementName().toCharArray(); // store type parameter declaring member name // For method type parameter, store also declaring class name and parameters type names if (member instanceof IMethod) { IMethod method = (IMethod) member; this.methodDeclaringClassName = method.getParent().getElementName().toCharArray(); String[] parameters = method.getParameterTypes(); int length = parameters.length; this.methodArgumentTypes = new char[length][]; for (int i=0; i<length; i++) { this.methodArgumentTypes[i] = Signature.toCharArray(parameters[i].toCharArray()); } } }
/** * @param findDeclarations * @param findReferences * @param typeParameter * @param matchRule */ public TypeParameterPattern(boolean findDeclarations, boolean findReferences, ITypeParameter typeParameter, int matchRule) { super(TYPE_PARAM_PATTERN, matchRule); this.findDeclarations = findDeclarations; // set to find declarations & all occurences this.findReferences = findReferences; // set to find references & all occurences this.typeParameter = typeParameter; this.name = typeParameter.getElementName().toCharArray(); // store type parameter name IMember member = typeParameter.getDeclaringMember(); this.declaringMemberName = member.getElementName().toCharArray(); // store type parameter declaring member name // For method type parameter, store also declaring class name and parameters type names if (member instanceof IMethod) { IMethod method = (IMethod) member; this.methodDeclaringClassName = method.getParent().getElementName().toCharArray(); String[] parameters = method.getParameterTypes(); int length = parameters.length; this.methodArgumentTypes = new char[length][]; for (int i=0; i<length; i++) { this.methodArgumentTypes[i] = Signature.toCharArray(parameters[i].toCharArray()); } } }
/** * @param findDeclarations * @param findReferences * @param typeParameter * @param matchRule */ public TypeParameterPattern(boolean findDeclarations, boolean findReferences, ITypeParameter typeParameter, int matchRule) { super(TYPE_PARAM_PATTERN, matchRule); this.findDeclarations = findDeclarations; // set to find declarations & all occurences this.findReferences = findReferences; // set to find references & all occurences this.typeParameter = typeParameter; this.name = typeParameter.getElementName().toCharArray(); // store type parameter name IMember member = typeParameter.getDeclaringMember(); this.declaringMemberName = member.getElementName().toCharArray(); // store type parameter declaring member name // For method type parameter, store also declaring class name and parameters type names if (member instanceof IMethod) { IMethod method = (IMethod) member; this.methodDeclaringClassName = method.getParent().getElementName().toCharArray(); String[] parameters = method.getParameterTypes(); int length = parameters.length; this.methodArgumentTypes = new char[length][]; for (int i=0; i<length; i++) { this.methodArgumentTypes[i] = Signature.toCharArray(parameters[i].toCharArray()); } } }
public AbstractMethodDeclaration findMethod(IMethod methodHandle) { TypeDeclaration typeDecl = findType((IType)methodHandle.getParent()); if (typeDecl == null) return null; AbstractMethodDeclaration[] methods = typeDecl.methods; if (methods != null) { char[] selector = methodHandle.getElementName().toCharArray(); String[] parameterTypeSignatures = methodHandle.getParameterTypes(); int parameterCount = parameterTypeSignatures.length; nextMethod: for (int i = 0, length = methods.length; i < length; i++) { AbstractMethodDeclaration method = methods[i]; if (CharOperation.equals(selector, method.selector)) { Argument[] args = method.arguments; int argsLength = args == null ? 0 : args.length; if (argsLength == parameterCount) { for (int j = 0; j < parameterCount; j++) { TypeReference type = args[j].type; String signature = Util.typeSignature(type); if (!signature.equals(parameterTypeSignatures[j])) { continue nextMethod; } } return method; } } } } return null; }
/** * Checks whether or not a method can be overridden. * * @param method the method * @return <code>true</code> if the method cannot be overridden, <code>false</code> otherwise * @throws JavaModelException if this element does not exist or if an exception occurs while * accessing its corresponding resource * @since 3.7 */ private static boolean cannotBeOverriddenMethod(IMethod method) throws JavaModelException { return JdtFlags.isPrivate(method) || JdtFlags.isFinal(method) || JdtFlags.isStatic(method) || method.isConstructor() || JdtFlags.isFinal((IMember)method.getParent()); }
/** * Checks whether or not a method can be overridden. * * @param method the method * @return <code>true</code> if the method cannot be overridden, <code>false</code> otherwise * @throws JavaModelException if this element does not exist or if an exception occurs while * accessing its corresponding resource * @since 3.7 */ private static boolean cannotBeOverriddenMethod(IMethod method) throws JavaModelException { return JdtFlags.isPrivate(method) || JdtFlags.isFinal(method) || JdtFlags.isStatic(method) || method.isConstructor() || JdtFlags.isFinal((IMember)method.getParent()); }
/** * Checks whether or not a method can be overridden. * * @param method the method * @return <code>true</code> if the method cannot be overridden, <code>false</code> otherwise * @throws JavaModelException if this element does not exist or if an exception occurs while * accessing its corresponding resource * @since 3.7 */ private static boolean cannotBeOverriddenMethod(IMethod method) throws JavaModelException { return JdtFlags.isPrivate(method) || JdtFlags.isFinal(method) || JdtFlags.isStatic(method) || method.isConstructor() || JdtFlags.isFinal((IMember)method.getParent()); }
@Override public void acceptSearchMatch(SearchMatch match) throws CoreException { final Object element = match.getElement(); if (element instanceof IMethod) { final IMethod method = (IMethod) element; // The search result might not in the search scope. // See: https://github.com/Microsoft/vscode-java-test/issues/441 if (!scope.encloses(method)) { return; } final TestItem methodItem = TestFrameworkUtils.resoveTestItemForMethod(method); final IType type = (IType) method.getParent(); final TestItem classItem = classMap.get(type.getFullyQualifiedName()); if (classItem != null) { classItem.addChild(methodItem); } else { final TestItem newClassItem = TestItemUtils.constructTestItem(type, TestItemUtils.getTestLevelForIType(type)); newClassItem.addChild(methodItem); classMap.put(type.getFullyQualifiedName(), newClassItem); } } }