aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-10-10 18:27:13 +0200
committerMartin Odersky <odersky@gmail.com>2013-10-10 18:27:57 +0200
commit13495dab10ca9db14d12198303f11207b6b2d5dc (patch)
tree6b26a76a5284445ebafc90d37d73f8d384002035
parentd13fa248d5c53b165ab4f927099d0e25303ef39a (diff)
downloaddotty-13495dab10ca9db14d12198303f11207b6b2d5dc.tar.gz
dotty-13495dab10ca9db14d12198303f11207b6b2d5dc.tar.bz2
dotty-13495dab10ca9db14d12198303f11207b6b2d5dc.zip
New TypeArgs flag
-rw-r--r--src/dotty/tools/dotc/core/Flags.scala7
-rw-r--r--tests/pos/selftypes.scala19
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