Community
Participate
Working Groups
When compiling awt Container, the following failure occurs: !MESSAGE java.lang.NullPointerException encountered while running Java Builder. !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.lookup.ClassScope.detectCycle (ClassScope.java:786) at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.internal ResolveType(ParameterizedSingleTypeReference.java:122) at org.eclipse.jdt.internal.compiler.ast.ParameterizedSingleTypeReference.resolveT ype(ParameterizedSingleTypeReference.java:183) at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveSuperType (TypeReference.java:100) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.findSupertype (ClassScope.java:919) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectSuperInterfaces (ClassScope.java:681) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy (ClassScope.java:740) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierar chy(CompilationUnitScope.java:236) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings (LookupEnvironment.java:183) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings (LookupEnvironment.java:212) at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:227) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType (LookupEnvironment.java:116) at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage (PackageBinding.java:169) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findOnDemandImpor t(CompilationUnitScope.java:355) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleTypeImp ort(CompilationUnitScope.java:413) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInImports (CompilationUnitScope.java:291) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes (CompilationUnitScope.java:341) at org.eclipse.jdt.internal.compiler.Compiler.process (Compiler.java:501) 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)
This is a scenario where argType is a source type binding, but its scope is null. if (argType instanceof SourceTypeBinding) // ensure if this is a source superclass that it has already been checked ((SourceTypeBinding) argType).scope.connectTypeHierarchyWithoutMembers();
Scope may be null if associated unit already got processed at this stage. Added null checks. Kent - pls figure proper testcase and add regression test. Fixed.