aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-02-27 16:50:03 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:14:12 +0100
commita0c2d6c5ba6d190d183babb3941b3607b112b8fc (patch)
treec88dafde25cbb198e3948cb5508fe0adce71782d /src/dotty/tools/dotc
parente837105c7ed6aa96e1b4d37b46d17e735ce71acf (diff)
downloaddotty-a0c2d6c5ba6d190d183babb3941b3607b112b8fc.tar.gz
dotty-a0c2d6c5ba6d190d183babb3941b3607b112b8fc.tar.bz2
dotty-a0c2d6c5ba6d190d183babb3941b3607b112b8fc.zip
Set NoInits also for non-trait classes
The flag seems useful also for plain classes. No reason to restrict to traits.
Diffstat (limited to 'src/dotty/tools/dotc')
-rw-r--r--src/dotty/tools/dotc/typer/Namer.scala10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala
index 6460be81f..8293b0239 100644
--- a/src/dotty/tools/dotc/typer/Namer.scala
+++ b/src/dotty/tools/dotc/typer/Namer.scala
@@ -523,12 +523,10 @@ class Namer { typer: Typer =>
index(rest)(inClassContext(selfInfo))
denot.info = ClassInfo(cls.owner.thisType, cls, parentRefs, decls, selfInfo)
- if (cls is Trait) {
- if (impl.body forall isNoInitMember) {
- cls.setFlag(NoInits)
- if (impl.body forall isPureInterfaceMember)
- cls.setFlag(PureInterface)
- }
+ if (impl.body forall isNoInitMember) {
+ cls.setFlag(NoInits)
+ if (cls.is(Trait) && impl.body.forall(isPureInterfaceMember))
+ cls.setFlag(PureInterface)
}
}
}