blob: 9fc63a2b1d4ddf160ce586e7cc7af4f75dd16bf1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
[[syntax trees at end of specialize]]// Scala source: newSource1
package <empty> {
class C2[@specialized(scala.Boolean) U >: Nothing <: Any] extends Object {
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 {
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.
|