diff options
author | Martin Odersky <odersky@gmail.com> | 2013-10-10 18:27:13 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-10-10 18:27:57 +0200 |
commit | 13495dab10ca9db14d12198303f11207b6b2d5dc (patch) | |
tree | 6b26a76a5284445ebafc90d37d73f8d384002035 | |
parent | d13fa248d5c53b165ab4f927099d0e25303ef39a (diff) | |
download | dotty-13495dab10ca9db14d12198303f11207b6b2d5dc.tar.gz dotty-13495dab10ca9db14d12198303f11207b6b2d5dc.tar.bz2 dotty-13495dab10ca9db14d12198303f11207b6b2d5dc.zip |
New TypeArgs flag
-rw-r--r-- | src/dotty/tools/dotc/core/Flags.scala | 7 | ||||
-rw-r--r-- | tests/pos/selftypes.scala | 19 |
2 files changed, 6 insertions, 20 deletions
diff --git a/src/dotty/tools/dotc/core/Flags.scala b/src/dotty/tools/dotc/core/Flags.scala index 21ed04112..f9dae08e8 100644 --- a/src/dotty/tools/dotc/core/Flags.scala +++ b/src/dotty/tools/dotc/core/Flags.scala @@ -294,6 +294,11 @@ object Flags { /** A case parameter (or its accessor, or a GADT skolem) */ final val CaseAccessor = termFlag(26, "<caseaccessor>") + /** An type parameter which is an alias for some other (non-visible) type parameter */ + final val TypeArgument = typeFlag(26, "<type-param-inst>") + + final val CaseAccessorOrTypeArgument = CaseAccessor.toCommonFlags + /** A super accessor */ final val SuperAccessor = termFlag(27, "<superaccessor>") @@ -389,7 +394,7 @@ object Flags { final val FromStartFlags = AccessFlags | Module | Package | Deferred | Param | Scala2ExistentialCommon | Touched | Static | CovariantCommon | ContravariantCommon | ExpandedName | AccessorOrSealed | - Frozen | Erroneous | ImplicitCommon | Permanent + CaseAccessorOrTypeArgument | Frozen | Erroneous | ImplicitCommon | Permanent assert(FromStartFlags.isTermFlags && FromStartFlags.isTypeFlags) // TODO: Should check that FromStartFlags do not change in completion diff --git a/tests/pos/selftypes.scala b/tests/pos/selftypes.scala deleted file mode 100644 index 94e4a5760..000000000 --- a/tests/pos/selftypes.scala +++ /dev/null @@ -1,19 +0,0 @@ -object selftypes { - - trait LinearSeqLike[+A, +Repr <: LinearSeqLike[A, Repr]] { - self: Repr => - - type X - - def toX: X - - } - - abstract class LS[+A] extends LinearSeqLike[A, LS[A]] { - - } - - val x: LS[Int] = null - - x.toX -}
\ No newline at end of file |