List of usage examples for org.eclipse.jdt.core IJavaElementDelta F_SUPER_TYPES
int F_SUPER_TYPES
To view the source code for org.eclipse.jdt.core IJavaElementDelta F_SUPER_TYPES.
Click Source Link
From source file:com.codenvy.ide.ext.java.server.internal.core.JavaElementDeltaBuilder.java
License:Open Source License
/** * The elements are equivalent, but might have content changes. *///from w w w . j av a 2 s. c o m private void findContentChange(JavaElementInfo oldInfo, JavaElementInfo newInfo, IJavaElement newElement) { if (oldInfo instanceof MemberElementInfo && newInfo instanceof MemberElementInfo) { if (((MemberElementInfo) oldInfo).getModifiers() != ((MemberElementInfo) newInfo).getModifiers()) { this.delta.changed(newElement, IJavaElementDelta.F_MODIFIERS); } if (oldInfo instanceof AnnotatableInfo && newInfo instanceof AnnotatableInfo) { findAnnotationChanges(((AnnotatableInfo) oldInfo).annotations, ((AnnotatableInfo) newInfo).annotations, newElement); } if (oldInfo instanceof SourceMethodElementInfo && newInfo instanceof SourceMethodElementInfo) { SourceMethodElementInfo oldSourceMethodInfo = (SourceMethodElementInfo) oldInfo; SourceMethodElementInfo newSourceMethodInfo = (SourceMethodElementInfo) newInfo; if (!CharOperation.equals(oldSourceMethodInfo.getReturnTypeName(), newSourceMethodInfo.getReturnTypeName()) || !CharOperation.equals(oldSourceMethodInfo.getTypeParameterNames(), newSourceMethodInfo.getTypeParameterNames()) || !equals(oldSourceMethodInfo.getTypeParameterBounds(), newSourceMethodInfo.getTypeParameterBounds())) { this.delta.changed(newElement, IJavaElementDelta.F_CONTENT); } } else if (oldInfo instanceof SourceFieldElementInfo && newInfo instanceof SourceFieldElementInfo) { if (!CharOperation.equals(((SourceFieldElementInfo) oldInfo).getTypeName(), ((SourceFieldElementInfo) newInfo).getTypeName())) { this.delta.changed(newElement, IJavaElementDelta.F_CONTENT); } } else if (oldInfo instanceof SourceTypeElementInfo && newInfo instanceof SourceTypeElementInfo) { SourceTypeElementInfo oldSourceTypeInfo = (SourceTypeElementInfo) oldInfo; SourceTypeElementInfo newSourceTypeInfo = (SourceTypeElementInfo) newInfo; if (!CharOperation.equals(oldSourceTypeInfo.getSuperclassName(), newSourceTypeInfo.getSuperclassName()) || !CharOperation.equals(oldSourceTypeInfo.getInterfaceNames(), newSourceTypeInfo.getInterfaceNames())) { this.delta.changed(newElement, IJavaElementDelta.F_SUPER_TYPES); } if (!CharOperation.equals(oldSourceTypeInfo.getTypeParameterNames(), newSourceTypeInfo.getTypeParameterNames()) || !equals(oldSourceTypeInfo.getTypeParameterBounds(), newSourceTypeInfo.getTypeParameterBounds())) { this.delta.changed(newElement, IJavaElementDelta.F_CONTENT); } HashMap oldTypeCategories = oldSourceTypeInfo.categories; HashMap newTypeCategories = newSourceTypeInfo.categories; if (oldTypeCategories != null) { // take the union of old and new categories elements (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=125675) Set elements; if (newTypeCategories != null) { elements = new HashSet(oldTypeCategories.keySet()); elements.addAll(newTypeCategories.keySet()); } else elements = oldTypeCategories.keySet(); Iterator iterator = elements.iterator(); while (iterator.hasNext()) { IJavaElement element = (IJavaElement) iterator.next(); String[] oldCategories = (String[]) oldTypeCategories.get(element); String[] newCategories = newTypeCategories == null ? null : (String[]) newTypeCategories.get(element); if (!Util.equalArraysOrNull(oldCategories, newCategories)) { this.delta.changed(element, IJavaElementDelta.F_CATEGORIES); } } } else if (newTypeCategories != null) { Iterator elements = newTypeCategories.keySet().iterator(); while (elements.hasNext()) { IJavaElement element = (IJavaElement) elements.next(); this.delta.changed(element, IJavaElementDelta.F_CATEGORIES); // all categories for this element were removed } } } } }
From source file:com.codenvy.ide.ext.java.server.internal.core.SimpleDelta.java
License:Open Source License
public void superTypes() { changed(IJavaElementDelta.F_SUPER_TYPES); }
From source file:com.codenvy.ide.ext.java.server.internal.core.SimpleDelta.java
License:Open Source License
protected boolean toDebugString(StringBuffer buffer, int flags) { boolean prev = false; if ((flags & IJavaElementDelta.F_MODIFIERS) != 0) { if (prev) buffer.append(" | "); //$NON-NLS-1$ buffer.append("MODIFIERS CHANGED"); //$NON-NLS-1$ prev = true;/* w w w . j a v a 2 s. c om*/ } if ((flags & IJavaElementDelta.F_SUPER_TYPES) != 0) { if (prev) buffer.append(" | "); //$NON-NLS-1$ buffer.append("SUPER TYPES CHANGED"); //$NON-NLS-1$ prev = true; } return prev; }
From source file:org.eclipse.jst.jsp.core.internal.taglib.TaglibHelperManager.java
License:Open Source License
/** * Update classpath for appropriate loader. * @see org.eclipse.jdt.core.IElementChangedListener#elementChanged(org.eclipse.jdt.core.ElementChangedEvent) *///from w w w . j av a 2 s . co m public void elementChanged(ElementChangedEvent event) { // handle classpath changes IJavaElementDelta delta = event.getDelta(); if (delta.getElement().getElementType() == IJavaElement.JAVA_MODEL) { IJavaElementDelta[] changed = delta.getChangedChildren(); for (int i = 0; i < changed.length; i++) { if ((changed[i].getFlags() & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0 || (changed[i].getFlags() & IJavaElementDelta.F_REORDER) != 0 || (changed[i].getFlags() & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0 || (changed[i].getFlags() & IJavaElementDelta.F_PRIMARY_RESOURCE) != 0) { IJavaElement proj = changed[i].getElement(); handleClasspathChange(changed, i, proj); } } } else if (delta.getElement().getElementType() == IJavaElement.COMPILATION_UNIT) { IJavaElementDelta[] changed = delta.getChangedChildren(); for (int i = 0; i < changed.length; i++) { if ((changed[i].getFlags() & IJavaElementDelta.F_SUPER_TYPES) != 0) { IJavaElement element = changed[i].getElement(); handleSuperTypeChange(element); } } } }
From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.RoleBindingChangedListener.java
License:Open Source License
private void updateCallinMarkers(IJavaElementDelta[] deltas, Set<ICompilationUnit> invalidatedCUs) { if (deltas != null) { // if (deltas.length > 0) // _CallinMarkerCreator2.reset(); Set<IOTType> invalidatedRoles = new HashSet<IOTType>(); Set<IMember> addedBaseMembers = new HashSet<IMember>(); ICompilationUnit curCU = null;/*ww w. ja v a 2 s . co m*/ for (int idx = 0; idx < deltas.length; idx++) { IJavaElementDelta curDelta = deltas[idx]; final IJavaElement curElem = curDelta.getElement(); // check for nested deltas if (curElem instanceof IParent) { // visit child's deltas recursively updateCallinMarkers(curDelta.getAffectedChildren(), invalidatedCUs); } // addition/removal of role types: if (curElem instanceof IType && (curDelta.getKind() == IJavaElementDelta.REMOVED || curDelta.getKind() == IJavaElementDelta.ADDED || curDelta.getFlags() == IJavaElementDelta.F_SUPER_TYPES)) { IType roleType = (IType) curElem; IOTType otType = OTModelManager.getOTElement(roleType); if (otType != null && otType.isRole()) { if (invalidatedRoles.add(otType)) // only if not already handled invalidateRole((IRoleType) otType, roleType); } } // changes of base methods & fields: if (curElem instanceof IMethod || curElem instanceof IField) { handleDeltaKind(curDelta, (IMember) curElem, addedBaseMembers); curCU = ((IMember) curElem).getCompilationUnit(); } // any changes in method mappings: if (curElem instanceof IMethodMapping) { // changes in method mappings invalidate the current role's baseclass: IJavaElement parent = curElem.getParent(); if (parent instanceof IRoleType) { IRoleType roleParent = (IRoleType) parent; if (invalidatedRoles.add(roleParent)) // only if not already handled invalidateRole(roleParent, (IType) roleParent.getCorrespondingJavaElement()); } } } if (!addedBaseMembers.isEmpty()) { if (addedBaseMembers.size() < 3 && !invalidatedCUs.contains(curCU)) for (IMember baseMember : addedBaseMembers) baseMemberAdded(baseMember); else invalidatedCUs.add(curCU); } } }