Skip to content

Commit aec1311

Browse files
Inlined code gets virtual line numbers in stack traces
We follow the Kotlin solution to allow inlined code to point to virtual numbers. We rely on the tooling for proper navigation. See also: https://youtrack.jetbrains.com/issue/KT-8628 https://bugs.openjdk.org/browse/JDK-4972961
1 parent ad6c699 commit aec1311

File tree

4 files changed

+30
-30
lines changed

4 files changed

+30
-30
lines changed

tests/run-macros/i4947e.check

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
assertImpl: Test$.main(Test_2.scala:7)
1+
assertImpl: Test$.main(Test_2.scala:16)
22
true
3-
assertImpl: Test$.main(Test_2.scala:8)
3+
assertImpl: Test$.main(Test_2.scala:16)
44
false
5-
assertImpl: Test$.main(Test_2.scala:9)
5+
assertImpl: Test$.main(Test_2.scala:18)
66
hi: Test$.main(Test_2.scala:10)
77
hi again: Test$.main(Test_2.scala:11)
88
false

tests/run-macros/i4947f.check

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
assertImpl: Test$.main(Test_2.scala:7)
1+
assertImpl: Test$.main(Test_2.scala:16)
22
true
3-
assertImpl: Test$.main(Test_2.scala:8)
3+
assertImpl: Test$.main(Test_2.scala:16)
44
false
5-
assertImpl: Test$.main(Test_2.scala:9)
5+
assertImpl: Test$.main(Test_2.scala:18)
66
hi: Test$.main(Test_2.scala:10)
77
hi again: Test$.main(Test_2.scala:11)
88
false

tests/run/i4947b.check

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
1-
track: Test$.main(Test_2.scala:5)
2-
track: Test$.main(Test_2.scala:5)
1+
track: Test$.main(Test_2.scala:25)
2+
track: Test$.main(Test_2.scala:26)
33
main1: Test$.main(Test_2.scala:6)
44
main2: Test$.main(Test_2.scala:7)
5-
track: Test$.main(Test_2.scala:9)
6-
track: Test$.main(Test_2.scala:9)
7-
track: Test$.main(Test_2.scala:10)
8-
track: Test$.main(Test_2.scala:10)
5+
track: Test$.main(Test_2.scala:25)
6+
track: Test$.main(Test_2.scala:26)
7+
track: Test$.main(Test_2.scala:25)
8+
track: Test$.main(Test_2.scala:26)
99
main3: Test$.main(Test_2.scala:11)
1010
main4: Test$.main(Test_2.scala:12)
1111
track (i = 0): Test$.main(Test_2.scala:15)
1212
track (i = 0): Test$.main(Test_2.scala:15)
13-
track: Test$.main(Test_2.scala:15)
14-
track: Test$.main(Test_2.scala:15)
15-
fact: Test$.main(Test_2.scala:15)
13+
track: Test$.main(Test_2.scala:35)
14+
track: Test$.main(Test_2.scala:36)
15+
fact: Test$.main(Test_2.scala:43)
1616
track (i = 2): Test$.main(Test_2.scala:16)
1717
track (i = 2): Test$.main(Test_2.scala:16)
18-
track: Test$.main(Test_2.scala:16)
19-
track: Test$.main(Test_2.scala:16)
20-
fact: Test$.main(Test_2.scala:16)
18+
track: Test$.main(Test_2.scala:35)
19+
track: Test$.main(Test_2.scala:36)
20+
fact: Test$.main(Test_2.scala:43)
2121
main1 (i = -1): Test$.main(Test_2.scala:17)
2222
main2 (i = -1): Test$.main(Test_2.scala:18)
23-
track (i = 1): Test$.main(Test_2.scala:16)
24-
track (i = 1): Test$.main(Test_2.scala:16)
25-
track: Test$.main(Test_2.scala:16)
26-
track: Test$.main(Test_2.scala:16)
27-
fact: Test$.main(Test_2.scala:16)
23+
track (i = 1): Test$.main(Test_2.scala:49)
24+
track (i = 1): Test$.main(Test_2.scala:49)
25+
track: Test$.main(Test_2.scala:35)
26+
track: Test$.main(Test_2.scala:36)
27+
fact: Test$.main(Test_2.scala:43)
2828
main1 (i = -1): Test$.main(Test_2.scala:17)
2929
main2 (i = -1): Test$.main(Test_2.scala:18)
30-
track (i = 0): Test$.main(Test_2.scala:16)
31-
track (i = 0): Test$.main(Test_2.scala:16)
32-
track: Test$.main(Test_2.scala:16)
33-
track: Test$.main(Test_2.scala:16)
34-
fact: Test$.main(Test_2.scala:16)
30+
track (i = 0): Test$.main(Test_2.scala:49)
31+
track (i = 0): Test$.main(Test_2.scala:49)
32+
track: Test$.main(Test_2.scala:35)
33+
track: Test$.main(Test_2.scala:36)
34+
fact: Test$.main(Test_2.scala:43)
3535
main1 (i = -1): Test$.main(Test_2.scala:17)
3636
main2 (i = -1): Test$.main(Test_2.scala:18)

tests/run/splice-position.check

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Test$.main(Test.scala:5)
2-
Test$.main(Test.scala:6)
1+
Test$.main(Test.scala:7)
2+
Test$.main(Test.scala:8)

0 commit comments

Comments
 (0)