aboutsummaryrefslogtreecommitdiff
path: root/tests/run/inline
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-09-06 13:20:39 +0200
committerMartin Odersky <odersky@gmail.com>2016-10-02 16:11:21 +0200
commit19ab7ab10fabe7113f45063ffd2b6cc6abcc3329 (patch)
tree3672315832460f5d636074fc2c387d243597cff5 /tests/run/inline
parentbd0660ef100ee1a41bd56267d9e95c9e6dd74d5e (diff)
downloaddotty-19ab7ab10fabe7113f45063ffd2b6cc6abcc3329.tar.gz
dotty-19ab7ab10fabe7113f45063ffd2b6cc6abcc3329.tar.bz2
dotty-19ab7ab10fabe7113f45063ffd2b6cc6abcc3329.zip
Make inline annotation @scala.inline.
Drop @dotty.annotation.inline. This will inline all @inline marked methods in Scala for which a body is known (i.e. that are either compiled in the same run or have Tasty trees available). Option -Yno-inline suppresses inlining. This is needed for the moment because some @inline methods access private members or members that are otherwise inaccessible at the call-site. Also fixes some problems in Inliner - make sure type arguments to inline calls re fully defined - don't forget recursive calls in typeMap - don't forget positions in treeMap - drop dead code dealing with outer.
Diffstat (limited to 'tests/run/inline')
-rw-r--r--tests/run/inline/inlines_1.scala10
1 files changed, 5 insertions, 5 deletions
diff --git a/tests/run/inline/inlines_1.scala b/tests/run/inline/inlines_1.scala
index 36f5ac402..8189e6805 100644
--- a/tests/run/inline/inlines_1.scala
+++ b/tests/run/inline/inlines_1.scala
@@ -5,7 +5,7 @@ object inlines {
final val monitored = false
- @dotty.annotation.inline
+ @inline
def f(x: Int): Int = x * x
val hits = new mutable.HashMap[String, Int] {
@@ -21,7 +21,7 @@ object inlines {
@volatile private var stack: List[String] = Nil
- @dotty.annotation.inline
+ @inline
def track[T](fn: String)(op: => T) =
if (monitored) {
stack = fn :: stack
@@ -34,9 +34,9 @@ object inlines {
def f = "Outer.f"
class Inner {
val msg = " Inner"
- @dotty.annotation.inline def m = msg
- @dotty.annotation.inline def g = f
- @dotty.annotation.inline def h = f ++ m
+ @inline def m = msg
+ @inline def g = f
+ @inline def h = f ++ m
}
val inner = new Inner
}