Bug 239167 - [1.5][compiler] Internal compiler error java.lang.ClassCastException
Summary: [1.5][compiler] Internal compiler error java.lang.ClassCastException
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P5 normal (vote)
Target Milestone: 4.15 M3   Edit
Assignee: Stephan Herrmann CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2008-07-01 17:23 EDT by Konstantin CLA
Modified: 2020-01-12 16:14 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin CLA 2008-07-01 17:23:16 EDT
Build ID: I20080617-2000

Internal compiler error java.lang.ClassCastException: 
 org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding cannot be cast to 
 org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding at 
 org.eclipse.jdt.internal.compiler.lookup.Scope.findMemberType(Scope.java:977) at 
 org.eclipse.jdt.internal.compiler.lookup.Scope.getMemberType(Scope.java:2083) at 
 org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.findNextTypeBinding(QualifiedTypeRe
 ference.java:44) at 
 org.eclipse.jdt.internal.compiler.ast.ParameterizedQualifiedTypeReference.internalResolveType(Par
 ameterizedQualifiedTypeReference.java:162) at 
 org.eclipse.jdt.internal.compiler.ast.ParameterizedQualifiedTypeReference.resolveType(Parameteri
 zedQualifiedTypeReference.java:339) at 
 org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveTypeArgument(TypeReference.java:
 209) at 
 org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internalResolveType(Para
 meterizedSingleTypeReference.java:176) at 
 org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.resolveType(Parameterized
 SingleTypeReference.java:278) at 
 org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:179) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1167) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:867) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchyWithoutMembers(ClassS
 cope.java:1047) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectHierarchyCycle(ClassScope.java:1153) 
 at org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectHierarchyCycle(ClassScope.java:
 1067) at 
 org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internalResolveType(Para
 meterizedSingleTypeReference.java:189) at 
 org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.resolveType(Parameterized
 SingleTypeReference.java:278) at 
 org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType(TypeReference.java:179) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype(ClassScope.java:1167) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:867) at 
 org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:1010) 
 at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectMemberTypes(ClassScope.java:835) 
 at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:
 1018) at 
 org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(Compilation
 UnitScope.java:290) at 
 org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnviro
 nment.java:185) at 
 org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:719) at 
 org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:376) at 
 org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:420) at 
 org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:
 363) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:
 178) at 
 org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:
 300) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:60) 
 at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:254) at 
 org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:173) at 
 org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) at 
 org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at 
 org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) at 
 org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) at 
 org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) at 
 org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at 
 org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) at 
 org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) at 
 org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) at 
 org.eclipse.core.internal.resources.Workspace.build(Workspace.java:330) at 
 org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:182) at 
 org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

More information:
Same code builds without any problems under Eclipse Build id: M20070212-1330
Comment 1 Remy Suen CLA 2008-07-01 20:06:45 EDT
(In reply to comment #0)
> More information:
> Same code builds without any problems under Eclipse Build id: M20070212-1330

Can you provide a snippet of this code?
Comment 2 Philipe Mulet CLA 2008-07-02 04:25:22 EDT
Steps to reproduce are indeed needed to react.
Comment 3 Konstantin CLA 2008-07-02 21:35:34 EDT
Unfortunately I can not release my company's proprietary code and I can not make a snippet because of lack of time.
Sorry about it.
I could test your patch if you have one.
Comment 4 Philipe Mulet CLA 2008-07-03 06:01:10 EDT
In the absence of steps to reproduce, you may wait a long time for a patch...
Comment 5 Kent Johnson CLA 2008-07-08 13:32:36 EDT
if (itsInterfaces == null) {
	ReferenceBinding sourceType = currentType.isParameterizedType()
		? ((ParameterizedTypeBinding) currentType).genericType()
		: currentType;
	if (sourceType.isHierarchyBeingConnected())
		return null;
	((SourceTypeBinding) sourceType).scope.connectTypeHierarchy();
	itsInterfaces = currentType.superInterfaces();
}


Should we change
  ReferenceBinding sourceType = currentType.isParameterizedType()
to
  ReferenceBinding sourceType = currentType instanceof ParameterizedTypeBinding
or
  currentType.isParameterizedType() || currentType.isRawType()
Comment 6 Philipe Mulet CLA 2008-07-09 05:20:28 EDT
Something along these lines could do the trick; but I would still like to be able to reproduce it to be sure.
Comment 7 Philipe Mulet CLA 2008-11-10 06:55:36 EST
5 months with no testcase, Konstantin, did you still encounter this issue ?
Comment 8 Eclipse Genie CLA 2020-01-12 14:34:07 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.