Bug 97161 - [1.5][compiler] Internal compiler error java.lang.NullPointerException
Summary: [1.5][compiler] Internal compiler error java.lang.NullPointerException
Status: CLOSED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.1   Edit
Hardware: PC Windows XP
: P3 critical (vote)
Target Milestone: 3.1 RC2   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-30 00:27 EDT by Carlos Aydos CLA
Modified: 2005-06-10 10:27 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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