SourceMapper api refactoring
This commit is contained in:
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.codegen.inline
|
|||||||
import gnu.trove.TIntIntHashMap
|
import gnu.trove.TIntIntHashMap
|
||||||
import org.jetbrains.kotlin.codegen.ClassBuilder
|
import org.jetbrains.kotlin.codegen.ClassBuilder
|
||||||
import org.jetbrains.kotlin.codegen.SourceInfo
|
import org.jetbrains.kotlin.codegen.SourceInfo
|
||||||
import org.jetbrains.kotlin.codegen.inline2.LineNumberToMap
|
|
||||||
import org.jetbrains.org.objectweb.asm.Label
|
import org.jetbrains.org.objectweb.asm.Label
|
||||||
import org.jetbrains.org.objectweb.asm.MethodVisitor
|
import org.jetbrains.org.objectweb.asm.MethodVisitor
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@@ -136,7 +135,7 @@ interface SourceMapper {
|
|||||||
throw UnsupportedOperationException("fail")
|
throw UnsupportedOperationException("fail")
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun visitLineNumber(iv: MethodVisitor, destLineNumber: Int, start: Label, source: LineNumberToMap): Int {
|
open fun visitLineNumber(iv: MethodVisitor, start: Label, source: Int, sourceName: String, sourcePath:String): Int {
|
||||||
throw UnsupportedOperationException("fail")
|
throw UnsupportedOperationException("fail")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,8 +26,6 @@ import org.jetbrains.org.objectweb.asm.Label
|
|||||||
import org.jetbrains.org.objectweb.asm.MethodVisitor
|
import org.jetbrains.org.objectweb.asm.MethodVisitor
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
open class LineNumberToMap(val lineNumberToMap: Int, val source: Int, val name: String, val path: String)
|
|
||||||
|
|
||||||
open class NestedSourceMapper(
|
open class NestedSourceMapper(
|
||||||
override val parent: SourceMapper, val ranges: List<RangeMapping>, sourceInfo: SourceInfo
|
override val parent: SourceMapper, val ranges: List<RangeMapping>, sourceInfo: SourceInfo
|
||||||
) : DefaultSourceMapper(sourceInfo) {
|
) : DefaultSourceMapper(sourceInfo) {
|
||||||
@@ -42,7 +40,7 @@ open class NestedSourceMapper(
|
|||||||
} else {
|
} else {
|
||||||
val findMappingIfExists = findMappingIfExists(lineNumber)!!
|
val findMappingIfExists = findMappingIfExists(lineNumber)!!
|
||||||
val sourceLineNumber = findMappingIfExists.mapDestToSource(lineNumber)
|
val sourceLineNumber = findMappingIfExists.mapDestToSource(lineNumber)
|
||||||
val visitLineNumber = parent.visitLineNumber(iv, lineNumber, start, LineNumberToMap(lineNumber, sourceLineNumber, findMappingIfExists.parent!!.name, findMappingIfExists.parent!!.path))
|
val visitLineNumber = parent.visitLineNumber(iv, start, sourceLineNumber, findMappingIfExists.parent!!.name, findMappingIfExists.parent!!.path)
|
||||||
if (visitLineNumber > 0) {
|
if (visitLineNumber > 0) {
|
||||||
visited.put(lineNumber, visitLineNumber)
|
visited.put(lineNumber, visitLineNumber)
|
||||||
}
|
}
|
||||||
@@ -125,13 +123,13 @@ open class DefaultSourceMapper @JvmOverloads constructor(
|
|||||||
iv.visitLineNumber(lineNumber, start)
|
iv.visitLineNumber(lineNumber, start)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitLineNumber(iv: MethodVisitor, destLineNumber: Int, start: Label, source: LineNumberToMap): Int {
|
override fun visitLineNumber(iv: MethodVisitor, start: Label, source: Int, sourceName: String, sourcePath: String): Int {
|
||||||
if (source.source < 0) {
|
if (source < 0) {
|
||||||
//no source information, so just skip this linenumber
|
//no source information, so just skip this linenumber
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
visitSource(source.name, source.path)
|
visitSource(sourceName, sourcePath)
|
||||||
val mappedLineIndex = createMapping(source.source)
|
val mappedLineIndex = createMapping(source)
|
||||||
iv.visitLineNumber(mappedLineIndex, start)
|
iv.visitLineNumber(mappedLineIndex, start)
|
||||||
return mappedLineIndex
|
return mappedLineIndex
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user