Flags

dotty.tools.dotc.core.Flags
object Flags

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Flags.type

Members list

Type members

Classlikes

opaque object opaques

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
opaques.type

Types

type Flag = Flag

Value members

Concrete methods

def and(x1: FlagSet, x2: FlagSet): FlagSet
def commonFlags(flagss: FlagSet*): FlagSet
def or(x1: FlagSet, x2: FlagSet): FlagSet
def union(flagss: FlagSet*): FlagSet

The union of all flags in given flag set

The union of all flags in given flag set

Attributes

Concrete fields

val Abstract: Flag

Flags representing access rights

Flags representing access rights

Attributes

val Accessor: Flag

Accessors always have these flags set

Accessors always have these flags set

Attributes

Flags that are not (re)set when completing the denotation, or, if symbol is a top-level class or object, when completing the denotation once the class file defining the symbol is loaded (which is generally before the denotation is completed)

Flags that are not (re)set when completing the denotation, or, if symbol is a top-level class or object, when completing the denotation once the class file defining the symbol is loaded (which is generally before the denotation is completed)

Attributes

All possible flags

All possible flags

Attributes

val Artifact: Flag
val Bridge: Flag
val Captured: Flag
val Case: Flag
val CaseVal: Flag

Flags that apply only to classes

Flags that apply only to classes

Attributes

The flags of a class type parameter

The flags of a class type parameter

Attributes

val Deferred: Flag

The empty flag set

The empty flag set

Attributes

val Enum: Flag
val EnumVal: Flag
val Erased: Flag
val Exported: Flag
val Final: Flag

Flags that are not (re)set when completing the denotation TODO: Should check that FromStartFlags do not change in completion

Flags that are not (re)set when completing the denotation TODO: Should check that FromStartFlags do not change in completion

Attributes

val Given: Flag
val GivenVal: Flag
val Implicit: Flag
val Impure: Flag
val Infix: Flag
val Inline: Flag
val Label: Flag
val Lazy: Flag
val Lifted: Flag
val Local: Flag
val Macro: Flag
val Method: Flag
val MixedIn: Flag

Flags representing modifiers that can appear in trees

Flags representing modifiers that can appear in trees

Attributes

val Module: Flag

Module classes always have these flags set

Module classes always have these flags set

Attributes

Modules always have these flags set

Modules always have these flags set

Attributes

val Mutable: Flag
val NoInits: Flag
val Opaque: Flag
val Open: Flag
val Override: Flag
val Package: Flag

Packages and package classes always have these flags set

Packages and package classes always have these flags set

Attributes

val Param: Flag

These flags are pickled

These flags are pickled

Attributes

val Private: Flag

Pure interfaces always have these flags

Pure interfaces always have these flags

Attributes

Flags retained in export forwarders

Flags retained in export forwarders

Attributes

Flags that can apply to a module class

Flags that can apply to a module class

Attributes

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

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

Attributes

Flags that can apply to a module val

Flags that can apply to a module val

Attributes

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

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

Attributes

val Scala2x: Flag
val Sealed: Flag
val SelfName: Flag

The flags of the self symbol

The flags of the self symbol

Attributes

val Touched: Flag
val Trait: Flag

The undefined flag set

The undefined flag set

Attributes

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

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

Attributes

Flags that express the variance of a type parameter.

Flags that express the variance of a type parameter.

Attributes

val `__`: Flag

Extensions

Extensions

extension (x: FlagSet)
def &(y: FlagSet): FlagSet

The intersection of the given flag sets

The intersection of the given flag sets

Attributes

def &~(y: FlagSet): FlagSet

The intersection of a flag set with the complement of another flag set

The intersection of a flag set with the complement of another flag set

Attributes

def <=(y: FlagSet): Boolean

Is a given flag set a subset of another flag set?

Is a given flag set a subset of another flag set?

Attributes

def ^(y: FlagSet): FlagSet
inline def bits: Long
def firstBit: Int

The lowest non-kind bit set in the given flag set

The lowest non-kind bit set in the given flag set

Attributes

def flagStrings(privateWithin: String): Seq[String]

The list of non-empty names of flags that are set in the given flag set

The list of non-empty names of flags that are set in the given flag set

Attributes

The string representation of the given flag set

The string representation of the given flag set

Attributes

def is(flag: Flag): Boolean

Does the given flag set contain the given flag? This means that both the kind flags and the carrier bits have non-empty intersection.

Does the given flag set contain the given flag? This means that both the kind flags and the carrier bits have non-empty intersection.

Attributes

def is(flag: Flag, butNot: FlagSet): Boolean

Does the given flag set contain the given flag and at the same time contain none of the flags in the butNot set?

Does the given flag set contain the given flag and at the same time contain none of the flags in the butNot set?

Attributes

def isAllOf(flags: FlagSet): Boolean

Does a given flag set have all of the flags of another flag set? Pre: The intersection of the term/type flags of both sets must be non-empty.

Does a given flag set have all of the flags of another flag set? Pre: The intersection of the term/type flags of both sets must be non-empty.

Attributes

def isAllOf(flags: FlagSet, butNot: FlagSet): Boolean

Does a given flag set have all of the flags in another flag set and at the same time contain none of the flags in the butNot set? Pre: The intersection of the term/type flags of both sets must be non-empty.

Does a given flag set have all of the flags in another flag set and at the same time contain none of the flags in the butNot set? Pre: The intersection of the term/type flags of both sets must be non-empty.

Attributes

def isOneOf(flags: FlagSet): Boolean

Does the given flag set have a non-empty intersection with another flag set? This means that both the kind flags and the carrier bits have non-empty intersection.

Does the given flag set have a non-empty intersection with another flag set? This means that both the kind flags and the carrier bits have non-empty intersection.

Attributes

def isOneOf(flags: FlagSet, butNot: FlagSet): Boolean

Does the given flag set have a non-empty intersection with another flag set, and at the same time contain none of the flags in the butNot set?

Does the given flag set have a non-empty intersection with another flag set, and at the same time contain none of the flags in the butNot set?

Attributes

Does the given flag set apply to terms?

Does the given flag set apply to terms?

Attributes

Does the given flag set apply to terms?

Does the given flag set apply to terms?

Attributes

def numFlags: Int

The number of non-kind flags in the given flag set

The number of non-kind flags in the given flag set

Attributes

The given flag set with all flags transposed to be common flags

The given flag set with all flags transposed to be common flags

Attributes

The given flag set with all flags transposed to be term flags

The given flag set with all flags transposed to be term flags

Attributes

The given flag set with all flags transposed to be type flags

The given flag set with all flags transposed to be type flags

Attributes

def |(y: FlagSet): FlagSet

The union of the given flag sets. 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.

The union of the given flag sets. 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.

Attributes

Exports

Defined exports

final type FlagSet = FlagSet
Exported from opaques$