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
Label titleLabel= createTitleLabel(composite, JavaEditorMessages.getString("SourceAttachmentForm.title")); 
				createLabel(composite, null);
				createLabel(composite, null);
		
				createHeadingLabel(composite, JavaEditorMessages.getString("SourceAttachmentForm.heading")); 
		
				Composite separator= createCompositeSeparator(composite);
				GridData data= new GridData(GridData.FILL_HORIZONTAL);
				data.heightHint= 2;
				separator.setLayoutData(data);
		
				try {
					final IPackageFragmentRoot root= getPackageFragmentRoot(fFile);
					if (root != null) {
						
						IClasspathEntry entry= root.getRawClasspathEntry();	
						
						if (!root.isArchive()) {
							createLabel(composite, JavaEditorMessages.getFormattedString("SourceAttachmentForm.message.noSource", fFile.getElementName())); 
			
						} else if (entry != null && entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {	
							IClasspathContainer container= JavaCore.getClasspathContainer(entry.getPath(), root.getJavaProject());							
							String containerName= container == null ? entry.getPath().toString() : container.getDescription();
							createLabel(composite, JavaEditorMessages.getFormattedString("SourceAttachmentForm.message.containerEntry", containerName));  
	
						} else {
							
							Button button;
		
							IPath path= root.getSourceAttachmentPath();