Remove assertion on sorted ranges: it could be empty if lambda doesn't contain any linenumber

#KT-35101 Fixed
This commit is contained in:
Mikhael Bogdanov
2019-12-02 08:59:24 +01:00
parent ae4a1e3cca
commit b9dee4e93a
8 changed files with 44 additions and 6 deletions
@@ -133,12 +133,6 @@ open class InlineLambdaSourceMapper(
parent: SourceMapper, smap: SMAPAndMethodNode
) : NestedSourceMapper(parent, smap.sortedRanges, smap.classSMAP.sourceInfo) {
init {
assert(ranges.isNotEmpty()) {
"Mapping ranges should be presented in inline lambda: ${smap.node}"
}
}
override fun mapLineNumber(lineNumber: Int): Int {
if (ranges.firstOrNull()?.contains(lineNumber) == true) {
//don't remap origin lambda line numbers
@@ -0,0 +1,14 @@
// FILE: 1.kt
package test
inline fun <T, R> T.let2(block: (T) -> R): R {
return block(this)
}
// FILE: 2.kt
import test.*
fun box(): String {
val result = true.let2(Boolean::not)
return if (!result) "OK" else "fail"
}
@@ -799,6 +799,11 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
runTest("compiler/testData/codegen/boxInline/callableReference/kt16411.kt");
}
@TestMetadata("kt35101.kt")
public void testKt35101() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/kt35101.kt");
}
@TestMetadata("propertyIntrinsic.kt")
public void testPropertyIntrinsic() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/propertyIntrinsic.kt");
@@ -799,6 +799,11 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
runTest("compiler/testData/codegen/boxInline/callableReference/kt16411.kt");
}
@TestMetadata("kt35101.kt")
public void testKt35101() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/kt35101.kt");
}
@TestMetadata("propertyIntrinsic.kt")
public void testPropertyIntrinsic() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/propertyIntrinsic.kt");
@@ -799,6 +799,11 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli
runTest("compiler/testData/codegen/boxInline/callableReference/kt16411.kt");
}
@TestMetadata("kt35101.kt")
public void testKt35101() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/kt35101.kt");
}
@TestMetadata("propertyIntrinsic.kt")
public void testPropertyIntrinsic() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/propertyIntrinsic.kt");
@@ -799,6 +799,11 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC
runTest("compiler/testData/codegen/boxInline/callableReference/kt16411.kt");
}
@TestMetadata("kt35101.kt")
public void testKt35101() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/kt35101.kt");
}
@TestMetadata("propertyIntrinsic.kt")
public void testPropertyIntrinsic() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/propertyIntrinsic.kt");
@@ -69,6 +69,11 @@ public class IrCallableReferenceInlineTestsGenerated extends AbstractIrCallableR
runTest("compiler/testData/codegen/boxInline/callableReference/kt16411.kt");
}
@TestMetadata("kt35101.kt")
public void testKt35101() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/kt35101.kt");
}
@TestMetadata("propertyIntrinsic.kt")
public void testPropertyIntrinsic() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/propertyIntrinsic.kt");
@@ -69,6 +69,11 @@ public class CallableReferenceInlineTestsGenerated extends AbstractCallableRefer
runTest("compiler/testData/codegen/boxInline/callableReference/kt16411.kt");
}
@TestMetadata("kt35101.kt")
public void testKt35101() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/kt35101.kt");
}
@TestMetadata("propertyIntrinsic.kt")
public void testPropertyIntrinsic() throws Exception {
runTest("compiler/testData/codegen/boxInline/callableReference/propertyIntrinsic.kt");