List of usage examples for org.eclipse.jdt.internal.core JavaElement getChildren
public IJavaElement[] getChildren() throws JavaModelException
From source file:edu.buffalo.cse.green.editor.model.commands.AddJavaElementCommand.java
License:Open Source License
private ArrayList getAncestors(JavaElement t) throws JavaModelException { IJavaElement[] children = t.getChildren(); int size = children.length; ArrayList list = new ArrayList(size); for (int i = 0; i < size; ++i) { JavaElement elt = (JavaElement) children[i]; if (elt.getElementType() == IJavaElement.TYPE) { list.add(elt);//from w w w . ja va2 s. c o m list.addAll(getAncestors(elt)); } } return list; }
From source file:org.eclipse.contribution.xref.internal.ui.providers.XReferenceContentProvider.java
License:Open Source License
private boolean addChildren(TreeParent parent, JavaElement je, IXReferenceAdapter xreferenceAdapter) { boolean hasChildren = false; try {//from ww w.j av a 2 s.c o m IJavaElement[] extra = xreferenceAdapter.getExtraChildren(je); List l = new ArrayList(); IJavaElement[] children = je.getChildren(); for (int i = 0; i < children.length; i++) { l.add(children[i]); } if (extra != null) { for (int i = 0; i < extra.length; i++) { l.add(extra[i]); } } children = (IJavaElement[]) l.toArray(new IJavaElement[] {}); for (int i = 0; i < children.length; i++) { IJavaElement child = children[i]; IAdaptable a = child; IXReferenceAdapter xrefAdapterChild = null; if (a != null) { xrefAdapterChild = (IXReferenceAdapter) a.getAdapter(IXReferenceAdapter.class); } if (xrefAdapterChild != null) { TreeParent childNode = new TreeParent(xrefAdapterChild.toString()); childNode.setData(xrefAdapterChild.getReferenceSource()); Collection xrc = xrefAdapterChild.getXReferences(); if (!xrc.isEmpty()) { parent.addChild(childNode); addXReferencesToTree(childNode, xrc); JavaElement subJe = (JavaElement) child; hasChildren = true; if ((xreferenceAdapter.getExtraChildren(subJe) != null && xreferenceAdapter.getExtraChildren(subJe).length > 0) || subJe.getChildren().length > 0) { addChildren(childNode, subJe, xreferenceAdapter); } } else { JavaElement subJe = (JavaElement) child; if (addChildren(childNode, subJe, xreferenceAdapter)) { parent.addChild(childNode); hasChildren = true; } } } } } catch (JavaModelException e) { // don't care about this exception } return hasChildren; }