summaryrefslogtreecommitdiff
path: root/src/reflect
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-09-28 14:20:27 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-09-28 14:31:13 +0200
commitc395c926216b4356c82c606b76784a184a7f1d9b (patch)
tree049f570c40748523319099456057cf176b41f828 /src/reflect
parente55e164e9335b0e725ebd679a66adf368d1482e0 (diff)
downloadscala-c395c926216b4356c82c606b76784a184a7f1d9b.tar.gz
scala-c395c926216b4356c82c606b76784a184a7f1d9b.tar.bz2
scala-c395c926216b4356c82c606b76784a184a7f1d9b.zip
fully initializes symbols on `typeSignature`
only affects runtime reflection, because Symbol.typeSignature is only defined in the reflection API. the rest of the compiler uses Symbol.info instead.
Diffstat (limited to 'src/reflect')
-rw-r--r--src/reflect/scala/reflect/internal/Symbols.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala
index 21506a498d..d387ad764d 100644
--- a/src/reflect/scala/reflect/internal/Symbols.scala
+++ b/src/reflect/scala/reflect/internal/Symbols.scala
@@ -91,8 +91,8 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
def module = sourceModule
def thisPrefix: Type = thisType
def selfType: Type = typeOfThis
- def typeSignature: Type = info
- def typeSignatureIn(site: Type): Type = site memberInfo this
+ def typeSignature: Type = { fullyInitializeSymbol(this); info }
+ def typeSignatureIn(site: Type): Type = { fullyInitializeSymbol(this); site memberInfo this }
def toType: Type = tpe
def toTypeIn(site: Type): Type = site.memberType(this)