List of usage examples for org.eclipse.jdt.core IMember getAncestor
IJavaElement getAncestor(int ancestorType);
From source file:at.bestsolution.fxide.jdt.corext.util.JavaModelUtil.java
License:Open Source License
/** * Evaluates if a member in the focus' element hierarchy is visible from * elements in a package.//from ww w . j a v a2s. c o m * @param member The member to test the visibility for * @param pack The package of the focus element focus * @return returns <code>true</code> if the member is visible from the package * @throws JavaModelException thrown when the member can not be accessed */ public static boolean isVisibleInHierarchy(IMember member, IPackageFragment pack) throws JavaModelException { int type = member.getElementType(); if (type == IJavaElement.INITIALIZER || (type == IJavaElement.METHOD && member.getElementName().startsWith("<"))) { //$NON-NLS-1$ return false; } int otherflags = member.getFlags(); IType declaringType = member.getDeclaringType(); if (Flags.isPublic(otherflags) || Flags.isProtected(otherflags) || (declaringType != null && isInterfaceOrAnnotation(declaringType))) { return true; } else if (Flags.isPrivate(otherflags)) { return false; } IPackageFragment otherpack = (IPackageFragment) member.getAncestor(IJavaElement.PACKAGE_FRAGMENT); return (pack != null && pack.equals(otherpack)); }
From source file:byke.DependencyAnalysis.java
License:Open Source License
private IJavaElement enclosingTypeOf(IMember element) { return element.getAncestor(IJavaElement.TYPE); }
From source file:com.codenvy.ide.ext.java.server.JavadocFinder.java
License:Open Source License
private String getJavadoc(IMember element) { StringBuffer buffer = new StringBuffer(); boolean hasContents = false; if (element instanceof IPackageFragment || element instanceof IMember) { HTMLPrinter.addSmallHeader(buffer, getInfoText(element, element.getTypeRoot(), true)); buffer.append("<br>"); //$NON-NLS-1$ addAnnotations(buffer, element, element.getTypeRoot(), null); Reader reader = null;/*from w w w. j a v a 2s. c o m*/ try { String content = element instanceof IMember ? JavadocContentAccess2.getHTMLContent(element, true, baseHref) : null;//JavadocContentAccess2.getHTMLContent((IPackageFragment)element); IPackageFragmentRoot root = (IPackageFragmentRoot) element .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); // boolean isBinary = root.exists() && root.getKind() == IPackageFragmentRoot.K_BINARY; if (content != null) { // base= JavaDocLocations.getBaseURL(element, isBinary); reader = new StringReader(content); } else { String explanationForMissingJavadoc = JavaDocLocations.getExplanationForMissingJavadoc(element, root); if (explanationForMissingJavadoc != null) reader = new StringReader(explanationForMissingJavadoc); } } catch (CoreException ex) { reader = new StringReader(JavaDocLocations.handleFailedJavadocFetch(ex)); } if (reader != null) { HTMLPrinter.addParagraph(buffer, reader); } hasContents = true; } if (!hasContents) return null; if (buffer.length() > 0) { //todo use url for css HTMLPrinter.insertPageProlog(buffer, 0, getStyleSheet()); // if (base != null) { // int endHeadIdx= buffer.indexOf("</head>"); //$NON-NLS-1$ // buffer.insert(endHeadIdx, "\n<base href='" + base + "'>\n"); //$NON-NLS-1$ //$NON-NLS-2$ // } HTMLPrinter.addPageEpilog(buffer); return buffer.toString(); } return null; }
From source file:edu.buffalo.cse.green.editor.controller.MemberPart.java
License:Open Source License
/** * @return The part's corresponding javadoc. *///from ww w.ja v a 2s . c om private String getJavaDoc() { final IMember element = (IMember) model().getJavaElement(); int type = element.isBinary() ? CLASS_FILE : COMPILATION_UNIT; CompilationUnit cu = getEditor().getCompilationUnit(element.getAncestor(type)); //If no source code attached for given element if (cu == null) return ""; JavadocGrabber grabber = getJavadocGrabber(); grabber.setElement(model().getMember()); cu.accept(grabber); return grabber.getJavadoc(); }
From source file:edu.buffalo.cse.green.relationships.RelationshipVisitor.java
License:Open Source License
/** * @param element - The member element.//from w w w . j av a 2 s . c om * @return A <code>CompilationUnit</code> representing the structure of the * source code of the element. */ public static CompilationUnit getCompilationUnit(IMember element) { ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setResolveBindings(true); if (element.isBinary()) { parser.setSource((IClassFile) element.getAncestor(IJavaElement.CLASS_FILE)); } else { parser.setSource((ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT)); } return (CompilationUnit) parser.createAST(null); }
From source file:org.eclipse.ajdt.internal.core.refactoring.ITDAccessorRenameParticipant.java
License:Open Source License
private List<SearchMatch> findPrivateAspectReferences() { List<SearchMatch> maybeMatches = findReferences(field); // now remove all matches that are not inside of aspects // We could be checking for privileged aspects here, but // I think it is better to be more general. for (Iterator<SearchMatch> matchIter = maybeMatches.iterator(); matchIter.hasNext();) { SearchMatch maybeMatch = matchIter.next(); if (maybeMatch.getElement() instanceof IMember) { IMember member = (IMember) maybeMatch.getElement(); if (!(member.getAncestor(IJavaElement.TYPE) instanceof AspectElement)) { matchIter.remove();/*from ww w. j a v a 2 s .c om*/ } } } return maybeMatches; }
From source file:org.eclipse.che.jdt.JavadocFinder.java
License:Open Source License
private String getJavadoc(IMember element) { StringBuffer buffer = new StringBuffer(); boolean hasContents = false; if (element instanceof IPackageFragment || element instanceof IMember) { HTMLPrinter.addSmallHeader(buffer, getInfoText(element, element.getTypeRoot(), true)); buffer.append("<br>"); //$NON-NLS-1$ addAnnotations(buffer, element, element.getTypeRoot(), null); Reader reader = null;/*w w w. j a va 2s. c o m*/ try { String content = element instanceof IMember ? JavadocContentAccess2.getHTMLContent(element, true, baseHref) : null;//JavadocContentAccess2.getHTMLContent((IPackageFragment)element); IPackageFragmentRoot root = (IPackageFragmentRoot) element .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (content != null) { reader = new StringReader(content); } else { String explanationForMissingJavadoc = JavaDocLocations.getExplanationForMissingJavadoc(element, root); if (explanationForMissingJavadoc != null) reader = new StringReader(explanationForMissingJavadoc); } } catch (CoreException ex) { reader = new StringReader(JavaDocLocations.handleFailedJavadocFetch(ex)); } if (reader != null) { HTMLPrinter.addParagraph(buffer, reader); } hasContents = true; } if (!hasContents) return null; if (buffer.length() > 0) { HTMLPrinter.insertPageProlog(buffer, 0, getStyleSheet()); HTMLPrinter.addPageEpilog(buffer); return buffer.toString(); } return null; }
From source file:org.eclipse.che.jdt.util.JavaModelUtil.java
License:Open Source License
/** * Evaluates if a member (possible from another package) is visible from * elements in a package./*from www .j a v a 2 s . c o m*/ * @param member The member to test the visibility for * @param pack The package in focus * @return returns <code>true</code> if the member is visible from the package * @throws JavaModelException thrown when the member can not be accessed */ public static boolean isVisible(IMember member, IPackageFragment pack) throws JavaModelException { int type = member.getElementType(); if (type == IJavaElement.INITIALIZER || (type == IJavaElement.METHOD && member.getElementName().startsWith("<"))) { //$NON-NLS-1$ return false; } int otherflags = member.getFlags(); IType declaringType = member.getDeclaringType(); if (Flags.isPublic(otherflags) || (declaringType != null && isInterfaceOrAnnotation(declaringType))) { return true; } else if (Flags.isPrivate(otherflags)) { return false; } IPackageFragment otherpack = (IPackageFragment) member.getAncestor(IJavaElement.PACKAGE_FRAGMENT); return (pack != null && otherpack != null && isSamePackage(pack, otherpack)); }
From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.CallinMarkerCreator2.java
License:Open Source License
private void updateCallinMarker(IMarkableJavaElement target, IMember member, IProgressMonitor monitor) throws CoreException { // TODO(SH): in this scenario a search for all callins mentioning method should be faster. try {//from ww w . j a va 2s .c o m monitor.beginTask( NLS.bind(OTDTUIPlugin.getResourceString("CallinMarkerCreator2.updating_for_method_message"), //$NON-NLS-1$ new Object[] { member.getElementName() }), 45); IResource resource = member.getResource(); if (resource != null) // only called when base class changed -> source only. { CallinMarkerRemover.removeCallinMarker(member, resource); monitor.worked(5); // find direct roles: ArrayList<IType> allTypes = new ArrayList<IType>(1); allTypes.add((IType) member.getAncestor(IJavaElement.TYPE)); // TODO(SH): could be IOTType? Map<IMember, Set<IType>> playedByMap = OTSearchHelper.searchPlayedByBindings(allTypes, new IJavaProject[] { member.getJavaProject() }, new MySubProgressMonitor(monitor, 20)); if (playedByMap == null || playedByMap.isEmpty()) return; // no base types or cancelled // collect all roles w/ subroles for use as search scope: IMember[] allRoleTypes = collectRolesAndSubroles(playedByMap, new MySubProgressMonitor(monitor, 10)); if (monitor.isCanceled()) return; ArrayList<IMember> memberSet = new ArrayList<IMember>(1); memberSet.add(member); updateMethodMarkers(target, allRoleTypes, memberSet, new SubProgressMonitor(monitor, 10)); } } finally { monitor.done(); } }
From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.UpdateRulerAction.java
License:Open Source License
private void insertTeamMenus(IMenuManager contextMenu, IMarker marker) throws CoreException { List<IMember> mappings = getMappings(marker); if (mappings == null) return;/* w w w . j a v a 2 s. co m*/ IMenuManager otMenu = getObjectTeamsMenu(contextMenu, marker.getType()); for (IMember curMapping : mappings) { IType type = (IType) (curMapping.getAncestor(IJavaElement.TYPE)); IOTType otType = OTModelManager.getOTElement(type); // FIXME(SH): doesn't find role files??? (try StubUtility2) if (otType == null || !otType.isRole()) continue; IOTType teamType = ((IRoleType) otType).getTeam(); IMenuManager curTeamMenu = null; if (!isSubMenuContained(otMenu, teamType.getElementName())) { curTeamMenu = new MenuManager(teamType.getElementName()); otMenu.add(curTeamMenu); } else { curTeamMenu = getSubMenu(otMenu, teamType.getElementName()); } String actLabel = getMappingLabel(type, curMapping); curTeamMenu.add(createOpenEditorAction(actLabel, curMapping)); } }