Fix NPE with origin calculation
This commit is contained in:
@@ -25,6 +25,7 @@ import java.util.Collections
|
|||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
import org.jetbrains.kotlin.codegen.SourceInfo
|
import org.jetbrains.kotlin.codegen.SourceInfo
|
||||||
import org.jetbrains.kotlin.codegen.ClassBuilder
|
import org.jetbrains.kotlin.codegen.ClassBuilder
|
||||||
|
import kotlin.properties.Delegates
|
||||||
|
|
||||||
//TODO join parameter
|
//TODO join parameter
|
||||||
public class SMAPBuilder(val source: String,
|
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
|
private var lastMappedWithChanges: RawFileMapping? = null
|
||||||
|
|
||||||
var fileMappings: LinkedHashMap<String, RawFileMapping> = linkedMapOf();
|
var fileMappings: LinkedHashMap<String, RawFileMapping> = linkedMapOf()
|
||||||
|
|
||||||
protected val origin: RawFileMapping
|
protected var origin: RawFileMapping by Delegates.notNull();
|
||||||
{
|
{
|
||||||
visitSource(sourceInfo.source, sourceInfo.pathOrCleanFQN)
|
visitSource(sourceInfo.source, sourceInfo.pathOrCleanFQN)
|
||||||
origin = lastVisited!!
|
|
||||||
//map interval
|
//map interval
|
||||||
(1..maxUsedValue).forEach {origin.mapLine(it, it - 1, true) }
|
(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) {
|
override fun visitSource(name: String, path: String) {
|
||||||
lastVisited = fileMappings.getOrPut("$name#$path", { RawFileMapping(name, path) })
|
lastVisited = fileMappings.getOrPut("$name#$path", { RawFileMapping(name, path) })
|
||||||
|
//TEMPORARY HACK
|
||||||
|
if (fileMappings.size() == 1) {
|
||||||
|
origin = lastVisited!!
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitOrigin() {
|
override fun visitOrigin() {
|
||||||
|
|||||||
Reference in New Issue
Block a user