Fix JS source map for char boxing and unboxing
This commit is contained in:
@@ -60,6 +60,12 @@ public class JsLineNumberTestGenerated extends AbstractJsLineNumberTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("charBoxing.kt")
|
||||||
|
public void testCharBoxing() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/charBoxing.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("classCapturingLocals.kt")
|
@TestMetadata("classCapturingLocals.kt")
|
||||||
public void testClassCapturingLocals() throws Exception {
|
public void testClassCapturingLocals() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/classCapturingLocals.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/lineNumbers/classCapturingLocals.kt");
|
||||||
|
|||||||
@@ -159,12 +159,16 @@ public final class JsAstUtils {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static JsExpression charToBoxedChar(@NotNull JsExpression expression) {
|
public static JsExpression charToBoxedChar(@NotNull JsExpression expression) {
|
||||||
return withBoxingMetadata(invokeKotlinFunction("toBoxedChar", unnestBoxing(expression)));
|
JsInvocation invocation = invokeKotlinFunction("toBoxedChar", unnestBoxing(expression));
|
||||||
|
invocation.setSource(expression.getSource());
|
||||||
|
return withBoxingMetadata(invocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static JsExpression boxedCharToChar(@NotNull JsExpression expression) {
|
public static JsExpression boxedCharToChar(@NotNull JsExpression expression) {
|
||||||
return withBoxingMetadata(invokeKotlinFunction("unboxChar", unnestBoxing(expression)));
|
JsInvocation invocation = invokeKotlinFunction("unboxChar", unnestBoxing(expression));
|
||||||
|
invocation.setSource(expression.getSource());
|
||||||
|
return withBoxingMetadata(invocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
var log = ""
|
||||||
|
|
||||||
|
inline fun String.foo(a: String): Int {
|
||||||
|
log += "foo1"
|
||||||
|
return asDynamic().indexOf(a)
|
||||||
|
}
|
||||||
|
|
||||||
|
inline fun String.foo(a: Char): Int {
|
||||||
|
log += "foo2"
|
||||||
|
return indexOf(a.toString())
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar(a: String, b: Char, x: Int) {
|
||||||
|
log += if (x > 0)
|
||||||
|
23
|
||||||
|
else
|
||||||
|
a.foo(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
// LINES: 6 4 4 5 5 11 9 9 10 10 18 14 14 14 14 14 15 17 9 9 14 10 17 10 14 14 * 1 * 1
|
||||||
Reference in New Issue
Block a user