Skip to content

Commit 8761d5d

Browse files
authored
Fix for Null Pointer Exception error in the editor created event. (#4562)
1 parent 640404d commit 8761d5d

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
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" : "Resolve a NullPointerException that could occur while handling editor creation event. (#4554)"
4+
}

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanManager.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.intellij.openapi.ui.MessageDialogBuilder
2626
import com.intellij.openapi.util.Disposer
2727
import com.intellij.openapi.util.TextRange
2828
import com.intellij.openapi.vfs.VirtualFile
29+
import com.intellij.openapi.vfs.isFile
2930
import com.intellij.refactoring.suggested.range
3031
import com.intellij.ui.content.ContentManagerEvent
3132
import com.intellij.ui.content.ContentManagerListener
@@ -234,7 +235,7 @@ class CodeWhispererCodeScanManager(val project: Project) {
234235
language = selectedFile?.programmingLanguage() ?: CodeWhispererUnknownLanguage.INSTANCE
235236
if (scope == CodeWhispererConstants.CodeAnalysisScope.FILE &&
236237
(
237-
selectedFile == null || !language.isAutoFileScanSupported() ||
238+
selectedFile == null || !language.isAutoFileScanSupported() || !selectedFile.isFile ||
238239
runReadAction { (codeScanSessionConfig.fileIndex.isInLibrarySource(selectedFile)) } ||
239240
selectedFile.fileSystem.protocol == "remoteDeploymentFS"
240241
)

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/listeners/CodeWhispererCodeScanFileListener.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ package software.aws.toolkits.jetbrains.services.codewhisperer.codescan.listener
66
import com.intellij.openapi.editor.event.EditorFactoryEvent
77
import com.intellij.openapi.editor.event.EditorFactoryListener
88
import com.intellij.openapi.project.Project
9-
import com.intellij.openapi.vfs.isFile
109
import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.CodeWhispererCodeScanManager
1110
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManager
1211
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.isUserBuilderId
@@ -15,7 +14,15 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhisperer
1514
internal class CodeWhispererCodeScanFileListener(val project: Project) : EditorFactoryListener {
1615
override fun editorCreated(event: EditorFactoryEvent) {
1716
val actionManager = CodeWhispererExplorerActionManager.getInstance()
18-
if (event.editor.virtualFile.isFile && event.editor.project == project && actionManager.isAutoEnabledForCodeScan() &&
17+
18+
if (event.editor.virtualFile == null) {
19+
return
20+
}
21+
if (event.editor.project != project) {
22+
return
23+
}
24+
25+
if (actionManager.isAutoEnabledForCodeScan() &&
1926
!actionManager.isMonthlyQuotaForCodeScansExceeded() && !isUserBuilderId(project)
2027
) {
2128
CodeWhispererCodeScanManager.getInstance(project).createDebouncedRunCodeScan(CodeWhispererConstants.CodeAnalysisScope.FILE)

0 commit comments

Comments
 (0)