List of usage examples for org.eclipse.jdt.core IJavaElement COMPILATION_UNIT
int COMPILATION_UNIT
To view the source code for org.eclipse.jdt.core IJavaElement COMPILATION_UNIT.
Click Source Link
From source file:org.eclipse.ajdt.internal.ui.editor.actions.AJOrganizeImportsAction.java
License:Open Source License
private ICompilationUnit[] getCompilationUnits(IStructuredSelection selection) { HashSet result = new HashSet(); Object[] selected = selection.toArray(); for (int i = 0; i < selected.length; i++) { try {/* w w w.jav a2s . c o m*/ if (selected[i] instanceof IJavaElement) { IJavaElement elem = (IJavaElement) selected[i]; if (elem.exists()) { switch (elem.getElementType()) { case IJavaElement.TYPE: if (elem.getParent().getElementType() == IJavaElement.COMPILATION_UNIT) { result.add(elem.getParent()); } break; case IJavaElement.COMPILATION_UNIT: result.add(elem); break; case IJavaElement.IMPORT_CONTAINER: result.add(elem.getParent()); break; case IJavaElement.PACKAGE_FRAGMENT: collectCompilationUnits((IPackageFragment) elem, result); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: collectCompilationUnits((IPackageFragmentRoot) elem, result); break; case IJavaElement.JAVA_PROJECT: IPackageFragmentRoot[] roots = ((IJavaProject) elem).getPackageFragmentRoots(); for (int k = 0; k < roots.length; k++) { collectCompilationUnits(roots[k], result); } break; } } } else if (selected[i] instanceof LogicalPackage) { IPackageFragment[] packageFragments = ((LogicalPackage) selected[i]).getFragments(); for (int k = 0; k < packageFragments.length; k++) { IPackageFragment pack = packageFragments[k]; if (pack.exists()) { collectCompilationUnits(pack, result); } } } } catch (JavaModelException e) { if (JavaModelUtil.isExceptionToBeLogged(e)) JavaPlugin.log(e); } } return (ICompilationUnit[]) result.toArray(new ICompilationUnit[result.size()]); }
From source file:org.eclipse.ajdt.internal.ui.editor.actions.AJOrganizeImportsAction.java
License:Open Source License
private boolean isEnabled(IStructuredSelection selection) { Object[] selected = selection.toArray(); for (int i = 0; i < selected.length; i++) { try {//from w w w.j a v a2 s. c o m if (selected[i] instanceof IJavaElement) { IJavaElement elem = (IJavaElement) selected[i]; if (elem.exists()) { switch (elem.getElementType()) { case IJavaElement.TYPE: return elem.getParent().getElementType() == IJavaElement.COMPILATION_UNIT; // for browsing perspective case IJavaElement.COMPILATION_UNIT: return true; case IJavaElement.IMPORT_CONTAINER: return true; case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot root = (IPackageFragmentRoot) elem .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); return (root.getKind() == IPackageFragmentRoot.K_SOURCE); case IJavaElement.JAVA_PROJECT: // https://bugs.eclipse.org/bugs/show_bug.cgi?id=65638 return true; } } } else if (selected[i] instanceof LogicalPackage) { return true; } } catch (JavaModelException e) { if (!e.isDoesNotExist()) { JavaPlugin.log(e); } } } return false; }
From source file:org.eclipse.ajdt.internal.ui.editor.outline.AJOutlineInformationControl.java
License:Open Source License
/** * {@inheritDoc}/*from www .ja v a 2 s. com*/ */ public void setInput(Object information) { if (information == null || information instanceof String) { inputChanged(null, null); return; } IJavaElement je = (IJavaElement) information; ICompilationUnit cu = (ICompilationUnit) je.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu != null) fInput = cu; else fInput = je.getAncestor(IJavaElement.CLASS_FILE); inputChanged(fInput, information); }
From source file:org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.java
License:Open Source License
/** * creates new markers for an entire project *//* w w w .j ava2s .c o m*/ private void addMarkersForProject(IProgressMonitor monitor) { if (!model.hasModel()) { return; } try { IJavaProject jProject = JavaCore.create(project); IPackageFragmentRoot[] fragRoots = jProject.getPackageFragmentRoots(); SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, fragRoots.length); subMonitor.beginTask("Add markers for " + project.getName(), fragRoots.length); for (int i = 0; i < fragRoots.length; i++) { if (fragRoots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { IJavaElement[] frags = fragRoots[i].getChildren(); for (int j = 0; j < frags.length; j++) { Set<String> completedCUNames = new HashSet<String>(frags.length, 1.0f); IJavaElement[] cus = ((IPackageFragment) frags[j]).getChildren(); for (int k = 0; k < cus.length; k++) { // ignore any class files in the source folder (Bug 258698) if (cus[k].getElementType() == IJavaElement.COMPILATION_UNIT) { // ignore duplicate compilation units IResource resource = cus[k].getResource(); if (!completedCUNames.contains(resource.getName())) { subMonitor.subTask("Add markers for " + cus[k].getElementName()); addMarkersForFile((ICompilationUnit) cus[k], ((ICompilationUnit) cus[k]).getResource()); completedCUNames.add(resource.getName()); fileCount++; } if (subMonitor.isCanceled()) { throw new OperationCanceledException(); } } } } subMonitor.worked(1); } } } catch (JavaModelException e) { } }
From source file:org.eclipse.ajdt.internal.ui.refactoring.ITDRenameRefactoringProvider.java
License:Open Source License
/** * Lightweight rename refactoring is often broken inside of {@link AJCompilationUnit}s, * so just disable it.// ww w . j a v a 2 s.co m * @param elt * @return true if the element is inside an {@link AJCompilationUnit} */ public boolean belongsToInterestingCompilationUnit(IJavaElement elt) { return elt.getAncestor(IJavaElement.COMPILATION_UNIT) instanceof AJCompilationUnit; }
From source file:org.eclipse.ajdt.internal.ui.refactoring.pullout.PullOutRefactoring.java
License:Open Source License
private boolean isInTopLevelType(IMember member) { IJavaElement parent = member.getParent(); Assert.isTrue(parent.getElementType() == IJavaElement.TYPE); return parent.getParent().getElementType() == IJavaElement.COMPILATION_UNIT; }
From source file:org.eclipse.ajdt.internal.ui.refactoring.pullout.PullOutRefactoring.java
License:Open Source License
private static RefactoringStatusContext makeContext(SearchMatch match) { try {//from w ww. j a va 2 s . co m IJavaElement element = (IJavaElement) match.getElement(); ITypeRoot typeRoot = (ITypeRoot) element.getAncestor(IJavaElement.COMPILATION_UNIT); if (typeRoot == null) { typeRoot = (ITypeRoot) element.getAncestor(IJavaElement.CLASS_FILE); } ISourceRange range = new SourceRange(match.getOffset(), match.getLength()); return JavaStatusContext.create(typeRoot, range); } catch (Throwable e) { return null; } }
From source file:org.eclipse.ajdt.internal.ui.visualiser.AJDTContentProvider.java
License:Open Source License
/** * Get the data for the current selection. * //from w w w . j a v a 2s. c o m * @param members - * add members to the List being returned if true, otherwise add * groups * @return data */ private void updateData() { if (ProviderManager.getMarkupProvider() instanceof AJDTMarkupProvider) { ((AJDTMarkupProvider) ProviderManager.getMarkupProvider()).resetMarkupsAndKinds(); } long stime = System.currentTimeMillis(); List<IGroup> newGroups = new ArrayList<IGroup>(); List<IMember> newMembers = new ArrayList<IMember>(); if (currentProject != null) { try { if (currentlySelectedJE.getElementType() == IJavaElement.JAVA_PROJECT) { // Process contents of a Java project IPackageFragment[] packageFragments = ((IJavaProject) currentlySelectedJE) .getPackageFragments(); for (int i = 0; i < packageFragments.length; i++) { if (!(packageFragments[i].isReadOnly())) { addMembersAndGroups(newGroups, newMembers, packageFragments[i]); } } } else if (currentlySelectedJE.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { // Process contents of a Java package(fragment) IPackageFragment packageFragment = (IPackageFragment) currentlySelectedJE; addMembersAndGroups(newGroups, newMembers, packageFragment); } else if (currentlySelectedJE.getElementType() == IJavaElement.COMPILATION_UNIT) { // Process individually selected compilation units JDTMember member = null; if (getIncludedFiles(currentProject.getProject()).contains(currentlySelectedJE.getResource())) { String memberName = currentlySelectedJE.getElementName(); if (memberName.endsWith(".java")) { //$NON-NLS-1$ memberName = memberName.substring(0, memberName.length() - 5); } else if (memberName.endsWith(".aj")) { //$NON-NLS-1$ memberName = memberName.substring(0, memberName.length() - 3); } member = new JDTMember(memberName, currentlySelectedJE); member.setSize(getLength((ICompilationUnit) currentlySelectedJE)); newMembers.add(member); } if (member != null) { IPackageFragment packageFrag = (IPackageFragment) ((ICompilationUnit) currentlySelectedJE) .getParent(); boolean defaultPackage = packageFrag.isDefaultPackage(); // ?!? Need to confirm a group for the pkg frag is OK in // the case of a selection like thiss IGroup group = new JDTGroup(packageFrag.getElementName()); if (defaultPackage) { group.setName("(default package)"); //$NON-NLS-1$ group.setTooltip("(default package)"); //$NON-NLS-1$ } if (defaultPackage) { member.setFullName(member.getName()); } group.add(member); newGroups.add(group); } } } catch (JavaModelException jme) { } long etime = System.currentTimeMillis(); AJLog.log("AJDTContentProvider.updateData() executed - took " + (etime - stime) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ } currentMembers = newMembers; currentGroups = newGroups; }
From source file:org.eclipse.ajdt.internal.ui.visualiser.AJDTContentProvider.java
License:Open Source License
/** * Get all JDT members for the given IPackageFragment (Java package) * /* ww w .j a v a 2 s.c o m*/ * @param packageFragment * @return List of JDTMembers */ public List<IMember> getMembersForPackage(IPackageFragment packageFragment) { List<IMember> returningClasses = new ArrayList<IMember>(); try { if (containsUsefulStuff(packageFragment)) { IJavaElement[] javaElements = packageFragment.getChildren(); for (int j = 0; j < javaElements.length; j++) { if (javaElements[j].getElementType() == IJavaElement.COMPILATION_UNIT) { if (getIncludedFiles(packageFragment.getJavaProject().getProject()) .contains(javaElements[j].getResource())) { // Bug 157776: Filter out duplicate compilation units here, not in calling methods if (!IsWovenTester.isWeavingActive() && !(javaElements[j] instanceof AJCompilationUnit) && javaElements[j].getElementName() != null && javaElements[j].getElementName().endsWith(".aj")) { //$NON-NLS-1$ // Do nothing } else { String memberName = javaElements[j].getElementName(); if (!shouldIgnore(memberName)) { if (memberName.endsWith(".java")) { //$NON-NLS-1$ memberName = memberName.substring(0, memberName.length() - 5); } else if (memberName.endsWith(".aj")) { //$NON-NLS-1$ memberName = memberName.substring(0, memberName.length() - 3); } JDTMember member = new JDTMember(memberName, javaElements[j]); member.setSize(getLength((ICompilationUnit) javaElements[j])); returningClasses.add(member); } } } } } } } catch (JavaModelException jme) { } return returningClasses; }
From source file:org.eclipse.ajdt.internal.ui.visualiser.AJDTMarkupProvider.java
License:Open Source License
private void updateModel() { if (ProviderManager.getContentProvider() instanceof AJDTContentProvider) { IJavaProject jp = ((AJDTContentProvider) ProviderManager.getContentProvider()).getCurrentProject(); if (jp != null) { AJProjectModelFacade model = AJProjectModelFactory.getInstance() .getModelForProject(jp.getProject()); Collection<IRelationship> allRelationships = model .getRelationshipsForProject(new AJRelationshipType[] { AJRelationshipManager.ADVISED_BY, AJRelationshipManager.ANNOTATED_BY, AJRelationshipManager.ASPECT_DECLARATIONS, AJRelationshipManager.MATCHES_DECLARE }); if (allRelationships != null) { for (IRelationship relationship : allRelationships) { List<IMarkupKind> kinds = new ArrayList<IMarkupKind>(); IProgramElement sourceIpe = model.getProgramElement(relationship.getSourceHandle()); if (sourceIpe != null) { List<String> targets = relationship.getTargets(); for (String targetStr : targets) { IJavaElement target = model.programElementToJavaElement(targetStr); String simpleName; String qualifiedName; if (!(target instanceof IAJCodeElement)) { IJavaElement enclosingType = target.getAncestor(IJavaElement.TYPE); if (enclosingType == null) { // Bug 324706 I don't know why the sloc is null. Log the bug and // continue on. VisualiserPlugin.log(IStatus.WARNING, "Bug 324706: null containing type found for " + target.getElementName() + "\nHandle identifier is: " + target.getHandleIdentifier()); // avoid an npe continue; }// w ww .j a v a 2 s .c o m simpleName = enclosingType.getElementName(); qualifiedName = ((IType) enclosingType).getFullyQualifiedName('.'); } else { // It's an injar aspect so we wno't be able to find the parents qualifiedName = target.getElementName(); String[] parts = qualifiedName.split(" "); //$NON-NLS-1$ String aNameWithExtension = parts[parts.length - 1]; if (aNameWithExtension.indexOf('.') != -1) { // $NON-NLS-1$ simpleName = aNameWithExtension.substring(0, aNameWithExtension.lastIndexOf('.')); // $NON-NLS-1$ } else { simpleName = aNameWithExtension; } } if (sourceIpe.getSourceLocation() == null) { // Bug 324706 I don't know why the sloc is null. Log the bug and // continue on. VisualiserPlugin.log(IStatus.WARNING, "Bug 324706: Warning, null source location found in " + sourceIpe.getName() + "\nHandle identifier is: " + sourceIpe.getHandleIdentifier()); // avoid an npe continue; } int lineNum = sourceIpe.getSourceLocation().getLine(); IJavaElement sourceJe = model .programElementToJavaElement(relationship.getSourceHandle()); if (sourceJe != null) { IJavaElement compilationUnitAncestor = sourceJe .getAncestor(IJavaElement.COMPILATION_UNIT); if (compilationUnitAncestor != null) { String memberName = compilationUnitAncestor.getElementName(); memberName = memberName.substring(0, memberName.lastIndexOf(".")); //$NON-NLS-1$ String packageName = sourceJe.getAncestor(IJavaElement.PACKAGE_FRAGMENT) .getElementName(); if (!(packageName.equals(""))) { //$NON-NLS-1$ memberName = packageName + "." + memberName; //$NON-NLS-1$ } IMarkupKind markupKind = null; if (kindMap == null) { kindMap = new HashMap<String, IMarkupKind>(); } if (relationship.getName() .equals(AJRelationshipManager.MATCHES_DECLARE.getDisplayName())) { String sourceName = target.getElementName(); boolean errorKind = sourceName.startsWith(aspectJErrorKind); if (kindMap.get( sourceName + ":::" + qualifiedName) instanceof IMarkupKind) { //$NON-NLS-1$ markupKind = kindMap.get(sourceName + ":::" + qualifiedName); //$NON-NLS-1$ } else { markupKind = new ErrorOrWarningMarkupKind( sourceName + ":::" + simpleName, errorKind); //$NON-NLS-1$ kindMap.put(sourceName + ":::" + qualifiedName, markupKind); //$NON-NLS-1$ } } else { if (kindMap.get(qualifiedName) instanceof IMarkupKind) { markupKind = kindMap.get(qualifiedName); } else { markupKind = new SimpleMarkupKind(simpleName, qualifiedName); kindMap.put(qualifiedName, markupKind); } } kinds.add(markupKind); Stripe stripe = new Stripe(kinds, lineNum, 1); addMarkup(memberName, stripe); } } } } } } } } processMarkups(); }