Skip to content

Commit 2b8a78a

Browse files
authored
Fix NPE from context.module being null (#2787)
1 parent 0f2b2f3 commit 2b8a78a

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "Fix IDE error about context.module being null (#2776)"
4+
}

jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/execution/local/LocalLambdaRunConfigurationProducer.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.intellij.execution.RunnerAndConfigurationSettings
88
import com.intellij.execution.actions.ConfigurationContext
99
import com.intellij.execution.actions.LazyRunConfigurationProducer
1010
import com.intellij.execution.configurations.ConfigurationFactory
11+
import com.intellij.openapi.module.ModuleUtilCore
1112
import com.intellij.openapi.project.Project
1213
import com.intellij.openapi.util.Ref
1314
import com.intellij.psi.PsiElement
@@ -56,7 +57,12 @@ class LocalLambdaRunConfigurationProducer : LazyRunConfigurationProducer<LocalLa
5657
}
5758
val resolver = LambdaHandlerResolver.getInstance(runtimeGroup)
5859
val handler = resolver.determineHandler(element) ?: return false
59-
val runtime = runtimeGroup.determineRuntime(context.module) ?: runtimeGroup.determineRuntime(context.project)
60+
61+
// In some scenarios, context lacks the module (bug?). If it can't be found ask for it explicitly from the PSI element
62+
val module = context.module ?: ModuleUtilCore.findModuleForPsiElement(element)
63+
val runtime = module?.let {
64+
runtimeGroup.determineRuntime(it)
65+
} ?: runtimeGroup.determineRuntime(element.project)
6066

6167
setAccountOptions(configuration)
6268
configuration.useHandler(runtime?.toSdkRuntime(), handler)

0 commit comments

Comments
 (0)