aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-02-13 12:47:45 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:11:06 +0100
commitc078ad338e5e2f10a8229f74b7141e636dba2700 (patch)
tree8229630f73d77eb261990ccbba1a19f9187c74bd /src/dotty/tools
parent93747cdb576d0a2cb17db1d392e1bdb56e8e6049 (diff)
downloaddotty-c078ad338e5e2f10a8229f74b7141e636dba2700.tar.gz
dotty-c078ad338e5e2f10a8229f74b7141e636dba2700.tar.bz2
dotty-c078ad338e5e2f10a8229f74b7141e636dba2700.zip
Tweaks in comments
Diffstat (limited to 'src/dotty/tools')
-rw-r--r--src/dotty/tools/dotc/core/Flags.scala8
-rw-r--r--src/dotty/tools/dotc/typer/Namer.scala4
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala4
3 files changed, 7 insertions, 9 deletions
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, "<noInits>") // TODO reconstitute from context
+ final val NoInits = typeFlag(32, "<noInits>") // TODO when unpickling, reconstitute from context
/** Variable is accessed from nested function. */
final val Captured = termFlag(32, "<captured>")
@@ -367,7 +367,7 @@ object Flags {
/** Symbol always defines a fresh named type */
final val Fresh = commonFlag(45, "<fresh>")
- /** 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, "<in supercall>")
/** 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