stokito / IdeaJol

Intellij plugin that shows an object layout in memory to help optimize it. Uses OpenJDK JOL tool
https://plugins.jetbrains.com/plugin/10953-java-object-layout
Apache License 2.0
142 stars 9 forks source link

java.lang.NullPointerException #18

Closed stokito closed 5 years ago

stokito commented 5 years ago

on a simple class

  public static class ListNode {
    int val;
    ListNode next;

    ListNode(int x) { val = x; }
  }

exception occured


java.lang.NullPointerException
    at org.openjdk.jol.info.ClassData.fieldsFor(ClassData.java:252)
    at org.openjdk.jol.info.ClassData.ownFields(ClassData.java:222)
    at org.openjdk.jol.layouters.HotSpotLayouter.layout(HotSpotLayouter.java:138)
    at com.github.stokito.IdeaJol.JolInspection.checkClass(JolInspection.java:42)
    at com.intellij.codeInspection.AbstractBaseJavaLocalInspectionTool$1.visitClass(AbstractBaseJavaLocalInspectionTool.java:60)
    at com.intellij.psi.impl.source.PsiClassImpl.accept(PsiClassImpl.java:469)
    at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:75)
    at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:63)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:295)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$null$5(LocalInspectionsPass.java:263)
    at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:156)
    at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:148)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$null$6(LocalInspectionsPass.java:260)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:127)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:116)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$7(LocalInspectionsPass.java:260)
    at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:133)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1166)
    at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:586)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:86)
    at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:116)
    at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
    at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:164)
    at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
    at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
``