aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-10-25 12:16:42 +0100
committerMartin Odersky <odersky@gmail.com>2015-10-25 12:24:45 +0100
commit982d19cbbc058f594e79544888a3be2bfc9a4a06 (patch)
treeb20b16e5f3cebfee262b84274b53e5aa3a8cf2b6
parentcdcc7e3592386fcfe0f2b9915db78a894ac92536 (diff)
downloaddotty-982d19cbbc058f594e79544888a3be2bfc9a4a06.tar.gz
dotty-982d19cbbc058f594e79544888a3be2bfc9a4a06.tar.bz2
dotty-982d19cbbc058f594e79544888a3be2bfc9a4a06.zip
Make SuperAccessor and Scala2x "FromStart" flags.
-rw-r--r--src/dotty/tools/dotc/core/Flags.scala4
-rw-r--r--src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/Flags.scala b/src/dotty/tools/dotc/core/Flags.scala
index 0dde5de95..9ff6cfd95 100644
--- a/src/dotty/tools/dotc/core/Flags.scala
+++ b/src/dotty/tools/dotc/core/Flags.scala
@@ -315,6 +315,8 @@ object Flags {
/** An unpickled Scala 2.x class */
final val Scala2x = typeFlag(26, "<scala-2.x>")
+ final val Scala2xOrSuperAccessor = SuperAccessor.toCommonFlags
+
/** A method that has default params */
final val DefaultParameterized = termFlag(27, "<defaultparam>")
@@ -440,7 +442,7 @@ object Flags {
AccessFlags | Module | Package | Deferred | Final | MethodOrHKCommon | Param | ParamAccessor | Scala2ExistentialCommon |
InSuperCall | Touched | JavaStatic | CovariantOrOuter | ContravariantOrLabel | ExpandedName | AccessorOrSealed |
CaseAccessorOrTypeArgument | Fresh | Frozen | Erroneous | ImplicitCommon | Permanent |
- SelfNameOrImplClass
+ Scala2xOrSuperAccessor | SelfNameOrImplClass
assert(FromStartFlags.isTermFlags && FromStartFlags.isTypeFlags)
// TODO: Should check that FromStartFlags do not change in completion
diff --git a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
index e80712566..a746d81db 100644
--- a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
+++ b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
@@ -450,6 +450,7 @@ class Scala2Unpickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClas
}
def finishSym(sym: Symbol): Symbol = {
+ if (sym.isClass) sym.setFlag(Scala2x)
val owner = sym.owner
if (owner.isClass &&
!( isUnpickleRoot(sym)
@@ -535,7 +536,6 @@ class Scala2Unpickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClas
case denot: ClassDenotation =>
val selfInfo = if (atEnd) NoType else readTypeRef()
setClassInfo(denot, tp, selfInfo)
- denot setFlag Scala2x
case denot =>
val tp1 = depoly(tp, denot)
denot.info =