Bug 41601 CCE on opening classfile editor
20030813+0815 export i tried to open editor for IPackageFragment java.lang.ClassCastException: org/eclipse/jdt/internal/ui/javaeditor/InternalClassFileEditorInput incompatible with org/eclipse/ui/part/FileEditorInput at java.lang.Throwable.<init>(Throwable.java) at java.lang.Throwable.<init>(Throwable.java) at java.lang.ClassCastException.<init>(ClassCastException.java:56) at org.eclipse.ui.editors.text.FileDocumentProvider.isSynchronized (FileDocumentProvider.java:719) at org.eclipse.ui.texteditor.AbstractTextEditor.sanityCheckState (AbstractTextEditor.java:3011) at org.eclipse.ui.texteditor.StatusTextEditor.sanityCheckState (StatusTextEditor.java:182) at org.eclipse.ui.texteditor.AbstractTextEditor.safelySanityCheckState (AbstractTextEditor.java:2990) at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.handleActivation (AbstractTextEditor.java) at org.eclipse.ui.texteditor.AbstractTextEditor$ActivationListener.partActivated (AbstractTextEditor.java:732) at org.eclipse.ui.internal.PartListenerList$1.run(PartListenerList.java) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java) at org.eclipse.core.runtime.Platform.run(Platform.java) at org.eclipse.ui.internal.PartListenerList.firePartActivated (PartListenerList.java:47) at org.eclipse.ui.internal.WWinPartService$1.partActivated (WWinPartService.java:27) at org.eclipse.ui.internal.PartListenerList2$1.run (PartListenerList2.java:45) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java) at org.eclipse.core.runtime.Platform.run(Platform.java) at org.eclipse.ui.internal.PartListenerList2.firePartActivated (PartListenerList2.java) at org.eclipse.ui.internal.WorkbenchPage.firePartActivated (WorkbenchPage.java) at org.eclipse.ui.internal.WorkbenchPage.setActivePart (WorkbenchPage.java) at org.eclipse.ui.internal.WorkbenchPage.requestActivation (WorkbenchPage.java:2232) at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:334) at org.eclipse.ui.internal.EditorPane.requestActivation (EditorPane.java:136) at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:314) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java) at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java) at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:1336) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java) at org.eclipse.swt.widgets.Control.windowProc(Control.java) at org.eclipse.swt.widgets.Display.windowProc(Display.java) at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1676) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1659) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:858) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) at java.lang.reflect.AccessibleObject.invokeL(AccessibleObject.java:207) at java.lang.reflect.Method.invoke(Method.java:271) at org.eclipse.core.launcher.Main.basicRun(Main.java:291) at org.eclipse.core.launcher.Main.run(Main.java:747) at org.eclipse.core.launcher.Main.main(Main.java:583)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ClassFileDocumentProvider.java
void inputChanged(IClassFileEditorInput input);	
	}
		
	/**
	 * Synchronizes the document with external resource changes.
	 */
	protected class ClassFileSynchronizer implements IElementChangedListener {
		
		protected IClassFileEditorInput fInput;
		protected IPackageFragmentRoot fPackageFragmentRoot;
		
		/**
		 * Default constructor.
		 */
		public ClassFileSynchronizer(IClassFileEditorInput input) {
			
			fInput= input;
			
			IJavaElement parent= fInput.getClassFile().getParent();
			while (parent != null && !(parent instanceof IPackageFragmentRoot)) {
				parent= parent.getParent();
			}
			fPackageFragmentRoot= (IPackageFragmentRoot) parent;
		}
		
		/**
		 * Installs the synchronizer.