Bug 18039 Opening .class file fails
- build 20020528 - I have loaded a number of classes from the cvs repository at org.eclipse.dev (HEAD stream). Among them are org.eclipse.core.runtime and org.eclipse.core.boot - Search->File - fill in "findResource(" in the 'Containing Text' field - leave everything else as default (searching the workspace and for file name patterns '*') - do the search - I get 2 hits: DelegatingURLClassLoader.class (org.eclipse.core.boot/bin/org/eclipse/core/internal/boot) and DelegatingURLClassLoader.java (org.eclipse.core.boot/src/org/eclipse/core/internal/boot) - 10 matches - try to open the first file in the search result (which doesn't really make sense since it is a .class file) - you get the error: Could not open the editor Reason: bin/org/eclipse/core/internal/boot does not exist - But it does exist and there is a DelegatingURLClassLoader.class there. - Now try to redo the search - Search->File - in the 'Containing Text' field you find "findResource(_x0008__x0001_u_x000C__x0001_6_x0001_7" (i.e added garbage to the end of my search string).
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ClassFileEditor.java
* Returns the package fragment root of this file.
			 */
			private IPackageFragmentRoot getPackageFragmentRoot(IClassFile file) {
		
				IJavaElement element= file.getParent();
				while (element != null && element.getElementType() != IJavaElement.PACKAGE_FRAGMENT_ROOT)
					element= element.getParent();
		
				return (IPackageFragmentRoot) element;		
			}
			
			/**
			 * Creates the control of the source attachment form.
			 */
			public Control createControl(Composite parent) {
		
				Display display= parent.getDisplay();
				fBackgroundColor= display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
				fForegroundColor= display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
				fSeparatorColor= new Color(display, 152, 170, 203);
		
				JFaceResources.getFontRegistry().addListener(this);
		
				fScrolledComposite= new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
				fScrolledComposite.setAlwaysShowScrollBars(false);
				fScrolledComposite.setExpandHorizontal(true);
				fScrolledComposite.setExpandVertical(true);
				fScrolledComposite.addDisposeListener(new DisposeListener() {
					public void widgetDisposed(DisposeEvent e) {
						JFaceResources.getFontRegistry().removeListener(SourceAttachmentForm.this);