Bug 77273

Summary: [model] ArrayIndexOutOfBoundsException when creating type hierarchy with duplicate types
Product: [Eclipse Project] JDT Reporter: Markus Keller <markus.kell.r>
Component: CoreAssignee: Jerome Lanneluc <jerome_lanneluc>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.0   
Target Milestone: 3.1 M3   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
This patch seems to fix the problem... none

Description Markus Keller CLA 2004-10-29 07:27:53 EDT
I200410260800 (also in M2), new workspace

- create new Java project named "J"
- create p/C.java:
package p;
class C {
}

class CC extends C {
	void method() {
	}
}

- select C.java in Package Explorer and do Copy-Paste
- enter "D" as new name
- open D.java


Error 2004-10-29 13:12:00.629 Problems occurred when invoking code from plug-in:
"org.eclipse.core.runtime".
java.lang.ArrayIndexOutOfBoundsException: 3
at org.eclipse.jdt.internal.core.NameLookup.<init>(NameLookup.java:160)
at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2333)
at
org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:56)
at
org.eclipse.jdt.internal.core.JavaProject.newSearchableNameEnvironment(JavaProject.java:2351)
at
org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.<init>(HierarchyBuilder.java:86)
at
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.<init>(IndexBasedHierarchyBuilder.java:98)
at
org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:316)
at
org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1243)
at
org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700)
at
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:739)
at
org.eclipse.jdt.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:651)
at
org.eclipse.jdt.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:603)
at
org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy(SuperTypeHierarchyCache.java:88)
at
org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy(SuperTypeHierarchyCache.java:78)
at
org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.getOverrideIndicators(OverrideIndicatorLabelDecorator.java:160)
at
org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.computeAdornmentFlags(OverrideIndicatorLabelDecorator.java:128)
at
org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.decorate(OverrideIndicatorLabelDecorator.java:239)
at
org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:145)
at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:65)
at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:259)
at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:244)
at
org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:303)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
Comment 1 Frederic Fusier CLA 2004-11-02 04:48:39 EST
Created attachment 15554 [details]
This patch seems to fix the problem...
Comment 2 Jerome Lanneluc CLA 2004-11-02 06:55:05 EST
Released patch and added regression test
NameLookupTests2#testDuplicateTypesInWorkingCopies
Comment 3 Frederic Fusier CLA 2004-11-04 07:22:09 EST
Verified for 3.1 M3 with build I200411040010 + jdt.core HEAD