List of usage examples for org.eclipse.jdt.internal.core SourceRefElement getElementType
int getElementType();
From source file:com.codenvy.ide.ext.java.server.internal.core.CompilationUnit.java
License:Open Source License
/** * @see org.eclipse.jdt.core.ICompilationUnit#findElements(org.eclipse.jdt.core.IJavaElement) *///from w w w. ja va2s . c o m public IJavaElement[] findElements(IJavaElement element) { ArrayList children = new ArrayList(); while (element != null && element.getElementType() != IJavaElement.COMPILATION_UNIT) { children.add(element); element = element.getParent(); } if (element == null) return null; IJavaElement currentElement = this; for (int i = children.size() - 1; i >= 0; i--) { SourceRefElement child = (SourceRefElement) children.get(i); switch (child.getElementType()) { case IJavaElement.PACKAGE_DECLARATION: currentElement = ((ICompilationUnit) currentElement).getPackageDeclaration(child.getElementName()); break; case IJavaElement.IMPORT_CONTAINER: currentElement = ((ICompilationUnit) currentElement).getImportContainer(); break; case IJavaElement.IMPORT_DECLARATION: currentElement = ((IImportContainer) currentElement).getImport(child.getElementName()); break; case IJavaElement.TYPE: switch (currentElement.getElementType()) { case IJavaElement.COMPILATION_UNIT: currentElement = ((ICompilationUnit) currentElement).getType(child.getElementName()); break; case IJavaElement.TYPE: currentElement = ((IType) currentElement).getType(child.getElementName()); break; case IJavaElement.FIELD: case IJavaElement.INITIALIZER: case IJavaElement.METHOD: currentElement = ((IMember) currentElement).getType(child.getElementName(), child.occurrenceCount); break; } break; case IJavaElement.INITIALIZER: currentElement = ((IType) currentElement).getInitializer(child.occurrenceCount); break; case IJavaElement.FIELD: currentElement = ((IType) currentElement).getField(child.getElementName()); break; case IJavaElement.METHOD: currentElement = ((IType) currentElement).getMethod(child.getElementName(), ((IMethod) child).getParameterTypes()); break; } } if (currentElement != null && currentElement.exists()) { return new IJavaElement[] { currentElement }; } else { return null; } }