From 85bd7297159b9492f9ae16d42e8a25e8b0d43adc Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Tue, 22 Jan 2019 12:46:36 +0300 Subject: [PATCH] Fix NPE starting IDE Repl Console consoleView field is initialized in initAndRun inside invokeLaterIfNeeded call. This may cause NPE in setupGutters if consoleView isn't initialized yet ^KT-29400 Fixed --- .../src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt | 2 -- .../src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt b/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt index 6ca7829bd5a..117a1e9abed 100644 --- a/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt +++ b/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt @@ -48,8 +48,6 @@ class KotlinConsoleKeeper(val project: Project) { val consoleRunner = KotlinConsoleRunner(module, cmdLine, previousCompilationFailed, project, REPL_TITLE, path) consoleRunner.initAndRun() - consoleRunner.setupGutters() - return consoleRunner } diff --git a/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt b/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt index 8bb442735e1..3f11b708beb 100644 --- a/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt +++ b/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt @@ -168,6 +168,8 @@ class KotlinConsoleRunner( enableCompletion(consoleView) + setupGutters(consoleView) + return consoleView } @@ -228,7 +230,7 @@ class KotlinConsoleRunner( editor.setPlaceholderAttributes(placeholderAttrs) } - fun setupGutters() { + fun setupGutters(consoleView: LanguageConsoleView) { fun configureEditorGutter(editor: EditorEx, color: Color, iconWithTooltip: IconWithTooltip): RangeHighlighter { editor.settings.isLineMarkerAreaShown = true // hack to show gutter editor.settings.isFoldingOutlineShown = true