From ab2d3665a4bc50bfd525ea788f55512af3dbcad5 Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Tue, 19 Apr 2016 15:11:41 +0300 Subject: [PATCH] SourceMapper api refactoring --- .../src/org/jetbrains/kotlin/codegen/inline/SMAP.kt | 3 +-- .../src/org/jetbrains/kotlin/codegen/inline/SMAP2.kt | 12 +++++------- 2 files changed, 6 insertions(+), 9 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 2843aaa7601..9ad5fb03133 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt @@ -19,7 +19,6 @@ package org.jetbrains.kotlin.codegen.inline import gnu.trove.TIntIntHashMap import org.jetbrains.kotlin.codegen.ClassBuilder 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.MethodVisitor import java.util.* @@ -136,7 +135,7 @@ interface SourceMapper { 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") } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP2.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP2.kt index fade3f99c6d..10951de1d71 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP2.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP2.kt @@ -26,8 +26,6 @@ import org.jetbrains.org.objectweb.asm.Label import org.jetbrains.org.objectweb.asm.MethodVisitor import java.util.* -open class LineNumberToMap(val lineNumberToMap: Int, val source: Int, val name: String, val path: String) - open class NestedSourceMapper( override val parent: SourceMapper, val ranges: List, sourceInfo: SourceInfo ) : DefaultSourceMapper(sourceInfo) { @@ -42,7 +40,7 @@ open class NestedSourceMapper( } else { val findMappingIfExists = findMappingIfExists(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) { visited.put(lineNumber, visitLineNumber) } @@ -125,13 +123,13 @@ open class DefaultSourceMapper @JvmOverloads constructor( iv.visitLineNumber(lineNumber, start) } - override fun visitLineNumber(iv: MethodVisitor, destLineNumber: Int, start: Label, source: LineNumberToMap): Int { - if (source.source < 0) { + override fun visitLineNumber(iv: MethodVisitor, start: Label, source: Int, sourceName: String, sourcePath: String): Int { + if (source < 0) { //no source information, so just skip this linenumber return -1 } - visitSource(source.name, source.path) - val mappedLineIndex = createMapping(source.source) + visitSource(sourceName, sourcePath) + val mappedLineIndex = createMapping(source) iv.visitLineNumber(mappedLineIndex, start) return mappedLineIndex