summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala11
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala1
2 files changed, 9 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
index eaad12c0ed..e5a49f8358 100644
--- a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
@@ -224,8 +224,12 @@ abstract class TreeBrowsers {
t.symbol.owner.toString
else
"NoSymbol has no owner")
- if ((t.symbol ne null) && t.symbol.isType)
- str.append("\ntermSymbol: " + t.symbol.tpe.termSymbol + "\ntypeSymbol: " + t.symbol.tpe.typeSymbol)
+ if ((t.symbol ne null) && t.symbol.isType) {
+ str.append("\ntermSymbol: " + t.symbol.tpe.termSymbol
+ + "\ntypeSymbol: " + t.symbol.tpe.typeSymbol)
+ if (t.symbol.isTypeSkolem)
+ str.append("\nSkolem of: " + t.symbol.deSkolemize)
+ }
str.append("\nSymbol tpe: ")
if (t.symbol ne null) {
str.append(t.symbol.tpe).append("\n")
@@ -562,7 +566,8 @@ abstract class TreeBrowsers {
if ((s ne null) && (s != NoSymbol)) {
var str = flagsToString(s.flags)
if (s.isStaticMember) str = str + " isStatic ";
- str + " annotations: " + s.annotations.mkString("", " ", "")
+ (str + " annotations: " + s.annotations.mkString("", " ", "")
+ + (if (s.isTypeSkolem) "\ndeSkolemized annotations: " + s.deSkolemize.annotations.mkString("", " ", "") else ""))
}
else ""
}
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 2d7be0be53..f57a21e181 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -618,6 +618,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
* m$D[ U](x: Double, y: U)
*/
private def normalizeMember(owner: Symbol, sym: Symbol, outerEnv: TypeEnv): List[Symbol] = {
+ log("normalizeMember: " + sym.fullName)
if (sym.isMethod && !sym.info.typeParams.isEmpty) {
val (stps, tps) = splitParams(sym.info.typeParams)
val res = sym :: (for (env <- specializations(stps) if needsSpecialization(env, sym)) yield {