Bug 18510 ClassFileEditor leaks
In the 0530 build the leaks with the .java editor appear to have been fixed. The scenario I was using before: Create a .java file, close it. In memory profiler do a global GC and mark objects Open the same .java file, close it Does not leave tons of objects around anymore. However, if you import a binary plugin (I did this by importing all plugins) and open the .class file there is a significant leak. To recreate: Select a .class file (I used junit.awtui.AboutDialog.cass) from the junit.jar Open/Close it. Do a global GC, snapshot Open/Close the .class editor Do a global GC
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ClassFileEditor.java
String title= JavaEditorMessages.getString("ClassFileEditor.error.title"); 
			String message= JavaEditorMessages.getString("ClassFileEditor.error.message"); 
			ExceptionHandler.handle(e, fParent.getShell(), title, message);
		}
	}
	/**
	 * Returns the package fragment root corresponding to the class file.
	 */
	private static IPackageFragmentRoot getPackageFragmentRoot(IClassFile file) {
		IJavaElement element= file.getParent();
		while (element != null && element.getElementType() != IJavaElement.PACKAGE_FRAGMENT_ROOT)
			element= element.getParent();
		return (IPackageFragmentRoot) element;		
	}
	private JavaModelException probeInputForSource(IEditorInput input) {
		if (input == null)
			return null;
		IClassFileEditorInput classFileEditorInput= (IClassFileEditorInput) input;
		IClassFile file= classFileEditorInput.getClassFile();
			
		try {
			file.getSourceRange();
		} catch (JavaModelException e) {
			return e;			
		}
		return null;
	}
	/**
	 * Checks if the class file input has no source attached. If so, a source attachment form is shown.
	 */