private StandardType createStandardType(String fullyQualifiedName, IJavaProject focus) { try { IType javaElementType= focus.findType(fullyQualifiedName); StandardType result= fStandardTypes.get(javaElementType); if (result != null) return result; ASTParser parser= ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL); parser.setProject(focus); IBinding[] bindings= parser.createBindings(new IJavaElement[] {javaElementType} , null); return createStandardType((ITypeBinding)bindings[0]); } catch (JavaModelException e) { // fall through } return null; }
private StandardType createStandardType(String fullyQualifiedName, IJavaProject focus) { try { IType javaElementType= focus.findType(fullyQualifiedName); StandardType result= fStandardTypes.get(javaElementType); if (result != null) return result; ASTParser parser= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL); parser.setProject(focus); IBinding[] bindings= parser.createBindings(new IJavaElement[] {javaElementType} , null); return createStandardType((ITypeBinding)bindings[0]); } catch (JavaModelException e) { // fall through } return null; }
StandardType createBoxed(PrimitiveType type, IJavaProject focus) { String fullyQualifiedName= BOXED_PRIMITIVE_NAMES[type.getId()]; try { IType javaElementType= focus.findType(fullyQualifiedName); StandardType result= (StandardType)fStandardTypes.get(javaElementType); if (result != null) return result; ASTParser parser= ASTParser.newParser(AST.JLS3); parser.setProject(focus); IBinding[] bindings= parser.createBindings(new IJavaElement[] {javaElementType} , null); return createStandardType((ITypeBinding)bindings[0]); } catch (JavaModelException e) { // fall through } return null; }
p.setBindingsRecovery(true); try { binding= p.createBindings(new IJavaElement[] { element }, null)[0]; } catch (OperationCanceledException e) { return null;
IBinding[] bindings= parser.createBindings(types, new SubProgressMonitor(monitor, 1));
/** * Try to acquire a binding corresponding to the given element * for more precise information about (type) annotations. * * Currently this lookup is only enabled when null-annotations are enabled for the project. * * @param element the element being rendered * @param node the AST node corresponding to the given element, or null, if no AST node is available. * @return either a binding corresponding to the given element or null. */ public static IBinding getHoverBinding(IJavaElement element, ASTNode node) { if (element.getJavaProject().getOption(JavaCore.COMPILER_ANNOTATION_NULL_ANALYSIS, true).equals(JavaCore.ENABLED)) { if (node == null) { if (element instanceof ISourceReference) { ASTParser p= ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL); p.setProject(element.getJavaProject()); p.setBindingsRecovery(true); try { return p.createBindings(new IJavaElement[] { element }, null)[0]; } catch (OperationCanceledException e) { return null; } } } else { return resolveBinding(node); } } return null; }
/** * Try to acquire a binding corresponding to the given element * for more precise information about (type) annotations. * * Currently this lookup is only enabled when null-annotations are enabled for the project. * * @param element the element being rendered * @param node the AST node corresponding to the given element, or null, if no AST node is available. * @return either a binding corresponding to the given element or null. */ public static IBinding getHoverBinding(IJavaElement element, ASTNode node) { if (element.getJavaProject().getOption(JavaCore.COMPILER_ANNOTATION_NULL_ANALYSIS, true).equals(JavaCore.ENABLED)) { if (node == null) { if (element instanceof ISourceReference) { ASTParser p= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL); p.setProject(element.getJavaProject()); p.setBindingsRecovery(true); try { return p.createBindings(new IJavaElement[] { element }, null)[0]; } catch (OperationCanceledException e) { return null; } } } else { return resolveBinding(node); } } return null; }
private static IBinding getHoveredNodeBinding(IJavaElement element, ITypeRoot editorInputElement, IRegion hoverRegion) { if (editorInputElement == null || hoverRegion == null) { return null; } IBinding binding; ASTNode node= getHoveredASTNode(editorInputElement, hoverRegion); if (node == null) { ASTParser p= ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL); p.setProject(element.getJavaProject()); p.setBindingsRecovery(true); try { binding= p.createBindings(new IJavaElement[] { element }, null)[0]; } catch (OperationCanceledException e) { return null; } } else { binding= resolveBinding(node); } return binding; }
private static String[] getParameterTypeNamesForSeeTag(IMethod overridden) { try { ASTParser parser= ASTParser.newParser(AST.JLS3); parser.setProject(overridden.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { overridden }, null); if (bindings.length == 1 && bindings[0] instanceof IMethodBinding) { return getParameterTypeNamesForSeeTag((IMethodBinding) bindings[0]); } } catch (IllegalStateException e) { // method does not exist } // fall back code. Not good for generic methods! String[] paramTypes= overridden.getParameterTypes(); String[] paramTypeNames= new String[paramTypes.length]; for (int i= 0; i < paramTypes.length; i++) { paramTypeNames[i]= Signature.toString(Signature.getTypeErasure(paramTypes[i])); } return paramTypeNames; }
private static String[] getParameterTypeNamesForSeeTag(IMethod overridden) { try { ASTParser parser= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL); parser.setProject(overridden.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { overridden }, null); if (bindings.length == 1 && bindings[0] instanceof IMethodBinding) { return getParameterTypeNamesForSeeTag((IMethodBinding)bindings[0]); } } catch (IllegalStateException e) { // method does not exist } // fall back code. Not good for generic methods! String[] paramTypes= overridden.getParameterTypes(); String[] paramTypeNames= new String[paramTypes.length]; for (int i= 0; i < paramTypes.length; i++) { paramTypeNames[i]= Signature.toString(Signature.getTypeErasure(paramTypes[i])); } return paramTypeNames; }
private static String[] getParameterTypeNamesForSeeTag(IMethod overridden) { try { ASTParser parser= ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL); parser.setProject(overridden.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { overridden }, null); if (bindings.length == 1 && bindings[0] instanceof IMethodBinding) { return getParameterTypeNamesForSeeTag((IMethodBinding)bindings[0]); } } catch (IllegalStateException e) { // method does not exist } // fall back code. Not good for generic methods! String[] paramTypes= overridden.getParameterTypes(); String[] paramTypeNames= new String[paramTypes.length]; for (int i= 0; i < paramTypes.length; i++) { paramTypeNames[i]= Signature.toString(Signature.getTypeErasure(paramTypes[i])); } return paramTypeNames; }
ASTParser parser= ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL); parser.setProject(fProject); IBinding[] bindings= parser.createBindings(types, new SubProgressMonitor(monitor, 1)); for (int i= 0; i < bindings.length; i++) { IBinding curr= bindings[i];
} else if (!isAvailable(type.getSourceRange())) { // class file with no source parser.setProject(type.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { type }, monitor); if (bindings.length == 1 && bindings[0] instanceof ITypeBinding) { ITypeBinding binding= (ITypeBinding) bindings[0];
ASTParser parser= ASTParser.newParser(AST.JLS3); parser.setProject(fMethod.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { fMethod }, null); fMethodBinding= (IMethodBinding) bindings[0]; if (fMethodBinding == null)
} else if (!isAvailable(type.getSourceRange())) { // class file with no source parser.setProject(type.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { type }, monitor); if (bindings.length == 1 && bindings[0] instanceof ITypeBinding) { ITypeBinding binding= (ITypeBinding) bindings[0];
} else if (!isAvailable(type.getSourceRange())) { // class file with no source parser.setProject(type.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { type }, monitor); if (bindings.length == 1 && bindings[0] instanceof ITypeBinding) { ITypeBinding binding= (ITypeBinding) bindings[0];
} else if (!isAvailable(type.getSourceRange())) { // class file with no source parser.setProject(type.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { type }, monitor); if (bindings.length == 1 && bindings[0] instanceof ITypeBinding) { ITypeBinding binding= (ITypeBinding) bindings[0];
ASTParser parser= ASTParser.newParser(IASTSharedValues.SHARED_AST_LEVEL); parser.setProject(fMethod.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { fMethod }, null); fMethodBinding= (IMethodBinding) bindings[0]; if (fMethodBinding == null)
ASTParser parser= ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL); parser.setProject(fMethod.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { fMethod }, null); fMethodBinding= (IMethodBinding) bindings[0]; if (fMethodBinding == null)
} else if (!isAvailable(type.getSourceRange())) { // class file with no source parser.setProject(type.getJavaProject()); IBinding[] bindings= parser.createBindings(new IJavaElement[] { type }, monitor); if (bindings.length == 1 && bindings[0] instanceof ITypeBinding) { ITypeBinding binding= (ITypeBinding) bindings[0];