From c078ad338e5e2f10a8229f74b7141e636dba2700 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 13 Feb 2015 12:47:45 +0100 Subject: Tweaks in comments --- src/dotty/tools/dotc/core/Flags.scala | 8 ++++---- src/dotty/tools/dotc/typer/Namer.scala | 4 ++-- src/dotty/tools/dotc/typer/Typer.scala | 4 +--- 3 files changed, 7 insertions(+), 9 deletions(-) (limited to 'src/dotty/tools') diff --git a/src/dotty/tools/dotc/core/Flags.scala b/src/dotty/tools/dotc/core/Flags.scala index c2e7cd399..e57ba066e 100644 --- a/src/dotty/tools/dotc/core/Flags.scala +++ b/src/dotty/tools/dotc/core/Flags.scala @@ -287,7 +287,7 @@ object Flags { /** A trait that has only abstract methods as members * (and therefore can be represented by a Java interface */ - final val PureInterface = typeFlag(22, "interface") + final val PureInterface = typeFlag(22, "interface") // TODO when unpickling, reconstitute from context /** Labeled with of abstract & override */ final val AbsOverride = termFlag(22, "abstract override") @@ -336,7 +336,7 @@ object Flags { final val JavaStaticType = JavaStatic.toTypeFlags /** Trait is not an interface, but does not have fields or intialization code */ - final val NoInits = typeFlag(32, "") // TODO reconstitute from context + final val NoInits = typeFlag(32, "") // TODO when unpickling, reconstitute from context /** Variable is accessed from nested function. */ final val Captured = termFlag(32, "") @@ -367,7 +367,7 @@ object Flags { /** Symbol always defines a fresh named type */ final val Fresh = commonFlag(45, "") - /** Symbol is defined in a super call */ // TODO reconstitute from context + /** Symbol is defined in a super call */ // TODO when unpickling, reconstitute from context final val InSuperCall = commonFlag(46, "") /** Symbol with private access is accessed outside its private scope */ @@ -554,7 +554,7 @@ object Flags { /** A Java interface, potentially with default methods */ final val JavaTrait = allOf(JavaDefined, Trait, NoInits) - /** A Java interface */ // TODO reconstitute from context + /** A Java interface */ // TODO when unpickling, reconstitute from context final val JavaInterface = allOf(JavaDefined, Trait) /** A Java companion object */ diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala index 95f0b4165..c522a5998 100644 --- a/src/dotty/tools/dotc/typer/Namer.scala +++ b/src/dotty/tools/dotc/typer/Namer.scala @@ -497,9 +497,9 @@ class Namer { typer: Typer => denot.info = ClassInfo(cls.owner.thisType, cls, parentRefs, decls, selfInfo) if (cls is Trait) { if (body forall isNoInitMember) { - cls.setFlag(NoInits) // TODO set when unpickling + cls.setFlag(NoInits) if (body forall isPureInterfaceMember) - cls.setFlag(PureInterface) // TODO set when unpickling + cls.setFlag(PureInterface) } } } diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index d194ccaae..974a42638 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -801,10 +801,8 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit typr.println(s"adding refinement $refinement") checkRefinementNonCyclic(refinement, refineCls, seen) val rsym = refinement.symbol - if ((rsym.is(Method) || rsym.isType) && rsym.allOverriddenSymbols.isEmpty) { - println(refineCls.baseClasses) + if ((rsym.is(Method) || rsym.isType) && rsym.allOverriddenSymbols.isEmpty) ctx.error(i"refinement $rsym without matching type in parent $parent", refinement.pos) - } val rinfo = if (rsym is Accessor) rsym.info.resultType else rsym.info RefinedType(parent, rsym.name, rt => rinfo.substThis(refineCls, SkolemType(rt))) // todo later: check that refinement is within bounds -- cgit v1.2.3