Bug 70606 - [1.5] ClassCastException compiling DefaultTreeCellEditor
Summary: [1.5] ClassCastException compiling DefaultTreeCellEditor
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.1 M1   Edit
Assignee: Philipe Mulet CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-22 07:06 EDT by Philipe Mulet CLA
Modified: 2005-01-11 11:01 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipe Mulet CLA 2004-07-22 07:06:08 EDT
When compiling the source for this swing class, the following failure occurs:

Internal compiler error
java.lang.ClassCastException: 
org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding

	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectCycle
(ClassScope.java:873)

	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectCycle
(ClassScope.java:790)

	at 
org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internal
ResolveType(ParameterizedSingleTypeReference.java:122)

	at 
org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.resolveT
ype(ParameterizedSingleTypeReference.java:183)

	at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType
(TypeReference.java:100)

	at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype
(ClassScope.java:918)

	at 
org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperInterfaces
(ClassScope.java:681)

	at 
org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy
(ClassScope.java:740)

	at 
org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectMemberTypes
(ClassScope.java:609)

	at 
org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy
(ClassScope.java:745)

	at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierar
chy(CompilationUnitScope.java:236)

	at 
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings
(LookupEnvironment.java:183)

	at 
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings
(LookupEnvironment.java:212)

	at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:227)

	at 
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType
(LookupEnvironment.java:116)

	at 
org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage
(PackageBinding.java:169)

	at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findOnDemandImpor
t(CompilationUnitScope.java:355)

	at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleTypeImp
ort(CompilationUnitScope.java:413)

	at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.resolveSingleType
Import(CompilationUnitScope.java:536)

	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage
(Scope.java:1922)

	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType
(Scope.java:1727)

	at 
org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internal
ResolveType(ParameterizedSingleTypeReference.java:86)

	at 
org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.resolveT
ype(ParameterizedSingleTypeReference.java:179)

	at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor
(SourceTypeBinding.java:889)

	at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods
(SourceTypeBinding.java:715)

	at 
org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.unResolvedMethods
(ReferenceBinding.java:691)

	at 
org.eclipse.jdt.internal.compiler.lookup.MethodVerifier.computeInheritedMethods
(MethodVerifier.java:338)

	at org.eclipse.jdt.internal.compiler.lookup.MethodVerifier.verify
(MethodVerifier.java:532)

	at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.verifyMethods
(SourceTypeBinding.java:1094)

	at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.verifyMethods
(SourceTypeBinding.java:1097)

	at 
org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.verifyMethods
(CompilationUnitScope.java:608)

	at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.java:505)

	at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:335)

	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:209)

	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:182)

	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build
(BatchImageBuilder.java:49)

	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll
(JavaBuilder.java:212)

	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build
(JavaBuilder.java:135)

	at org.eclipse.core.internal.events.BuildManager$2.run
(BuildManager.java:564)

	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:615)

	at org.eclipse.core.runtime.Platform.run(Platform.java:747)

	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:157)

	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:249)

	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:202)

	at org.eclipse.core.internal.events.BuildManager$1.run
(BuildManager.java:229)

	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:615)

	at org.eclipse.core.runtime.Platform.run(Platform.java:747)

	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:232)

	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop
(BuildManager.java:268)

	at org.eclipse.core.internal.events.BuildManager.build
(BuildManager.java:297)

	at org.eclipse.core.internal.resources.Workspace.build
(Workspace.java:198)

	at org.eclipse.ui.actions.GlobalBuildAction$1.run
(GlobalBuildAction.java:182)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
Comment 1 Philipe Mulet CLA 2004-07-22 07:14:43 EDT
Added protection to ClassScope:

if ((superType.tagBits & BeginHierarchyCheck) == 0)
  // ensure if this is a source superclass that it has already been checked
  if (superType instanceof SourceTypeBinding)
    ((SourceTypeBinding) superType).scope.connectTypeHierarchyWithoutMembers();

Fixed

Kent - pls add a regression test for this.
Comment 2 Philipe Mulet CLA 2004-07-22 07:14:57 EDT
Fixed
Comment 3 Kent Johnson CLA 2004-07-22 09:58:06 EDT
What Swing class?
Comment 4 Philipe Mulet CLA 2004-07-22 10:21:25 EDT
Was implicit from the title: DefaultTreeCellEditor