Dotty Documentation

0.5.0-bin-SNAPSHOT

object Flags
extends Object

[-] Constructors

[-] Members

[+] case class FlagConjunction

A class representing flag sets that should be tested conjunctively. I.e. for a flag conjunction fc, x is fc tests whether x contains all flags in fc.

[+] object FlagConjunction

A class representing flag sets that should be tested conjunctively. I.e. for a flag conjunction fc, x is fc tests whether x contains all flags in fc.

[+] final case class FlagSet

A FlagSet represents a set of flags. Flags are encoded as follows: The first two bits indicate whether a flagset applies to terms, to types, or to both. Bits 2..63 are available for properties and can be doubly used for terms and types. Combining two FlagSets with | will give a FlagSet that has the intersection of the applicability to terms/types of the two flag sets. It is checked that the intersection is not empty.

[+] object FlagSet

A FlagSet represents a set of flags. Flags are encoded as follows: The first two bits indicate whether a flagset applies to terms, to types, or to both. Bits 2..63 are available for properties and can be doubly used for terms and types. Combining two FlagSets with | will give a FlagSet that has the intersection of the applicability to terms/types of the two flag sets. It is checked that the intersection is not empty.

[+] final val AbsOverride : FlagSet

Labeled with of abstract & override

[+] final val Abstract : FlagSet

Labeled with abstract modifier (an abstract class) Note: You should never see Abstract on any symbol except a class. Note: the flag counts as common, because it can be combined with OVERRIDE in a term.

[+] final val AbstractAndOverride : FlagConjunction
[+] final val AbstractFinal : FlagConjunction
[+] final val AbstractOrTrait : FlagSet

An abstract class or a trait

[+] final val AbstractSealed : FlagConjunction
[+] final val AccessFlags : FlagSet

Flags representing access rights

[+] final val Accessor : FlagSet

A value or variable accessor (getter or setter)

[+] final val AccessorCreationFlags : FlagSet

Accessors always have these flags set

[+] final val AccessorOrLabel : FlagSet

An accessor or label

[+] final val AccessorOrSealed : FlagSet
[+] final val AfterLoadFlags : FlagSet

