diff options
author | Aleksandar Prokopec <axel22@gmail.com> | 2012-02-16 13:34:06 +0100 |
---|---|---|
committer | Aleksandar Prokopec <axel22@gmail.com> | 2012-02-16 13:34:06 +0100 |
commit | 53b05bb12f5a7a50448bcac9434389bf95273c45 (patch) | |
tree | d10140f4a3f2ea46dd39b47828c1326e9a61681e /test/files/specialized/SI-5005.check | |
parent | f2ccb43a844e484ae511c8cff3fbf534a0d86ebe (diff) | |
parent | 91148376049a152edec12348ff9b7e9e93e6ebe1 (diff) | |
download | scala-53b05bb12f5a7a50448bcac9434389bf95273c45.tar.gz scala-53b05bb12f5a7a50448bcac9434389bf95273c45.tar.bz2 scala-53b05bb12f5a7a50448bcac9434389bf95273c45.zip |
Merge branch 'master' into execution-context
Conflicts:
src/library/scala/package.scala
Diffstat (limited to 'test/files/specialized/SI-5005.check')
-rw-r--r-- | test/files/specialized/SI-5005.check | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/files/specialized/SI-5005.check b/test/files/specialized/SI-5005.check new file mode 100644 index 0000000000..d2a97512ae --- /dev/null +++ b/test/files/specialized/SI-5005.check @@ -0,0 +1,33 @@ +[[syntax trees at end of specialize]]// Scala source: newSource1 +package <empty> { + class C2[@specialized(scala.Boolean) U >: Nothing <: Any] extends Object with ScalaObject { + def <init>(): C2[U] = { + C2.super.<init>(); + () + }; + def apply(x: U): U = x; + <specialized> def apply$mcZ$sp(x: Boolean): Boolean = C2.this.apply(x.asInstanceOf[U]()).asInstanceOf[Boolean]() + }; + class B extends Object with ScalaObject { + def <init>(): B = { + B.super.<init>(); + () + }; + new C2$mcZ$sp().apply$mcZ$sp(true) + }; + <specialized> class C2$mcZ$sp extends C2[Boolean] { + <specialized> def <init>(): C2$mcZ$sp = { + C2$mcZ$sp.super.<init>(); + () + }; + @inline final override <specialized> def apply(x: Boolean): Boolean = C2$mcZ$sp.this.apply$mcZ$sp(x); + @inline final override <specialized> def apply$mcZ$sp(x: Boolean): Boolean = x + } +} + +[log inliner] Analyzing C2.apply count 0 with 1 blocks +[log inliner] C2.apply blocks before inlining: 1 (2) after: 1 (2) +[log inliner] Analyzing C2.apply$mcZ$sp count 0 with 1 blocks +[log inliner] C2.apply$mcZ$sp blocks before inlining: 1 (8) after: 1 (8) +[log inliner] Not inlining into apply because it is marked @inline. +[log inliner] Not inlining into apply$mcZ$sp because it is marked @inline. |