Bug 130257 - Editor throws a ClassCastException when creating nested Generic types
Summary: Editor throws a ClassCastException when creating nested Generic types
Status: RESOLVED DUPLICATE of bug 128423
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-02 20:39 EST by B. Demmings CLA
Modified: 2006-03-03 04:17 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description B. Demmings CLA 2006-03-02 20:39:15 EST
I am using the Eclipse 3.2M5a version on Windows XP Professional. And ran across a small problem when I mis-typed the generic parameters for a nested static class. 

When creating a nested class, for instance:
/*
 */
public class Test<T,S> {
	
	public static class Randy<T,S> extends Test<T.S>{
		
	}

}

the editor fails to detect the period (".") between the T and S generic "parameters" in "extends Test<T.S>". Instead, a ClassCastException is thrown and prepended to the top of the file in question.

The stack (and shown as an error in the editor on the first line of the file) is:


Internal compiler error java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.lookup.
 TypeVariableBinding at org.eclipse.jdt.internal.compiler.lookup.Scope.findMemberType(Scope.java:
 1005) at org.eclipse.jdt.internal.compiler.lookup.Scope.getMemberType(Scope.java:2160) at org.
 eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.findNextTypeBinding
 (QualifiedTypeReference.java:41) at org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.
 getTypeBinding(QualifiedTypeReference.java:70) at org.eclipse.jdt.internal.compiler.ast.
 TypeReference.resolveType(TypeReference.java:150) at org.eclipse.jdt.internal.compiler.ast.
 TypeReference.resolveTypeArgument(TypeReference.java:173) at org.eclipse.jdt.internal.
 compiler.ast.ParameterizedSingleTypeReference.internalResolveType
 (ParameterizedSingleTypeReference.java:135) at org.eclipse.jdt.internal.compiler.ast.
 ParameterizedSingleTypeReference.resolveType(ParameterizedSingleTypeReference.java:209) at 
 org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:107) 
 at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1092) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:752) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:932) 
 at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectMemberTypes(ClassScope.java:720) 
 at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:
 939) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy
 (CompilationUnitScope.java:279) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.
 completeTypeBindings(LookupEnvironment.java:195) at org.eclipse.jdt.internal.compiler.Compiler.
 beginToCompile(Compiler.java:420) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.
 java:434) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
 (AbstractImageBuilder.java:287) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.
 compile(AbstractImageBuilder.java:229) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.
 build(BatchImageBuilder.java:50) at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll
 (JavaBuilder.java:214) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:
 142) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:593) at org.
 eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.
 BuildManager.basicBuild(BuildManager.java:168) at org.eclipse.core.internal.events.BuildManager.
 basicBuild(BuildManager.java:202) at org.eclipse.core.internal.events.BuildManager$1.run
 (BuildManager.java:231) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.
 eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:234) at org.eclipse.core.
 internal.events.BuildManager.basicBuildLoop(BuildManager.java:253) at org.eclipse.core.internal.
 events.BuildManager.build(BuildManager.java:282) at org.eclipse.core.internal.events.
 AutoBuildJob.doBuild(AutoBuildJob.java:143) at org.eclipse.core.internal.events.AutoBuildJob.run
 (AutoBuildJob.java:204) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

  Please do not hesitate to contact me if you require any more information, or if I have submitted to the wrong group (this is my first time).

    Cheers,
          Brian
Comment 1 Philipe Mulet CLA 2006-03-03 04:17:38 EST

*** This bug has been marked as a duplicate of 128423 ***