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() {