Flags guaranteed to be set upon symbol creation, or, if symbol is a top-level class or object, when the class file defining the symbol is loaded (which is generally before the symbol is completed

[+] final val AnyFlags : FlagSet
[+] final val Artifact : FlagSet

Symbol should be ignored when typechecking; will be marked ACC_SYNTHETIC in bytecode

[+] final val BindDefinedType : FlagSet

A type that is defined by a type bind

[+] final val Bridge : FlagSet

A bridge method. Set by Erasure

[+] final val Captured : FlagSet

Variable is accessed from nested function.

[+] final val Case : FlagSet

A case class or its companion object

[+] final val CaseAccessor : FlagSet

A case parameter accessor

[+] final val CaseClass : FlagSet
[+] final val CaseVal : FlagSet
[+] final val ClassTypeParam : FlagConjunction

A type parameter of a class or trait

[+] final val ClassTypeParamCreationFlags : FlagSet

The flags of a class type parameter

[+] final val Contravariant : FlagSet
[+] final val ContravariantOrLabel : FlagSet

A contravariant type variable / a label method

[+] final val Covariant : FlagSet
[+] final val CovariantOrOuter : FlagSet

A covariant type variable / an outer accessor

[+] final val DefaultMethod : FlagSet

Symbol is a Java default method

[+] final val DefaultParameter : FlagConjunction

Is a default parameter in Scala 2

[+] final val DefaultParameterized : FlagSet

A method that has default params

[+] final val Deferred : FlagSet

A declared, but not defined member

[+] final val DeferredOrParamAccessor : FlagSet

A deferred member or a parameter accessor (these don't have right hand sides)

[+] final val DeferredTerm : FlagSet
[+] final val DeferredType : FlagSet
[+] final val EmptyFlags : FlagSet

The empty flag set

[+] final val Enum : FlagSet

Symbol is a Java enum

[+] final val Erroneous : FlagSet

An error symbol

[+] final val Final : FlagSet

Labeled with final modifier

[+] final val FinalOrInline : FlagSet

value that's final or inline

[+] private final val FirstFlag : 2
[+] private final val FirstNotPickledFlag : 48
[+] final val FromStartFlags : FlagSet

Flags guaranteed to be set upon symbol creation

[+] final val HasDefaultParams : FlagSet

Has defined or inherited default parameters

[+] final val HigherKinded : FlagSet
[+] final val ImplClass : FlagSet

Symbol is an implementation class of a Scala2 trait

[+] final val Implicit : FlagSet
[+] final val ImplicitCommon : FlagSet

Labeled with implicit modifier (implicit value)

[+] final val InheritedDefaultParams : FlagSet

A method that is known to have inherited default parameters

[+] final val Inline : FlagSet

Symbol is inlined

[+] final val InlineMethod : FlagConjunction

An inline method

[+] final val InlineParam : FlagConjunction

An inline parameter

[+] final val JavaDefined : FlagSet

Symbol is defined by a Java class

[+] final val JavaInterface : FlagConjunction
[+] final val JavaModule : FlagConjunction

A Java companion object

[+] final val JavaProtected : FlagConjunction

A Java companion object

[+] final val JavaStatic : FlagSet

Symbol is implemented as a Java static

[+] final val JavaStaticTerm : FlagSet
[+] final val JavaStaticType : FlagSet
[+] final val JavaTrait : FlagConjunction

A Java interface, potentially with default methods

[+] final val JavaVarargs : FlagSet

Symbol is a Java-style varargs method

[+] private final val KINDFLAGS : 3
[+] final val Label : FlagSet
[+] final val Lazy : FlagSet

Labeled with lazy (a lazy val).

[+] final val LazyOrDeferred : FlagSet

A lazy or deferred value

[+] final val LazyOrTrait : FlagSet
[+] final val Lifted : FlagSet

Class has been lifted out to package level, local value has been lifted out to class level

[+] final val Local : FlagSet

Symbol is local to current class (i.e. private[this] or protected[this] pre: Private or Protected are also set

[+] final val LocalContravariant : FlagConjunction

A contravariant type parameter instance

[+] final val LocalCovariant : FlagConjunction

A covariant type parameter instance

[+] final val Macro : FlagSet

A macro (Scala 2.x only)

[+] private final val MaxFlag : 63
[+] final val Method : FlagSet
[+] final val MethodOrHKCommon : FlagSet

A method symbol.

[+] final val MethodOrLazy : FlagSet

Either method or lazy

[+] final val MethodOrLazyOrDeferred : FlagSet

Either method or lazy or deferred

[+] final val MixedIn : FlagSet

Term member has been mixed in

[+] final val ModifierFlags : FlagSet

Flags representing modifiers that can appear in trees

[+] final val Module : FlagSet

A value or class implementing a module

[+] final val ModuleClass : FlagSet
[+] final val ModuleClassCreationFlags : FlagSet

Module classes always have these flags set

[+] final val ModuleCreationFlags : FlagSet

Modules always have these flags set

[+] final val ModuleOrFinal : FlagSet

Either a module or a final class

[+] final val ModuleVal : FlagSet
[+] final val Mutable : FlagSet

A mutable var

[+] final val MutableOrLazy : FlagSet

Either mutable or lazy

[+] final val NoDefaultParams : FlagSet

A method that is known to have no default parameters

[+] final val NoInits : FlagSet

Trait does not have fields or initialization code. Warning: flag is set during regular typer pass, should be tested only after typer.

[+] final val NoInitsInterface : FlagSet
[+] final val NoInitsTrait : FlagConjunction

A trait that does not need to be initialized

[+] final val NonMember : FlagSet

Symbol is not a member of its owner

[+] final val OuterAccessor : FlagSet
[+] final val Override : FlagSet

Labeled with override modifier

[+] final val Package : FlagSet

A value or class representing a package

[+] final val PackageClass : FlagSet
[+] final val PackageCreationFlags : FlagSet

Packages and package classes always have these flags set

[+] final val PackageVal : FlagSet
[+] final val Param : FlagSet

A (term or type) parameter to a class or method

[+] final val ParamAccessor : FlagSet

A field generated for a primary constructor parameter (no matter if it's a 'val' or not), or an accessor of such a field.

[+] final val ParamAndLocal : FlagConjunction

A local parameter

[+] final val ParamForwarder : FlagConjunction

A parameter forwarder

[+] final val Permanent : FlagSet

A denotation that is valid in all run-ids

[+] final val PickledFlags : FlagSet

These flags are pickled

[+] final val Private : FlagSet

Labeled with private modifier

[+] final val PrivateAccessor : FlagConjunction

A private accessor

[+] final val PrivateLocal : FlagConjunction

Labeled private[this]

[+] final val PrivateLocalParam : FlagConjunction

A private[this] parameter

[+] final val PrivateLocalParamAccessor : FlagConjunction

A private[this] parameter accessor

[+] final val PrivateMethod : FlagConjunction

A private method

[+] final val PrivateOrFinalOrInline : FlagSet

Labeled private, final, or inline

[+] final val PrivateOrLocal : FlagSet

Labeled private or protected[local]

[+] final val PrivateParamAccessor : FlagConjunction

A private parameter accessor

[+] final val PrivateTerm : FlagSet
[+] final val PrivateType : FlagSet
[+] final val Protected : FlagSet

Labeled with protected modifier

[+] final val ProtectedLocal : FlagConjunction

Labeled protected[this]

[+] final val Provisional : FlagSet

A type symbol with provisional empty bounds

[+] final val PureInterface : FlagSet

A trait that has only abstract methods as members and therefore can be represented by a Java interface. Warning: flag is set during regular typer pass, should be tested only after typer.

[+] final val PureInterfaceCreationFlags : FlagSet

Pure interfaces always have these flags

[+] final val RetainedModuleClassFlags : FlagSet

Flags that can apply to a module class

[+] final val RetainedModuleValAndClassFlags : FlagSet

Flags that can apply to both a module val and a module class, except those that are added at creation anyway

[+] final val RetainedModuleValFlags : FlagSet

Flags that can apply to a module val

[+] final val RetainedTypeArgFlags : FlagSet

Flags that are passed from a type parameter of a class to a refinement symbol that sets the type parameter

[+] final val Scala2Existential : FlagSet
[+] final val Scala2ExistentialCommon : FlagSet

An existentially bound symbol (Scala 2.x only)

[+] final val Scala2ExpandedName : FlagSet

Translation of Scala2's EXPANDEDNAME flag. This flag is never stored in symbols, is only used locally when reading the flags of a Scala2 symbol. It's therefore safe to share the code with InheritedDefaultParams because the latter is never present in Scala2 unpickle info.

[+] final val Scala2ModuleVar : FlagSet

A module variable (Scala 2.x only)

[+] final val Scala2PreSuper : FlagSet

A definition that's initialized before the super call (Scala 2.x only)

[+] final val Scala2SuperAccessor : FlagSet

A super accessor

[+] final val Scala2Trait : FlagConjunction
[+] final val Scala2x : FlagSet

An unpickled Scala 2.x class

[+] final val Scala_2_12_Augmented : FlagSet

A Scala 2.12 trait that has been augmented with static members

[+] final val Scala_2_12_Trait : FlagSet

A Scala 2.12 or higher trait

[+] final val Sealed : FlagSet

Labeled with sealed modifier (sealed class)

[+] final val SelfName : FlagSet

Symbol is a self name

[+] final val SelfNameOrImplClass : FlagSet
[+] final val SelfSymFlags : FlagSet

The flags of the self symbol

[+] final val SourceModifierFlags : FlagSet

Flags representing source modifiers

[+] final val Specialized : FlagSet

Symbol is a generated specialized member

[+] final val Stable : FlagSet

Lazy val or method is known or assumed to be stable and realizable

[+] final val StaticProtected : FlagConjunction

Java symbol which is protected and static

[+] final val SuperAccessorOrScala2x : FlagSet
[+] final val Synchronized : FlagSet

Symbol is a method which should be marked ACC_SYNCHRONIZED

[+] final val Synthetic : FlagSet

A compiler-generated symbol, which is visible for type-checking (compare with artifact)

[+] final val SyntheticArtifact : FlagConjunction
[+] final val SyntheticCase : FlagConjunction
[+] final val SyntheticModule : FlagConjunction
[+] final val SyntheticOrPrivate : FlagSet

A synthetic or private definition

[+] final val SyntheticTermParam : FlagConjunction
[+] final val SyntheticTypeParam : FlagConjunction
[+] private final val TERMS : 1
[+] private final val TERMindex : 0
[+] private final val TYPES : 2
[+] private final val TYPESHIFT : 2
[+] private final val TYPEindex : 1
[+] final val TermParam : FlagSet
[+] final val TermParamOrAccessor : FlagSet

A term parameter or parameter accessor

[+] final val Touched : FlagSet

Denotation is in train of being loaded and completed, used to catch cyclic dependencies

[+] final val Trait : FlagSet

A trait

[+] final val TypeParam : FlagSet
[+] final val UndefinedFlags : FlagSet

The undefined flag set

[+] final val UnstableValue : FlagSet

A value that's unstable unless complemented with a Stable flag

[+] final val VBridge : FlagSet
[+] final val ValidForever : FlagSet

Is valid forever

[+] final val VarianceFlags : FlagSet

Flags that express the variance of a type parameter.

[+] private val flagName : Array [ Array [ String ] ]
[+] def allOf ( flagss: [ FlagSet ] ) : FlagConjunction
[+] private def commonFlag ( index: Int , name: String ) : FlagSet

The flag with given index between 2 and 63 which applies to both terms and types Installs given name as the name of the flag.

[+] def commonFlags ( flagss: [ FlagSet ] ) : FlagSet
[+] implicit def conjToFlagSet ( conj: FlagConjunction ) : FlagSet
[+] private def flagRange ( start: Int , end: Int ) : FlagSet

The flag set containing all defined flags of either kind whose bits lie in the given range

[+] private def isDefinedAsFlag ( idx: Int ) : Boolean
[+] private def termFlag ( index: Int , name: String ) : FlagSet
[+] private def typeFlag ( index: Int , name: String ) : FlagSet

The flag with given index between 2 and 63 which applies to types. Installs given name as the name of the flag.

[+] def union ( flagss: [ FlagSet ] ) : FlagSet

The union of all flags in given flag set