Bug 51851 [navigation] Outliner is not updated correctly
build 20040212 1) create the following class public class X { int aaa } 2) place your cursor just after 'aaa' 3) type "bbb,ccc" the outliner contain -------------- X +-ccc : int -------------- 'aaa' and 'bbb' are missing (sometimes the problem does not occur) Java delta seems correct FIRING POST_CHANGE Delta [Thread [org.eclipse.jdt.internal.ui.text.JavaReconciler,1,main]]: <NONE> FIRING POST_RECONCILE Delta [Thread [org.eclipse.jdt.internal.ui.text.JavaReconciler,1,main]]: [Working copy] X.java[*]: {CHILDREN | FINE GRAINED} X[*]: {CHILDREN | FINE GRAINED} bbb[+]: {} ccc[+]: {}
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaOutlinePage.java
if ((status & IJavaElementDelta.CHANGED) != 0 &&							
								(affectedDelta.getFlags() & IJavaElementDelta.F_MODIFIERS) != 0 &&
								!filtered(parent, affectedElement))
							{
								additions.addElement(affectedDelta);
							}
							continue;
						}
						item= children[j];
												    
						if ((status & IJavaElementDelta.REMOVED) != 0) {
							deletions.addElement(item);
							doUpdateParent= doUpdateParent || mustUpdateParent(affectedDelta, affectedElement);
												    
						} else if ((status & IJavaElementDelta.CHANGED) != 0) {
							int change= affectedDelta.getFlags();
							doUpdateParent= doUpdateParent || mustUpdateParent(affectedDelta, affectedElement);
							
							if ((change & IJavaElementDelta.F_MODIFIERS) != 0) {
								if (filtered(parent, affectedElement))
									deletions.addElement(item);
								else
									updateItem(item, affectedElement);
							}
							
							if ((change & IJavaElementDelta.F_CONTENT) != 0)
								updateItem(item, affectedElement);
								
							if ((change & IJavaElementDelta.F_CHILDREN) != 0)
								update(item, affectedDelta);