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
createLabel(composite, JavaEditorMessages.getFormattedString("SourceAttachmentForm.message.noSourceInAttachment", fFile.getElementName())); 
								createLabel(composite, JavaEditorMessages.getString("SourceAttachmentForm.message.pressButtonToChange")); 
								createLabel(composite, null);
		
								button= createButton(composite, JavaEditorMessages.getString("SourceAttachmentForm.button.changeAttachedSource")); 
							}
		
							button.addSelectionListener(new SelectionListener() {
								public void widgetSelected(SelectionEvent event) {				
									try {
										SourceAttachmentDialog dialog= new SourceAttachmentDialog(fScrolledComposite.getShell(), root);
										if (dialog.open() == SourceAttachmentDialog.OK)
											verifyInput(getEditorInput());
		
									} catch (CoreException e) {
										String title= JavaEditorMessages.getString("SourceAttachmentForm.error.title"); 
										String message= JavaEditorMessages.getString("SourceAttachmentForm.error.message"); 
										ExceptionHandler.handle(e, fScrolledComposite.getShell(), title, message);				
									}
								}
		
								public void widgetDefaultSelected(SelectionEvent e) {}
							});
		
						}
					}
				} catch (JavaModelException e) {
					String title= JavaEditorMessages.getString("SourceAttachmentForm.error.title"); 
					String message= JavaEditorMessages.getString("SourceAttachmentForm.error.message"); 
					ExceptionHandler.handle(e, fScrolledComposite.getShell(), title, message);