Bug 97161

Summary: [1.5][compiler] Internal compiler error java.lang.NullPointerException
Product: [Eclipse Project] JDT Reporter: Carlos Aydos <carlos_aydos>
Component: CoreAssignee: Kent Johnson <kent_johnson>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: carlos_aydos, philippe_mulet
Version: 3.1   
Target Milestone: 3.1 RC2   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Carlos Aydos CLA 2005-05-30 00:27:02 EDT
The code made of the two class files below cause this "Internal Compiler 
Error". The code might not make much sence as is. I striped it down from a 
large project as far as I could. Both files must be within the same package 
("dummy in this case) and cannot be the default package. This happens both in 
M7 and M6. 

M5a does not have this problem.

/* Tester.java */
package dummy;
import static dummy.MyClass.*;
public class Tester {
    MyClass data = null;
    public Tester() {
        foo(data.l);
    }
}


/* MyClass.java */
package dummy;
import java.util.List;
public class MyClass<INT> {
    List l = null;
    public static <INT> void foo(INT... elems) {}
    public static <INT> void foo(List<INT>... elems) {}
}



Here is the whole stack trace:
Internal compiler error
java.lang.NullPointerException
	at 
org.eclipse.jdt.internal.compiler.lookup.Scope.mostSpecificMethodBinding
(Scope.java:3305)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod
(Scope.java:1277)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getImplicitMethod
(Scope.java:1990)
	at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType
(MessageSend.java:313)
	at org.eclipse.jdt.internal.compiler.ast.Expression.resolve
(Expression.java:798)
	at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatemen
ts(AbstractMethodDeclaration.java:415)
	at 
org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.resolveStatements
(ConstructorDeclaration.java:435)
	at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve
(AbstractMethodDeclaration.java:393)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:1063)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:1112)
	at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve
(CompilationUnitDeclaration.java:305)
	at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.java:504)
	at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:329)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:240)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:190)
	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build
(BatchImageBuilder.java:50)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll
(JavaBuilder.java:213)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build
(JavaBuilder.java:136)
	at org.eclipse.core.internal.events.BuildManager$2.run
(BuildManager.java:585)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:1029)
	at org.eclipse.core.runtime.Platform.run(Platform.java:775)
	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:1029)
	at org.eclipse.core.runtime.Platform.run(Platform.java:775)
	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:67)
	Tester.java	test/src/dummy	line 0	30 May 2005 14:26:12
Comment 1 Philipe Mulet CLA 2005-05-30 12:26:21 EDT
Reproduced in 3.1rc1
Comment 2 Kent Johnson CLA 2005-05-30 13:10:27 EDT
For related cases see MethodVerifyTest #043.
Comment 3 Kent Johnson CLA 2005-05-31 13:14:53 EDT
Added MethodVerify test043a.
Comment 4 Olivier Thomann CLA 2005-06-06 17:07:19 EDT
Verified using N20050606-0010 + JDT/Core HEAD
Comment 5 Maxime Daniel CLA 2005-06-10 09:53:50 EDT
Verified for 3.1 RC2 using build I20050610-0010
Comment 6 Frederic Fusier CLA 2005-06-10 10:27:30 EDT
close