From 13495dab10ca9db14d12198303f11207b6b2d5dc Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 10 Oct 2013 18:27:13 +0200 Subject: New TypeArgs flag --- src/dotty/tools/dotc/core/Flags.scala | 7 ++++++- tests/pos/selftypes.scala | 19 ------------------- 2 files changed, 6 insertions(+), 20 deletions(-) delete mode 100644 tests/pos/selftypes.scala 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, "") + /** An type parameter which is an alias for some other (non-visible) type parameter */ + final val TypeArgument = typeFlag(26, "") + + final val CaseAccessorOrTypeArgument = CaseAccessor.toCommonFlags + /** A super accessor */ final val SuperAccessor = termFlag(27, "") @@ -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 -- cgit v1.2.3