Bug 71079

Summary: [1.5] ClassCastException resolving Javadoc
Product: [Eclipse Project] JDT Reporter: Philipe Mulet <philippe_mulet>
Component: CoreAssignee: Frederic Fusier <frederic_fusier>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.0   
Target Milestone: 3.1 M2   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Philipe Mulet CLA 2004-07-29 10:21:33 EDT
JDTCore v_501

!ENTRY org.eclipse.core.runtime 4 2 Jul 29, 2004 16:00:29.338
!MESSAGE Problems occurred when invoking code from plug-
in: "org.eclipse.core.runtime".
!STACK 0
java.lang.ClassCastException: 
org.eclipse.jdt.internal.compiler.ast.AnnotationTypeMemberDeclaration
	at org.eclipse.jdt.internal.compiler.ast.Javadoc.resolve
(Javadoc.java:211)
	at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveJavadoc
(AbstractMethodDeclaration.java:383)
	at 
org.eclipse.jdt.internal.compiler.ast.AnnotationTypeMemberDeclaration.resolve
(AnnotationTypeMemberDeclaration.java:119)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:938)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:987)
	at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve
(CompilationUnitDeclaration.java:280)
	at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.java:508)
	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 Frederic Fusier CLA 2004-07-29 13:37:23 EDT
Fixed and released in HEAD.

An new subclass of AbstractMethodDeclaration exists now in jdt.core added for
1.5 purposes: AnnotationMemberDeclaration. So, isClinit() and isConstructor()
are not enough now to know whether an AbstractMethodDeclaration is a
MethodDeclaration or not
=> add isMethod() to be able to know it...

[jdt-core-internal]
Add isMethod() to AbstractMethodDeclaration and MethodDeclaration in the same
way as for isClinit() and isConstructor().
Modify Javadoc.resolve(MethodScope) to use this new method and avoid
ClassCastException.
Test case added in Compliance_1_5
Comment 2 David Audel CLA 2004-09-23 12:34:57 EDT
Verified in I200409230100.