diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/PsiIrFileEntry.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/PsiIrFileEntry.kt index 36706cffc913c..52edadda83edd 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/PsiIrFileEntry.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/PsiIrFileEntry.kt @@ -20,7 +20,7 @@ class PsiIrFileEntry(val psiFile: PsiFile) : AbstractIrFileEntry() { init { val document = fileViewProvider.document ?: throw AssertionError("No document for $psiFile") maxOffset = document.textLength - lineStartOffsets = IntArray(document.lineCount) { document.getLineStartOffset(it) } + lineStartOffsets = IntArray(document.lineCount.takeIf { it != 0 } ?: 1) { document.getLineStartOffset(it) } } private fun getRecognizableName(): String = psiFileName diff --git a/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsTest.kt b/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsTest.kt index 6b3761648983d..75dfcaca18a84 100644 --- a/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsTest.kt +++ b/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsTest.kt @@ -63,6 +63,12 @@ val OUT_FROM_IMPORT_TEST = listOf("Hi from common", "Hi from middle", "Hi from m class MainKtsTest { + @Test + fun testEmptyFile() { + val res = evalFile(File("$TEST_DATA_ROOT/empty.main.kts")) + assertSucceeded(res) + } + @Test fun testResolveJunit() { val res = evalFile(File("$TEST_DATA_ROOT/hello-resolve-junit.main.kts")) diff --git a/libraries/tools/kotlin-main-kts-test/testData/empty.main.kts b/libraries/tools/kotlin-main-kts-test/testData/empty.main.kts new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/plugins/scripting/scripting-tests/testData/codegen/testScripts/empty.test.kts b/plugins/scripting/scripting-tests/testData/codegen/testScripts/empty.test.kts new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/plugins/scripting/scripting-tests/tests-gen/org/jetbrains/kotlin/scripting/test/ScriptWithCustomDefBlackBoxCodegenTestGenerated.java b/plugins/scripting/scripting-tests/tests-gen/org/jetbrains/kotlin/scripting/test/ScriptWithCustomDefBlackBoxCodegenTestGenerated.java index 58105976dbd0d..880dcaa97c202 100644 --- a/plugins/scripting/scripting-tests/tests-gen/org/jetbrains/kotlin/scripting/test/ScriptWithCustomDefBlackBoxCodegenTestGenerated.java +++ b/plugins/scripting/scripting-tests/tests-gen/org/jetbrains/kotlin/scripting/test/ScriptWithCustomDefBlackBoxCodegenTestGenerated.java @@ -36,6 +36,12 @@ public void testDeclarationsOrder2_test() { runTest("plugins/scripting/scripting-tests/testData/codegen/testScripts/declarationsOrder2.test.kts"); } + @Test + @TestMetadata("empty.test.kts") + public void testEmpty_test() { + runTest("plugins/scripting/scripting-tests/testData/codegen/testScripts/empty.test.kts"); + } + @Test @TestMetadata("params.test.kts") public void testParams_test() {