def flip()

in rsc/src/main/scala/rsc/classpath/scalacp/SymbolInformations.scala [51:79]


      def flip(sprop: Property) = result |= sprop.value
      def isAbstractClass = sym.isClass && sym.isAbstract && !sym.isTrait
      def isAbstractMethod = sym.isMethod && sym.isDeferred
      def isAbstractType = sym.isType && !sym.isParam && sym.isDeferred
      if (sym.isPackage) {
        ()
      } else if (sym.isJava) {
        crash(sym.toString)
      } else {
        if (isAbstractClass || isAbstractMethod || isAbstractType) flip(p.ABSTRACT)
        if (sym.isFinal || sym.isModule) flip(p.FINAL)
        if (sym.isSealed) flip(p.SEALED)
        if (sym.isImplicit) flip(p.IMPLICIT)
        if (sym.isLazy) flip(p.LAZY)
        if (sym.isCase && (sym.isClass || sym.isModule)) flip(p.CASE)
        if (sym.isType && sym.isCovariant) flip(p.COVARIANT)
        if (sym.isType && sym.isContravariant) flip(p.CONTRAVARIANT)
        if (sym.isField) {
          if (sym.isMutable) flip(p.VAR)
          else flip(p.VAL)
        }
        if (sym.isAccessor) {
          if (sym.isStable) flip(p.VAL)
          else flip(p.VAR)
        }
        // FIXME: https://github.com/twitter/rsc/issues/360
        // FIXME: https://github.com/twitter/rsc/issues/361
        if (sym.isDefaultParam) flip(p.DEFAULT)
      }