eclipse-jdt / eclipse.jdt.core

Eclipse Public License 2.0
157 stars 125 forks source link

NPE in TypeSystem.getArrayType #2822

Open jukzi opened 1 month ago

jukzi commented 1 month ago

don't know how to reproduce, found it in my log:

eclipse.buildId=4.33.0.I20240811-1800
java.version=21.0.2

java.lang.NullPointerException: Cannot store to object array because "this.types[this.typeid]" is null
    at org.eclipse.jdt.internal.compiler.lookup.TypeSystem.getArrayType(TypeSystem.java:327)
    at org.eclipse.jdt.internal.compiler.lookup.AnnotatableTypeSystem.getArrayType(AnnotatableTypeSystem.java:94)
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getTypeFromSignature(LookupEnvironment.java:2030)
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createFields(BinaryTypeBinding.java:875)
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.cachePartsFrom(BinaryTypeBinding.java:614)
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:1086)
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:1067)
    at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:307)
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:299)
    at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:116)
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:251)
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveTypesFor(BinaryTypeBinding.java:1966)
    at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.availableMethods(BinaryTypeBinding.java:432)
    at org.eclipse.jdt.core.dom.TypeBinding.getDeclaredMethods(TypeBinding.java:294)
    at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInType(Bindings.java:494)
    at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethodInHierarchy(Bindings.java:511)
    at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethods(Bindings.java:566)
    at org.eclipse.jdt.internal.corext.dom.Bindings.findOverriddenMethod(Bindings.java:537)
    at org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager$1.visit(OverrideIndicatorManager.java:187)
    at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:653)
    at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3343)
    at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:3414)
    at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:498)
    at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3343)
    at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:3414)
    at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:498)
    at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3343)
    at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:3414)
    at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:258)
    at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:3343)
    at org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.updateAnnotations(OverrideIndicatorManager.java:179)
    at org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorManager.reconciled(OverrideIndicatorManager.java:261)
    at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.reconciled(CompilationUnitEditor.java:1685)
    at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconciled(JavaReconcilingStrategy.java:228)
    at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconciled(JavaCompositeReconcilingStrategy.java:171)
    at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:115)
    at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:78)
    at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:207)