Null Pointer

Issue #1477 resolved
Xander Victory created an issue

Got this when typing a method call to a trigger-defined method.

java.lang.NullPointerException
    at com.illuminatedcloud.intellij.inspection.ApexUnresolvableSignatureInspection$1.visitInvocation(SourceFile:225)
    at com.illuminatedcloud.intellij.inspection.ApexUnresolvableSignatureInspection$1.visitSimpleRefExpression(SourceFile:90)
    at com.illuminatedcloud.intellij.psi.impl.ApexSimpleRefExpressionImpl.accept(SourceFile:20)
    at com.illuminatedcloud.intellij.psi.impl.ApexSimpleRefExpressionImpl.accept(SourceFile:24)
    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:297)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$null$5(LocalInspectionsPass.java:265)
    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:262)
    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:262)
    at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:133)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1106)
    at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
    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:204)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
    at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

Trigger code was something similar to

trigger CampaignTrigger on Campaign (before insert, after Insert, before update, after update)
{
    if(trigger.isBefore && !trigger.isDelete)
    {
        for(Campaign c : trigger.new)
        {            
            if(c.RecordTypeId == Schema.SObjectType.Campaign.getRecordTypeInfosByName().get('Record Type Here').getRecordTypeId())
            {            
                //other code here

                checkPaymentRestrictions(c);// <- typing this line, method was already defined but empty
            }
        }
    }

    static void checkPaymentRestrictions(Campaign campaign)
    {

    }    
}

Comments (2)

  1. Log in to comment