diff options
Diffstat (limited to 'src/dotty/tools/dotc/transform/NormalizeFlags.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/NormalizeFlags.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/transform/NormalizeFlags.scala b/src/dotty/tools/dotc/transform/NormalizeFlags.scala index bdec800c7..2f5907b75 100644 --- a/src/dotty/tools/dotc/transform/NormalizeFlags.scala +++ b/src/dotty/tools/dotc/transform/NormalizeFlags.scala @@ -9,7 +9,7 @@ import SymDenotations.SymDenotation import TreeTransforms.MiniPhaseTransform import Flags._, Symbols._ -/** 1. Widens all private[this] and protected[this] qualifiers to just private/protected +/** 1. Widens all private[this] and protected[this] qualifiers to just private/protected * 2. Sets PureInterface flag for traits that only have pure interface members and that * do not have initialization code. A pure interface member is either an abstract * or alias type definition or a deferred val or def. @@ -19,12 +19,12 @@ class NormalizeFlags extends MiniPhaseTransform with SymTransformer { thisTransf def transformSym(ref: SymDenotation)(implicit ctx: Context) = { var newFlags = ref.flags &~ Local - if (ref.is(NoInitsTrait) && ref.info.decls.forall(isPureInterfaceMember)) + if (ref.is(NoInitsTrait) && ref.info.decls.forall(isPureInterfaceMember)) newFlags |= PureInterface if (newFlags != ref.flags) ref.copySymDenotation(initFlags = newFlags) else ref } - - private def isPureInterfaceMember(sym: Symbol)(implicit ctx: Context) = + + private def isPureInterfaceMember(sym: Symbol)(implicit ctx: Context) = if (sym.isTerm) sym.is(Deferred) else !sym.isClass } |