Bug 116958

Summary: NPE in ProblemReporter.missingDeprecatedAnnotationForMethod():3923
Product: [Eclipse Project] JDT Reporter: Theodora Yeung <tyeung>
Component: CoreAssignee: JDT-Core-Inbox <jdt-core-inbox>
Status: VERIFIED DUPLICATE QA Contact:
Severity: normal    
Priority: P3    
Version: 3.1.1   
Target Milestone: 3.1.2   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
The source code that caused the reported NPE
none
Proposed Patch to the NPE none

Description Theodora Yeung CLA 2005-11-17 18:52:47 EST
java.lang.NullPointerException
at 
org.eclipse.jdt.internal.compiler.problem.ProblemReporter.missingDeprecatedAnno
tationForMethod(ProblemReporter.java:3923)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor
(SourceTypeBinding.java:1211)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods
(SourceTypeBinding.java:1019)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getMethods
(SourceTypeBinding.java:850)
at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod(Scope.java:1019)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType
(MessageSend.java:298)
at org.eclipse.jdt.internal.compiler.ast.Expression.resolve
(Expression.java:829)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101)
at org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve
(IfStatement.java:225)
at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatemen
ts(AbstractMethodDeclaration.java:436)
at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements
(MethodDeclaration.java:178)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve
(AbstractMethodDeclaration.java:414)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:1072)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:1121)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve
(CompilationUnitDeclaration.java:305)
at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:533)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:339)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:495)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:207)
at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build
(IncrementalImageBuilder.java:114)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas
(JavaBuilder.java:232)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build
(JavaBuilder.java:160)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:593)
at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:1044)
at org.eclipse.core.runtime.Platform.run(Platform.java:783)
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.internal.runtime.InternalPlatform.run
(InternalPlatform.java:1044)
at org.eclipse.core.runtime.Platform.run(Platform.java:783)
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:139)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:200)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)


repro:
1) create a fresh Java Project
2) create a source directory call it "src"
3) drop the attached source under "src" 
4) should result in the NPE.
Comment 1 Theodora Yeung CLA 2005-11-17 18:54:43 EST
Created attachment 30195 [details]
The source code that caused the reported NPE
Comment 2 Theodora Yeung CLA 2005-11-17 18:55:28 EST
Created attachment 30196 [details]
Proposed Patch to the NPE
Comment 3 Olivier Thomann CLA 2005-11-17 19:40:29 EST

*** This bug has been marked as a duplicate of 110593 ***
Comment 4 Philipe Mulet CLA 2005-12-05 09:14:37 EST
Thanks Theodora, your patch is right.

Simpler testcase: 2 files X.java & Y.java, compile X and Y on command line, X being first. Needs to be in 1.5 mode, with diagnostic for missing @Deprecated annotation enabled.

public class X {
	void foo(Y y) {
		y.initialize(null, null, null);
	}
}
public class Y {
	/**
	 * @deprecated
	 */
	public void initialize(Zork z, String s) {
	}

	public void initialize(Zork z, String s, Thread t) {
	}
}
Comment 5 Olivier Thomann CLA 2006-01-10 09:54:40 EST
Verified in M20060109-0800 for 3.1.2