diff options
author | Paul Phillips <paulp@improving.org> | 2012-12-21 12:39:02 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-28 15:15:52 -0800 |
commit | 394cc426c1ff1da53146679b4e2995ece52a133e (patch) | |
tree | a93bf5d05957f3e6b9100e3365c9a1cf0aa1f181 /test/files/scalap/classPrivate | |
parent | ed40f5cbdf35d09b02898e9c0950b9bd34c1f858 (diff) | |
download | scala-394cc426c1ff1da53146679b4e2995ece52a133e.tar.gz scala-394cc426c1ff1da53146679b4e2995ece52a133e.tar.bz2 scala-394cc426c1ff1da53146679b4e2995ece52a133e.zip |
Fix and simplify typedTypeConstructor.
Investigating the useful output of devWarning (-Xdev people,
it's good for you) led back to this comment:
"normalize to get rid of type aliases"
You may know that this is not all the normalizing does.
Normalizing also turns TypeRefs with unapplied arguments
(type constructors) into PolyTypes. That means that when
typedParentType would call typedTypeConstructor it would
find its parent had morphed into a PolyType. Not that it
noticed; it would blithely continue and unwittingly discard
the type arguments by way of appliedType (which smoothly
logged the incident, thank you appliedType.)
The simplification of typedTypeConstructor:
There was a whole complicated special treatment of AnyRef
here which appears to have become unnecessary. Removed special
treatment and lit a candle for regularity.
Updated lots of tests regarding newly not-so-special AnyRef.
Diffstat (limited to 'test/files/scalap/classPrivate')
-rw-r--r-- | test/files/scalap/classPrivate/result.test | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/files/scalap/classPrivate/result.test b/test/files/scalap/classPrivate/result.test index 5f2e1cc00e..ab2d40cdaf 100644 --- a/test/files/scalap/classPrivate/result.test +++ b/test/files/scalap/classPrivate/result.test @@ -1,7 +1,7 @@ -class ClassPrivate extends java.lang.Object { +class ClassPrivate extends scala.AnyRef { def this() = { /* compiled code */ } def baz : scala.Int = { /* compiled code */ } - class Outer extends java.lang.Object { + class Outer extends scala.AnyRef { def this() = { /* compiled code */ } private[ClassPrivate] def qux : scala.Int = { /* compiled code */ } } |