Flag indicating that tree has abstract
and override
modifiers set
Flag indicating that tree represents an abstract class
Flag used to distinguish platform-specific implementation details.
Flag used to distinguish platform-specific implementation details. Trees and symbols which are currently marked ARTIFACT by scalac: * $outer fields and accessors * super accessors * protected accessors * lazy local accessors * bridge methods * default argument getters * evaluation-order preserving locals for right-associative and out-of-order named arguments * catch-expression storing vals * anything else which feels a setFlag(ARTIFACT)
SYNTHETIC
Flag indicating that tree represents a by-name parameter
Flag indicating that tree has case
modifier set
Flag indicating that tree represents a parameter of the primary constructor of some case class or a synthetic member underlying thereof.
Flag indicating that tree represents a parameter of the primary constructor of some case class or a synthetic member underlying thereof. E.g. here's how 'case class C(val x: Int)' is represented:
trees at end of parser// Scala source: tmpnHkJ3y case class C extends scala.Product with scala.Serializable { <caseaccessor> <paramaccessor> val x: Int = _; def <init>(x: Int) = { super.<init>(); () } } ClassDef( Modifiers(CASE), TypeName("C"), List(), Template( List(Select(Ident(scala), TypeName("Product")), Select(Ident(scala), TypeName("Serializable"))), noSelfType, List( ValDef(Modifiers(CASEACCESSOR | PARAMACCESSOR), TermName("x"), Ident(TypeName("Int")), EmptyTree), DefDef( Modifiers(), nme.CONSTRUCTOR, List(), List(List(ValDef(Modifiers(PARAM | PARAMACCESSOR), TermName("x"), Ident(TypeName("Int")), EmptyTree))), TypeTree(), Block(List(pendingSuperCall), Literal(Constant(())))))))))
Flag indicating that tree represents a contravariant
type parameter (marked with -
).
Flag indicating that tree represents a covariant
type parameter (marked with +
).
Flag indicating that tree represents a variable or a member initialized to the default value
Flag indicating that tree represents a parameter that has a default value
Flag indicating that tree represents an abstract type, method, or value
Flag indicating that tree represents an enum.
Flag indicating that tree represents an enum.
It can only appear at
Flag indicating that tree has final
modifier set
Flag indicating that tree has implicit
modifier set
Flag indicating that a tree is an interface (i.e.
Flag indicating that a tree is an interface (i.e. a trait which defines only abstract methods)
Flag indicating that tree has lazy
modifier set
Flag indicating that tree represents a member local to current class, i.e.
Flag indicating that tree represents a member local to current class, i.e. private[this] or protected[this]. This requires having either PRIVATE or PROTECTED set as well.
Flag indicating that tree represents a macro definition.
Flag indicating that tree represents a mutable variable
Flag indicating that tree has override
modifier set
Flag indicating that tree represents a class or parameter.
Flag indicating that tree represents a class or parameter. Both type and value parameters carry the flag.
Flag indicating that tree represents a parameter of the primary constructor of some class or a synthetic member underlying thereof.
Flag indicating that tree represents a parameter of the primary constructor of some class or a synthetic member underlying thereof. E.g. here's how 'class C(val x: Int)' is represented:
trees at end of parser// Scala source: tmposDU52 class C extends scala.AnyRef { <paramaccessor> val x: Int = _; def <init>(x: Int) = { super.<init>(); () } } ClassDef( Modifiers(), TypeName("C"), List(), Template( List(Select(Ident(scala), TypeName("AnyRef"))), noSelfType, List( ValDef(Modifiers(PARAMACCESSOR), TermName("x"), Ident(TypeName("Int")), EmptyTree), DefDef( Modifiers(), nme.CONSTRUCTOR, List(), List(List(ValDef(Modifiers(PARAM | PARAMACCESSOR), TermName("x"), Ident(TypeName("Int")), EmptyTree))), TypeTree(), Block(List(pendingSuperCall), Literal(Constant(())))))))))
Flag indicating that tree represents an early definition
Flag indicating that tree has private
modifier set
Flag indicating that tree has protected
modifier set
Flag indicating that tree has sealed
modifier set
Flag that indicates methods that are supposed to be stable (e.g.
Flag that indicates methods that are supposed to be stable (e.g. synthetic getters of valdefs).
Flag used to distinguish programmatically generated definitions from user-written ones.
Flag used to distinguish programmatically generated definitions from user-written ones.
ARTIFACT
Flag indicating that tree represents a trait
All possible values that can constitute flag sets. The main source of information about flag sets is the scala.reflect.api.FlagSets page.