diff options
author | Paul Phillips <paulp@improving.org> | 2013-05-26 15:33:29 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-05-26 16:46:36 -0700 |
commit | de249bab42c36b2ce2f5af478a98ce411ab5c9b3 (patch) | |
tree | 3b5800b71433c0d6c77bcee1c7658437822d18ce /src/reflect | |
parent | 41073f8db662906ada4b779f199ea6d5f4bd5e1f (diff) | |
download | scala-de249bab42c36b2ce2f5af478a98ce411ab5c9b3.tar.gz scala-de249bab42c36b2ce2f5af478a98ce411ab5c9b3.tar.bz2 scala-de249bab42c36b2ce2f5af478a98ce411ab5c9b3.zip |
Print raw types correctly.
The "For convenience, these are usable as stub implementations"
bit has generated surprisingly few angry letters, but I noticed
today it blows it on raw types. Or, used to blow it.
/** As seen from class Sub, the missing signatures are as follows.
* For convenience, these are usable as stub implementations.
* (First one before this commitw as 'def raw(x$1: M_1)'
*/
def raw(x$1: M_1[_ <: String]): Unit = ???
def raw(x$1: Any): Unit = ???
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/Definitions.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Definitions.scala b/src/reflect/scala/reflect/internal/Definitions.scala index 040ea5fa4e..5cd86b7eed 100644 --- a/src/reflect/scala/reflect/internal/Definitions.scala +++ b/src/reflect/scala/reflect/internal/Definitions.scala @@ -207,13 +207,17 @@ trait Definitions extends api.StandardDefinitions { */ def fullyInitializeSymbol(sym: Symbol): Symbol = { sym.initialize + // Watch out for those darn raw types on method parameters + if (sym.owner.initialize.isJavaDefined) + sym.cookJavaRawInfo() + fullyInitializeType(sym.info) fullyInitializeType(sym.tpe_*) sym } def fullyInitializeType(tp: Type): Type = { tp.typeParams foreach fullyInitializeSymbol - tp.paramss.flatten foreach fullyInitializeSymbol + mforeach(tp.paramss)(fullyInitializeSymbol) tp } def fullyInitializeScope(scope: Scope): Scope = { |