From d765d899a756164e0327655417cc391bb30dab1b Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Tue, 17 Mar 2015 18:13:51 +0300 Subject: [PATCH] Fix NPE with origin calculation --- .../src/org/jetbrains/kotlin/codegen/inline/SMAP.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt index b3c7a43c765..68f679d1ebb 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt @@ -25,6 +25,7 @@ import java.util.Collections import java.util.ArrayList import org.jetbrains.kotlin.codegen.SourceInfo import org.jetbrains.kotlin.codegen.ClassBuilder +import kotlin.properties.Delegates //TODO join parameter public class SMAPBuilder(val source: String, @@ -186,12 +187,11 @@ public open class DefaultSourceMapper(val sourceInfo: SourceInfo, override val p private var lastMappedWithChanges: RawFileMapping? = null - var fileMappings: LinkedHashMap = linkedMapOf(); + var fileMappings: LinkedHashMap = linkedMapOf() - protected val origin: RawFileMapping + protected var origin: RawFileMapping by Delegates.notNull(); { visitSource(sourceInfo.source, sourceInfo.pathOrCleanFQN) - origin = lastVisited!! //map interval (1..maxUsedValue).forEach {origin.mapLine(it, it - 1, true) } } @@ -201,6 +201,10 @@ public open class DefaultSourceMapper(val sourceInfo: SourceInfo, override val p override fun visitSource(name: String, path: String) { lastVisited = fileMappings.getOrPut("$name#$path", { RawFileMapping(name, path) }) + //TEMPORARY HACK + if (fileMappings.size() == 1) { + origin = lastVisited!! + } } override fun visitOrigin() {