diff options
author | Martin Odersky <odersky@gmail.com> | 2015-02-27 16:50:03 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-18 11:14:12 +0100 |
commit | a0c2d6c5ba6d190d183babb3941b3607b112b8fc (patch) | |
tree | c88dafde25cbb198e3948cb5508fe0adce71782d /src/dotty/tools/dotc/typer/Namer.scala | |
parent | e837105c7ed6aa96e1b4d37b46d17e735ce71acf (diff) | |
download | dotty-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/typer/Namer.scala')
-rw-r--r-- | src/dotty/tools/dotc/typer/Namer.scala | 10 |
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) } } } |