/** * Searches for element. * * @param unit Unit to search in. * @param delta Delta. * @return Found element. */ protected ICElementDelta findElement(ICElement unit, ICElementDelta delta) { if (delta == null || unit == null) { return null; } final ICElement element = delta.getElement(); if (unit.equals(element)) { if (isPossibleStructuralChange(delta)) { return delta; } return null; } if (element.getElementType() > ICElement.C_UNIT) { return null; } final ICElementDelta[] children = delta.getAffectedChildren(); if (children == null || children.length == 0) { return null; } for (ICElementDelta element2 : children) { final ICElementDelta d = findElement(unit, element2); if (d != null) { return d; } } return null; }
private String getMethodName(IMethod method) { StringBuffer name = new StringBuffer(); String methodName = method.getElementName(); ICElement parent = method.getParent(); while (parent != null && (parent.getElementType() == ICElement.C_NAMESPACE || parent.getElementType() == ICElement.C_CLASS || parent.getElementType() == ICElement.C_STRUCT || parent.getElementType() == ICElement.C_UNION)) { name.append(parent.getElementName()).append("::"); // $NON-NLS-1$ parent = parent.getParent(); } name.append(methodName); appendParameters(name, method); return name.toString(); }
private void processDelta(ICElementDelta delta, Set<IResource> handled) throws CoreException { final int flags = delta.getFlags(); final boolean hasChildren = (flags & ICElementDelta.F_CHILDREN) != 0; if (hasChildren) { for (ICElementDelta child : delta.getAffectedChildren()) { processDelta(child, handled); } } final ICElement element = delta.getElement(); switch (element.getElementType()) { case ICElement.C_UNIT: ITranslationUnit tu = (ITranslationUnit) element; if (!tu.isWorkingCopy()) { handled.add(element.getResource()); switch (delta.getKind()) { case ICElementDelta.CHANGED: if ((flags & ICElementDelta.F_CONTENT) != 0) { fChanged.add(tu); } break; case ICElementDelta.ADDED: fChanged.add(tu); break; case ICElementDelta.REMOVED: fRemoved.add(tu); break; } } break; case ICElement.C_CCONTAINER: ICContainer folder = (ICContainer) element; if (delta.getKind() == ICElementDelta.ADDED) { handled.add(element.getResource()); collectSources(folder, fChanged); } break; } if (!sSuppressPotentialTUs) { // Always look at the children of the resource delta (bug 343538) final IResourceDelta[] rDeltas = delta.getResourceDeltas(); processResourceDelta(rDeltas, element, handled); } }
public int category(Object obj) { if (obj instanceof ICElement) { ICElement elem = (ICElement) obj; switch (elem.getElementType()) { case ICElement.C_MACRO: return 1; case ICElement.C_INCLUDE: return 2; case ICElement.C_CLASS: return 3; case ICElement.C_STRUCT: return 4; case ICElement.C_UNION: return 5; case ICElement.C_FIELD: return 6; case ICElement.C_FUNCTION: return 7; } } return 0; }