@@ -304,39 +304,36 @@ class BTypesFromSymbols[I <: DottyBackendInterface](val int: I) extends BTypes {
304304 val finalFlag = sym.is(Final ) && ! toDenot(sym).isClassConstructor && ! sym.is(Mutable ) && ! sym.enclosingClass.is(Trait )
305305
306306 import asm .Opcodes ._
307- GenBCodeOps .mkFlags(
308- if (privateFlag) ACC_PRIVATE else ACC_PUBLIC ,
309- if (sym.is( Deferred ) || sym.isOneOf( AbstractOrTrait )) ACC_ABSTRACT else 0 ,
310- if (sym.isInterface) ACC_INTERFACE else 0 ,
311-
312- if (finalFlag &&
307+ import GenBCodeOps .addFlagIf
308+ 0 .addFlagIf (privateFlag, ACC_PRIVATE )
309+ .addFlagIf( ! privateFlag, ACC_PUBLIC )
310+ .addFlagIf (sym.is( Deferred ) || sym.isOneOf( AbstractOrTrait ), ACC_ABSTRACT )
311+ .addFlagIf(sym.isInterface, ACC_INTERFACE )
312+ .addFlagIf (finalFlag
313313 // Primitives are "abstract final" to prohibit instantiation
314314 // without having to provide any implementations, but that is an
315315 // illegal combination of modifiers at the bytecode level so
316316 // suppress final if abstract if present.
317- ! sym.isOneOf(AbstractOrTrait ) &&
317+ && ! sym.isOneOf(AbstractOrTrait )
318318 // Mixin forwarders are bridges and can be final, but final bridges confuse some frameworks
319- ! sym.is(Bridge ))
320- ACC_FINAL else 0 ,
321-
322- if (sym.isStaticMember) ACC_STATIC else 0 ,
323- if (sym.is(Bridge )) ACC_BRIDGE | ACC_SYNTHETIC else 0 ,
324- if (sym.is(Artifact )) ACC_SYNTHETIC else 0 ,
325- if (sym.isClass && ! sym.isInterface) ACC_SUPER else 0 ,
326- if (sym.isAllOf(JavaEnumTrait )) ACC_ENUM else 0 ,
327- if (sym.is(JavaVarargs )) ACC_VARARGS else 0 ,
328- if (sym.is(Synchronized )) ACC_SYNCHRONIZED else 0 ,
329- if (sym.isDeprecated) ACC_DEPRECATED else 0 ,
330- if (sym.is(Enum )) ACC_ENUM else 0
331- )
319+ && ! sym.is(Bridge ), ACC_FINAL )
320+ .addFlagIf(sym.isStaticMember, ACC_STATIC )
321+ .addFlagIf(sym.is(Bridge ), ACC_BRIDGE | ACC_SYNTHETIC )
322+ .addFlagIf(sym.is(Artifact ), ACC_SYNTHETIC )
323+ .addFlagIf(sym.isClass && ! sym.isInterface, ACC_SUPER )
324+ .addFlagIf(sym.isAllOf(JavaEnumTrait ), ACC_ENUM )
325+ .addFlagIf(sym.is(JavaVarargs ), ACC_VARARGS )
326+ .addFlagIf(sym.is(Synchronized ), ACC_SYNCHRONIZED )
327+ .addFlagIf(sym.isDeprecated, ACC_DEPRECATED )
328+ .addFlagIf(sym.is(Enum ), ACC_ENUM )
332329 }
333330
334331 def javaFieldFlags (sym : Symbol ) = {
335332 import asm .Opcodes ._
336- javaFlags(sym) | GenBCodeOps .mkFlags(
337- if (sym.hasAnnotation( TransientAttr )) ACC_TRANSIENT else 0 ,
338- if (sym.hasAnnotation(VolatileAttr )) ACC_VOLATILE else 0 ,
339- if (sym.is( Mutable )) 0 else ACC_FINAL
340- )
333+ import GenBCodeOps .addFlagIf
334+ javaFlags (sym)
335+ .addFlagIf (sym.hasAnnotation(TransientAttr ), ACC_TRANSIENT )
336+ .addFlagIf (sym.hasAnnotation( VolatileAttr ), ACC_VOLATILE )
337+ .addFlagIf( ! sym.is( Mutable ), ACC_FINAL )
341338 }
342339}
0 commit comments