File tree Expand file tree Collapse file tree 3 files changed +41
-0
lines changed Expand file tree Collapse file tree 3 files changed +41
-0
lines changed File renamed without changes.
Original file line number Diff line number Diff line change 1+ track (i = 0): Test$.main(i4947a2.scala:4)
2+ track (i = 0): Test$.main(i4947a2.scala:5)
3+ track (i = 2): Test$.main(i4947a2.scala:4)
4+ track (i = 2): Test$.main(i4947a2.scala:5)
5+ main1 (i = -1): Test$.main(i4947a2.scala:21)
6+ main2 (i = -1): Test$.main(i4947a2.scala:22)
7+ track (i = 1): Test$.main(i4947a2.scala:4)
8+ track (i = 1): Test$.main(i4947a2.scala:5)
9+ main1 (i = -1): Test$.main(i4947a2.scala:21)
10+ main2 (i = -1): Test$.main(i4947a2.scala:22)
11+ track (i = 0): Test$.main(i4947a2.scala:4)
12+ track (i = 0): Test$.main(i4947a2.scala:5)
13+ main1 (i = -1): Test$.main(i4947a2.scala:21)
14+ main2 (i = -1): Test$.main(i4947a2.scala:22)
Original file line number Diff line number Diff line change 1+ object Test {
2+
3+ inline def fact [T ](inline i : Int )(f : => T ): Int = {
4+ printStack(i, " track" )
5+ printStack(i, " track" )
6+ f
7+ if (i == 0 )
8+ 1
9+ else {
10+ i * fact(i- 1 )(f)
11+ }
12+ }
13+
14+ def printStack (i : Int , tag : String ): Unit = {
15+ println(s " $tag (i = $i): ${new Exception ().getStackTrace().apply(1 )}" )
16+ }
17+
18+ def main (args : Array [String ]): Unit = {
19+ fact(0 ) {
20+ fact(2 ) {
21+ printStack(- 1 , " main1" )
22+ printStack(- 1 , " main2" )
23+ }
24+ }
25+ }
26+
27+ }
You can’t perform that action at this time.
0 commit comments