Skip to content

Commit aa7d19f

Browse files
committed
Method calls get a line number
1 parent f7ba81c commit aa7d19f

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

compiler/src/dotty/tools/backend/jvm/BCodeBodyBuilder.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -866,6 +866,7 @@ trait BCodeBodyBuilder extends BCodeSkelBuilder {
866866
defn.ObjectClass
867867
} else qualSym
868868
}
869+
lineNumber(app)
869870
generatedType = genCallMethod(sym, invokeStyle, app.span, receiverClass)
870871
}
871872
}

tests/run/apply-line.scala

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
object Test:
3+
4+
def void(): Unit = ???
5+
def self(): this.type = this
6+
7+
def test(): Unit =
8+
this // is line 8
9+
.self()
10+
.void()
11+
12+
@annotation.nowarn
13+
def main(args: Array[String]): Unit =
14+
try test()
15+
catch (t: Throwable) =>
16+
t.getStackTrace.iterator
17+
.filter(_.getFileName == "apply-line.scala")
18+
.filter(_.getMethodName == "test")
19+
.foreach(sf => assert(sf.getLineNumber == 10))
20+
21+
/* was
22+
Test$.void(apply-line.scala:4)
23+
Test$.test(apply-line.scala:8)
24+
Test$.main(apply-line.scala:14)
25+
Test.main(apply-line.scala)
26+
*/

0 commit comments

Comments
 (0)