reflectModule

scala.quoted.Quotes.reflectModule

Low-level Typed AST metaprogramming API.

Provides all functionality related to AST-based metaprogramming.

Each type XYZ in the API is defined as an abstract type type XYZ. Methods on XYZ are provided by a given XYZMethods which implements extension methods on XYZ in the trait XYZMethods. The XYZ module is defined by a val XYZ: XYZModule which contains the methods defined in XYZModule. Type tests (TypeTest) are also given to perform subtype checks on these types.

Type hierarchy


+- Tree -+- PackageClause
         |
         +- Statement -+- Import
         |             +- Export
         |             +- Definition --+- ClassDef
         |             |               +- TypeDef
         |             |               +- DefDef
         |             |               +- ValDef
         |             |
         |             +- Term --------+- Ref -+- Ident -+- Wildcard
         |                             |       +- Select
         |                             |
         |                             +- Literal
         |                             +- This
         |                             +- New
         |                             +- NamedArg
         |                             +- Apply
         |                             +- TypeApply
         |                             +- Super
         |                             +- Assign
         |                             +- Block
         |                             +- Closure
         |                             +- If
         |                             +- Match
         |                             +- SummonFrom
         |                             +- Try
         |                             +- Return
         |                             +- Repeated
         |                             +- Inlined
         |                             +- SelectOuter
         |                             +- While
         |                             +---+- Typed
         |                                /
         +- TypedOrTest +----------------·
         +- Bind
         +- Unapply
         +- Alternatives
         |
         +- CaseDef
         +- TypeCaseDef
         |
         +- TypeTree ----+- Inferred
         |               +- TypeIdent
         |               +- TypeSelect
         |               +- TypeProjection
         |               +- Singleton
         |               +- Refined
         |               +- Applied
         |               +- Annotated
         |               +- MatchTypeTree
         |               +- ByName
         |               +- LambdaTypeTree
         |               +- TypeBind
         |               +- TypeBlock
         |
         +- TypeBoundsTree
         +- WildcardTypeTree

+- ParamClause -+- TypeParamClause
                +- TermParamClause

+- TypeRepr -+- NamedType -+- TermRef
             |             +- TypeRef
             +- ConstantType
             +- SuperType
             +- Refinement
             +- AppliedType
             +- AnnotatedType
             +- AndOrType -+- AndType
             |             +- OrType
             +- MatchType
             +- ByNameType
             +- ParamRef
             +- ThisType
             +- RecursiveThis
             +- RecursiveType
             +- LambdaType -+- MethodOrPoly -+- MethodType
             |              |                +- PolyType
             |              +- TypeLambda
             +- MatchCase
             +- TypeBounds
             +- NoPrefix

+- Selector -+- SimpleSelector
             +- RenameSelector
             +- OmitSelector
             +- GivenSelector

+- Signature

+- Position

+- SourceFile

+- Constant -+- BooleanConstant
             +- ByteConstant
             +- ShortConstant
             +- IntConstant
             +- LongConstant
             +- FloatConstant
             +- DoubleConstant
             +- CharConstant
             +- StringConstant
             +- UnitConstant
             +- NullConstant
             +- ClassOfConstant
+- Symbol

+- Flags

Attributes

Source
Quotes.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
reflect.type

Members list

Type members

Classlikes

Extension methods of Alternatives

Extension methods of Alternatives

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Alternatives

Methods of the module object val Alternatives

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Alternatives.type

Extension methods of AndOrType

Extension methods of AndOrType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val AndType

Methods of the module object val AndType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
AndType.type

Extension methods of Annotated

Extension methods of Annotated

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Annotated

Methods of the module object val Annotated

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Annotated.type

Extension methods of AnnotatedType

Extension methods of AnnotatedType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val AnnotatedType

Methods of the module object val AnnotatedType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
AnnotatedType.type

Extension methods of Applied

Extension methods of Applied

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Applied

Methods of the module object val Applied

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Applied.type

Extension methods of AppliedType

Extension methods of AppliedType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val AppliedType

Methods of the module object val AppliedType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
AppliedType.type
trait ApplyMethods

Extension methods of Apply

Extension methods of Apply

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait ApplyModule

Methods of the module object val Apply

Methods of the module object val Apply

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Apply.type

Extension methods of Assign

Extension methods of Assign

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait AssignModule

Methods of the module object val Assign

Methods of the module object val Assign

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Assign.type
trait BindMethods

Extension methods of Bind

Extension methods of Bind

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait BindModule

Methods of the module object val Bind

Methods of the module object val Bind

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Bind.type
trait BlockMethods

Extension methods of Block

Extension methods of Block

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait BlockModule

Methods of the module object val Block

Methods of the module object val Block

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Block.type

Methods of the module object val BooleanConstant

Methods of the module object val BooleanConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
BooleanConstant.type

Extension methods of ByName

Extension methods of ByName

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait ByNameModule

Methods of the module object val ByName

Methods of the module object val ByName

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ByName.type

Extension methods of ByNameType

Extension methods of ByNameType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val ByNameType

Methods of the module object val ByNameType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ByNameType.type

Methods of the module object val ByteConstant

Methods of the module object val ByteConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ByteConstant.type

Extension methods of CaseDef

Extension methods of CaseDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val CaseDef

Methods of the module object val CaseDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
CaseDef.type

Methods of the module object val CharConstant

Methods of the module object val CharConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
CharConstant.type

Extension methods of ClassDef

Extension methods of ClassDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val ClassDef

Methods of the module object val ClassDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ClassDef.type

Methods of the module object val ClassOf

Methods of the module object val ClassOf

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ClassOfConstant.type

Extension methods of Closure

Extension methods of Closure

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Closure

Methods of the module object val Closure

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Closure.type

Methods of the module object val CompilationInfo

Methods of the module object val CompilationInfo

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
CompilationInfo.type

Extension methods of Constant

Extension methods of Constant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Constant value represented as the constant itself

Constant value represented as the constant itself

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Constant.type

Extension methods of ConstantType

Extension methods of ConstantType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Type

Methods of the module object val Type

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ConstantType.type

Extension methods of DefDef

Extension methods of DefDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait DefDefModule

Methods of the module object val DefDef

Methods of the module object val DefDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
DefDef.type

Extension methods of Definition

Extension methods of Definition

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Definition

Methods of the module object val Definition

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Definition.type

Methods of the module object val DoubleConstant

Methods of the module object val DoubleConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
DoubleConstant.type

Extension methods of Export

Extension methods of Export

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait ExportModule

Methods of the module object val Export

Methods of the module object val Export

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Export.type
trait FlagsMethods

Extension methods of Flags

Extension methods of Flags

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait FlagsModule

Methods of the module object val Flags

Methods of the module object val Flags

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Flags.type

Methods of the module object val FloatConstant

Methods of the module object val FloatConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
FloatConstant.type

Extension methods of GivenSelector

Extension methods of GivenSelector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val GivenSelector

Methods of the module object val GivenSelector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
GivenSelector.type
trait IdentMethods

Extension methods of Ident

Extension methods of Ident

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait IdentModule

Methods of the module object val Ident

Methods of the module object val Ident

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Ident.type
trait IfMethods

Extension methods of If

Extension methods of If

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait IfModule

Methods of the module object val If

Methods of the module object val If

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
If.type

Extension methods of ImplicitSearchFailure

Extension methods of ImplicitSearchFailure

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Extension methods of ImplicitSearchSuccess

Extension methods of ImplicitSearchSuccess

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Implicits

Methods of the module object val Implicits

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Implicits.type

Extension methods of Import

Extension methods of Import

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait ImportModule

Methods of the module object val Import

Methods of the module object val Import

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Import.type

Methods of the module object val Inferred

Methods of the module object val Inferred

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Inferred.type

Extension methods of Inlined

Extension methods of Inlined

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Inlined

Methods of the module object val Inlined

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Inlined.type

Methods of the module object val IntConstant

Methods of the module object val IntConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
IntConstant.type
trait LambdaModule

Methods of the module object val Lambda

Methods of the module object val Lambda

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Lambda.type

Extension methods of LambdaType

Extension methods of LambdaType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Extension methods of LambdaTypeTree

Extension methods of LambdaTypeTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val LambdaTypeTree

Methods of the module object val LambdaTypeTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
LambdaTypeTree.type

Extension methods of Literal

Extension methods of Literal

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Literal

Methods of the module object val Literal

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Literal.type

Methods of the module object val LongConstant

Methods of the module object val LongConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
LongConstant.type

Extension methods of MatchCase

Extension methods of MatchCase

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val MatchCase

Methods of the module object val MatchCase

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
MatchCase.type
trait MatchMethods

Extension methods of Match

Extension methods of Match

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait MatchModule

Methods of the module object val Match

Methods of the module object val Match

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Match.type

Extension methods of MatchType

Extension methods of MatchType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val MatchType

Methods of the module object val MatchType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
MatchType.type

Extension methods of MatchTypeTree

Extension methods of MatchTypeTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val MatchTypeTree

Methods of the module object val MatchTypeTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
MatchTypeTree.type

Extension methods of MethodType

Extension methods of MethodType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val MethodType

Methods of the module object val MethodType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
MethodType.type

Extension methods of NamedArg

Extension methods of NamedArg

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val NamedArg

Methods of the module object val NamedArg

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
NamedArg.type

Extension methods of NamedType

Extension methods of NamedType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait NewMethods

Extension methods of New

Extension methods of New

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait NewModule

Methods of the module object val New

Methods of the module object val New

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
New.type

Methods of the module object val NoPrefix

Methods of the module object val NoPrefix

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
NoPrefix.type

Methods of the module object val NullConstant

Methods of the module object val NullConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
NullConstant.type

Extension methods of OmitSelector

Extension methods of OmitSelector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val OmitSelector

Methods of the module object val OmitSelector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
OmitSelector.type
trait OrTypeModule

Methods of the module object val OrType

Methods of the module object val OrType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
OrType.type

Extension methods of PackageClause

Extension methods of PackageClause

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val PackageClause

Methods of the module object val PackageClause

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
PackageClause.type

Extension methods of ParamClause

Extension methods of ParamClause

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val ParamClause

Methods of the module object val ParamClause

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ParamClause.type

Extension methods of ParamRef

Extension methods of ParamRef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val ParamRef

Methods of the module object val ParamRef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ParamRef.type

Extension methods of PolyType

Extension methods of PolyType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val PolyType

Methods of the module object val PolyType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
PolyType.type

Extension methods of Position

Extension methods of Position

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Position

Methods of the module object val Position

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Position.type
trait Printer[T]

Type class used in show methods to provide customizable String representations

Type class used in show methods to provide customizable String representations

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Printer

Methods of the module object val Printer

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Printer.type

Extension methods of RecursiveThis

Extension methods of RecursiveThis

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val RecursiveThis

Methods of the module object val RecursiveThis

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
RecursiveThis.type

Extension methods of RecursiveType

Extension methods of RecursiveType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val RecursiveType

Methods of the module object val RecursiveType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
RecursiveType.type
trait RefModule

Methods of the module object val Ref

Methods of the module object val Ref

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Ref.type

Extension methods of Refined

Extension methods of Refined

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Refined

Methods of the module object val Refined

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Refined.type

Extension methods of Refinement

Extension methods of Refinement

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Refinement

Methods of the module object val Refinement

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Refinement.type

Extension methods of RenameSelector

Extension methods of RenameSelector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val RenameSelector

Methods of the module object val RenameSelector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
RenameSelector.type

Extension methods of Repeated

Extension methods of Repeated

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Repeated

Methods of the module object val Repeated

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Repeated.type

Extension methods of Return

Extension methods of Return

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait ReturnModule

Methods of the module object val Return

Methods of the module object val Return

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Return.type

Extension methods of Select

Extension methods of Select

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait SelectModule

Methods of the module object val Select

Methods of the module object val Select

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Select.type

Extension methods of SelectOuter

Extension methods of SelectOuter

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val SelectOuter

Methods of the module object val SelectOuter

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
SelectOuter.type

Methods of the module object val Selector

Methods of the module object val Selector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Selector.type

Methods of the module object val Short

Methods of the module object val Short

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ShortConstant.type

Extension methods of Signature

Extension methods of Signature

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Signature

Methods of the module object val Signature

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Signature.type

Extension methods of SimpleSelector

Extension methods of SimpleSelector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val SimpleSelector

Methods of the module object val SimpleSelector

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
SimpleSelector.type

Extension methods of Singleton

Extension methods of Singleton

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Singleton

Methods of the module object val Singleton

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Singleton.type

Extension methods of SourceFile

Extension methods of SourceFile

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val SourceFile

Methods of the module object val SourceFile

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
SourceFile.type

Methods of the module object val StringConstant

Methods of the module object val StringConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
StringConstant.type

Extension methods of SummonFrom

Extension methods of SummonFrom

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val SummonFrom

Methods of the module object val SummonFrom

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
SummonFrom.type
trait SuperMethods

Extension methods of Super

Extension methods of Super

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait SuperModule

Methods of the module object val Super

Methods of the module object val Super

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Super.type

Extension methods of SuperType

Extension methods of SuperType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Methods of the module object val SuperType

Methods of the module object val SuperType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
SuperType.type

Extension methods of Symbol

Extension methods of Symbol

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait SymbolModule

Methods of the module object val Symbol

Methods of the module object val Symbol

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Symbol.type
trait TermMethods

Extension methods of Term

Extension methods of Term

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait TermModule

Methods of the module object val Term

Methods of the module object val Term

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Term.type

Extension methods of TermParamClause

Extension methods of TermParamClause

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TermParamClause

Methods of the module object val TermParamClause

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TermParamClause.type

Methods of the module object val TermRef

Methods of the module object val TermRef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TermRef.type
trait ThisMethods

Extension methods of This

Extension methods of This

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait ThisModule

Methods of the module object val This

Methods of the module object val This

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
This.type

Extension methods of ThisType

Extension methods of ThisType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val ThisType

Methods of the module object val ThisType

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ThisType.type
trait TreeAccumulator[X]

Customizable Tree accumulator.

Customizable Tree accumulator.

Usage:

def inQuotes(using q: Quotes) = {
  import q.reflect.*
  class MyTreeAccumulator[X] extends TreeAccumulator[X] {
    def foldTree(x: X, tree: Tree)(owner: Symbol): X = ???
  }
}

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait TreeMap

Customizable tree mapper.

Customizable tree mapper.

Usage:

def inQuotes(using q: Quotes) = {
  import q.reflect.*
  class MyTreeMap extends TreeMap {
    override def transformTree(tree: Tree)(owner: Symbol): Tree = ???
  }
}

Use Symbol.asQuotes to create quotes with the correct owner within the TreeMap.

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait TreeMethods

Extension methods of Tree

Extension methods of Tree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait TreeModule

Methods of the module object val Tree

Methods of the module object val Tree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Tree.type

Customizable tree traverser.

Customizable tree traverser.

Usage:

def inQuotes(using q: Quotes) = {
  import q.reflect.*
  class MyTraverser extends TreeTraverser {
    override def traverseTree(tree: Tree)(owner: Symbol): Unit = ???
  }
}

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait TryMethods

Extension methods of Try

Extension methods of Try

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait TryModule

Methods of the module object val Try

Methods of the module object val Try

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Try.type

Extension methods of TypeApply

Extension methods of TypeApply

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeApply

Methods of the module object val TypeApply

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeApply.type

Extension methods of TypeBind

Extension methods of TypeBind

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeBind

Methods of the module object val TypeBind

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeBind.type

Extension methods of TypeBlock

Extension methods of TypeBlock

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeBlock

Methods of the module object val TypeBlock

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeBlock.type

Extension methods of TypeBounds

Extension methods of TypeBounds

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeBounds

Methods of the module object val TypeBounds

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeBounds.type

Extension methods of TypeBoundsTree

Extension methods of TypeBoundsTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeBoundsTree

Methods of the module object val TypeBoundsTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeBoundsTree.type

Extension methods of TypeCaseDef

Extension methods of TypeCaseDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeCaseDef

Methods of the module object val TypeCaseDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeCaseDef.type

Extension methods of TypeDef

Extension methods of TypeDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeDef

Methods of the module object val TypeDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeDef.type

Extension methods of TypeIdent

Extension methods of TypeIdent

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeIdent

Methods of the module object val TypeIdent

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeIdent.type

Extension methods of TypeLambda

Extension methods of TypeLambda

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeLambda

Methods of the module object val TypeLambda

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeLambda.type

Extension methods of TypeParamClause

Extension methods of TypeParamClause

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeParamClause

Methods of the module object val TypeParamClause

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeParamClause.type

Extension methods of TypeProjection

Extension methods of TypeProjection

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeProjection

Methods of the module object val TypeProjection

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeProjection.type

Extension methods of TypeRef

Extension methods of TypeRef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeRef

Methods of the module object val TypeRef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeRef.type

Extension methods of TypeRepr

Extension methods of TypeRepr

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeRepr

Methods of the module object val TypeRepr

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeRepr.type

Extension methods of TypeSelect

Extension methods of TypeSelect

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeSelect

Methods of the module object val TypeSelect

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeSelect.type

Extension methods of TypeTree

Extension methods of TypeTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypeTree

Methods of the module object val TypeTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypeTree.type
trait TypedMethods

Extension methods of Typed

Extension methods of Typed

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait TypedModule

Methods of the module object val Typed

Methods of the module object val Typed

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Typed.type

Extension methods of TypedOrTest

Extension methods of TypedOrTest

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val TypedOrTest

Methods of the module object val TypedOrTest

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TypedOrTest.type

Extension methods of Unapply

Extension methods of Unapply

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val Unapply

Methods of the module object val Unapply

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Unapply.type

Methods of the module object val UnitConstant

Methods of the module object val UnitConstant

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
UnitConstant.type

Extension methods of ValDef

Extension methods of ValDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait ValDefModule

Methods of the module object val ValDef

Methods of the module object val ValDef

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ValDef.type
trait WhileMethods

Extension methods of While

Extension methods of While

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
trait WhileModule

Methods of the module object val While

Methods of the module object val While

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
While.type

Methods of the module object val Wildcard

Methods of the module object val Wildcard

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Wildcard.type

Extension methods of WildcardTypeTree

Extension methods of WildcardTypeTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any

Methods of the module object val WildcardTypeTree

Methods of the module object val WildcardTypeTree

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
WildcardTypeTree.type
trait defnModule

Methods of the module object val defn

Methods of the module object val defn

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
defn.type
trait reportModule

Methods of the module object val report

Methods of the module object val report

Attributes

Source
Quotes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
report.type

Types

type Alternatives <: Tree

Pattern representing X | Y | ... alternatives.

Pattern representing X | Y | ... alternatives.

Attributes

Source
Quotes.scala

Intersection type T & U or an union type T | U

Intersection type T & U or an union type T | U

Attributes

Source
Quotes.scala
type AndType <: AndOrType

Intersection type T & U

Intersection type T & U

Attributes

Source
Quotes.scala

Type tree representing an annotated type

Type tree representing an annotated type

Attributes

Source
Quotes.scala

A type with an annotation T @foo

A type with an annotation T @foo

Attributes

Source
Quotes.scala
type Applied <: TypeTree

Type tree representing a type application

Type tree representing a type application

Attributes

Source
Quotes.scala

A higher kinded type applied to some types T[U]

A higher kinded type applied to some types T[U]

Attributes

Source
Quotes.scala
type Apply <: Term

Tree representing an application of arguments. It represents a single list of arguments, multiple argument lists will have nested Applys

Tree representing an application of arguments. It represents a single list of arguments, multiple argument lists will have nested Applys

Attributes

Source
Quotes.scala
type Assign <: Term

Tree representing an assignment x = y in the source code

Tree representing an assignment x = y in the source code

Attributes

Source
Quotes.scala
type Bind <: Tree

Pattern representing a _ @ _ binding.

Pattern representing a _ @ _ binding.

Attributes

Source
Quotes.scala
type Block <: Term

Tree representing a block { ... } in the source code

Tree representing a block { ... } in the source code

Attributes

Source
Quotes.scala

Constant Boolean value

Constant Boolean value

Attributes

Source
Quotes.scala
type ByName <: TypeTree

Type tree representing a by name parameter

Type tree representing a by name parameter

Attributes

Source
Quotes.scala

Type of a by-name definition of type =>T.

Type of a by-name definition of type =>T.

May represent by-name parameter such as thunk in

type T
def log[T](thunk: => T): T = ???

May also represent a the return type of a parameterless method definition such as

def foo: Int = ???

Attributes

Source
Quotes.scala

Constant Byte value

Constant Byte value

Attributes

Source
Quotes.scala
type CaseDef <: Tree

Branch of a pattern match or catch clause

Branch of a pattern match or catch clause

Attributes

Source
Quotes.scala

Constant Char value

Constant Char value

Attributes

Source
Quotes.scala

Tree representing a class definition. This includes anonymous class definitions and the class of a module object

Tree representing a class definition. This includes anonymous class definitions and the class of a module object

Attributes

Source
Quotes.scala

Constant class value representing a classOf[T]

Constant class value representing a classOf[T]

Attributes

Source
Quotes.scala
type Closure <: Term

A lambda (...) => ... in the source code is represented as a local method and a closure:

A lambda (...) => ... in the source code is represented as a local method and a closure:

{ def m(...) = ... closure(m) }

Attributes

Source
Quotes.scala
type Constant <: AnyRef

Constant value represented as the constant itself

Constant value represented as the constant itself

Attributes

Source
Quotes.scala

A singleton type representing a known constant value

A singleton type representing a known constant value

Attributes

Source
Quotes.scala
type DefDef <: Definition

Tree representing a method definition in the source code

Tree representing a method definition in the source code

Attributes

Source
Quotes.scala

Tree representing a definition in the source code. It can be ClassDef, TypeDef, DefDef or ValDef

Tree representing a definition in the source code. It can be ClassDef, TypeDef, DefDef or ValDef

Attributes

Source
Quotes.scala

Constant Double value

Constant Double value

Attributes

Source
Quotes.scala
type Export <: Statement

Tree representing an export clause in the source code. Export forwarders generated from this clause appear in the same scope.

Tree representing an export clause in the source code. Export forwarders generated from this clause appear in the same scope.

Attributes

Source
Quotes.scala
type Flags

Flags of a Symbol

Flags of a Symbol

Attributes

Source
Quotes.scala

Constant Float value

Constant Float value

Attributes

Source
Quotes.scala

given import/export selector: .given/.{given T} in import foo.given/export foo.{given T}

given import/export selector: .given/.{given T} in import foo.given/export foo.{given T}

Attributes

Source
Quotes.scala
type Ident <: Ref

Tree representing a reference to definition with a given name

Tree representing a reference to definition with a given name

Attributes

Source
Quotes.scala
type If <: Term

Tree representing an if/then/else if (...) ... else ... in the source code

Tree representing an if/then/else if (...) ... else ... in the source code

Attributes

Source
Quotes.scala

Result of a given instance search

Result of a given instance search

Attributes

Source
Quotes.scala
type Import <: Statement

Tree representing an import in the source code.

Tree representing an import in the source code.

See also documentation on Selector.

Attributes

Source
Quotes.scala
type Inferred <: TypeTree

Type tree representing an inferred type

Type tree representing an inferred type

Attributes

Source
Quotes.scala
type Inlined <: Term

Tree representing the scope of an inlined tree

Tree representing the scope of an inlined tree

Attributes

Source
Quotes.scala

Constant Int value

Constant Int value

Attributes

Source
Quotes.scala

Type of the definition of a method taking a single list of type or term parameters

Type of the definition of a method taking a single list of type or term parameters

Attributes

Source
Quotes.scala

Type tree representing a lambda abstraction type

Type tree representing a lambda abstraction type

Attributes

Source
Quotes.scala
type Literal <: Term

Tree representing a literal value in the source code

Tree representing a literal value in the source code

Attributes

Source
Quotes.scala

Constant Long value

Constant Long value

Attributes

Source
Quotes.scala
type Match <: Term

Tree representing a pattern match x match { ... } in the source code

Tree representing a pattern match x match { ... } in the source code

Attributes

Source
Quotes.scala

Case of a MatchType containing pattern case P => R.

Case of a MatchType containing pattern case P => R.

Note: cases with type bindings are represented nested in a TypeLambda.

Attributes

Source
Quotes.scala

Type match T match { case U => ... }

Type match T match { case U => ... }

Attributes

Source
Quotes.scala

Type tree representing a type match

Type tree representing a type match

Attributes

Source
Quotes.scala

Type of the definition of a method taking a single list of type or term parameters

Type of the definition of a method taking a single list of type or term parameters

Attributes

Source
Quotes.scala

Type of the definition of a method taking a single list of parameters. It's return type may be a MethodType.

Type of the definition of a method taking a single list of parameters. It's return type may be a MethodType.

Attributes

Source
Quotes.scala
type NamedArg <: Term

Tree representing an argument passed with an explicit name. Such as arg1 = x in foo(arg1 = x)

Tree representing an argument passed with an explicit name. Such as arg1 = x in foo(arg1 = x)

Attributes

Source
Quotes.scala

Type of a reference to a type or term symbol

Type of a reference to a type or term symbol

Attributes

Source
Quotes.scala
type New <: Term

Tree representing new in the source code

Tree representing new in the source code

Attributes

Source
Quotes.scala
type NoPrefix <: TypeRepr

NoPrefix for a type selection

NoPrefix for a type selection

Attributes

Source
Quotes.scala

Constant null value

Constant null value

Attributes

Source
Quotes.scala

Omit import/export selector: .{bar => _} in import foo.{bar => _}

Omit import/export selector: .{bar => _} in import foo.{bar => _}

Attributes

Source
Quotes.scala
type OrType <: AndOrType

Union type T | U

Union type T | U

Attributes

Source
Quotes.scala

Tree representing a package clause in the source code

Tree representing a package clause in the source code

package foo {
  // package stats
}

or

package foo.bar
// package stats

Attributes

Source
Quotes.scala

A parameter clause [X1, ..., Xn] or (x1: X1, ..., xn: Xx)

A parameter clause [X1, ..., Xn] or (x1: X1, ..., xn: Xx)

[X1, ..., Xn] are represented with TypeParamClause and (x1: X1, ..., xn: Xx) are represented with TermParamClause

ParamClause encodes the following enumeration

import scala.quoted.*
def inQuotes(using Quotes) = {
  val q: Quotes = summon[Quotes]
  import q.reflect.*
  enum ParamClause:
    case TypeParamClause(params: List[TypeDef])
    case TermParamClause(params: List[ValDef])
}

Attributes

Source
Quotes.scala
type ParamRef <: TypeRepr

Type of a parameter reference

Type of a parameter reference

Attributes

Source
Quotes.scala

Type of the definition of a method taking a list of type parameters. It's return type may be a MethodType.

Type of the definition of a method taking a list of type parameters. It's return type may be a MethodType.

Attributes

Source
Quotes.scala
type Position <: AnyRef

Position in a source file

Position in a source file

Attributes

Source
Quotes.scala

A type that is recursively defined this

A type that is recursively defined this

Attributes

Source
Quotes.scala

A type that is recursively defined

A type that is recursively defined

Attributes

Source
Quotes.scala
type Ref <: Term

Tree representing a reference to definition

Tree representing a reference to definition

Attributes

Source
Quotes.scala
type Refined <: TypeTree

Type tree representing a type refinement

Type tree representing a type refinement

Attributes

Source
Quotes.scala

A type with a type refinement T { type U }

A type with a type refinement T { type U }

Attributes

Source
Quotes.scala

Rename import/export selector: .{bar => baz} in import foo.{bar => baz}

Rename import/export selector: .{bar => baz} in import foo.{bar => baz}

Attributes

Source
Quotes.scala
type Repeated <: Term

Tree representing a variable argument list in the source code.

Tree representing a variable argument list in the source code.

This tree is used to encode varargs terms. The Repeated encapsulates the sequence of the elements but needs to be wrapped in a scala.<repeated>[T] (see defn.RepeatedParamClass). For example the arguments 1, 2 of List.apply(1, 2) can be represented as follows:

import scala.quoted._
def inQuotes(using Quotes) = {
  val q: Quotes = summon[Quotes]
  import q.reflect._
  val intArgs = List(Literal(IntConstant(1)), Literal(IntConstant(2)))
  Typed(
    Repeated(intArgs, TypeTree.of[Int]),
    Inferred(defn.RepeatedParamClass.typeRef.appliedTo(TypeRepr.of[Int]))
  )
}

Attributes

Source
Quotes.scala
type Return <: Term

Tree representing a return in the source code

Tree representing a return in the source code

Attributes

Source
Quotes.scala
type Select <: Ref

Tree representing a selection of definition with a given name on a given prefix

Tree representing a selection of definition with a given name on a given prefix

Attributes

Source
Quotes.scala
type SelectOuter <: Term

Tree representing a selection of definition with a given name on a given prefix and number of nested scopes of inlined trees

Tree representing a selection of definition with a given name on a given prefix and number of nested scopes of inlined trees

Attributes

Source
Quotes.scala
type Selector <: AnyRef

Import/Export selectors:

Import/Export selectors:

  • SimpleSelector: .bar in import foo.bar
  • RenameSelector: .{bar => baz} in export foo.{bar => baz}
  • OmitSelector: .{bar => _} in import foo.{bar => _}
  • GivenSelector: .given/.{given T} in export foo.given/import foo.{given T}

Attributes

Source
Quotes.scala

Constant Short value

Constant Short value

Attributes

Source
Quotes.scala
type Signature <: AnyRef

The signature of a method

The signature of a method

Attributes

Source
Quotes.scala

Simple import/export selector: .bar in import foo.bar

Simple import/export selector: .bar in import foo.bar

Attributes

Source
Quotes.scala

Type tree representing a singleton type

Type tree representing a singleton type

Attributes

Source
Quotes.scala
type SourceFile <: AnyRef

Scala source file

Scala source file

Attributes

Source
Quotes.scala
type Statement <: Tree

Tree representing a statement in the source code

Tree representing a statement in the source code

Attributes

Source
Quotes.scala

Constant String value

Constant String value

Attributes

Source
Quotes.scala
type SummonFrom <: Term

Tree representing a summoning match summonFrom { ... } in the source code

Tree representing a summoning match summonFrom { ... } in the source code

Attributes

Source
Quotes.scala
type Super <: Term

Tree representing super in the source code

Tree representing super in the source code

Attributes

Source
Quotes.scala

Type of a super reference

Type of a super reference

Attributes

Source
Quotes.scala
type Symbol <: AnyRef

Symbol of a definition. Symbols can be compared with == to know if two definitions are the same.

Symbol of a definition. Symbols can be compared with == to know if two definitions are the same.

Attributes

Source
Quotes.scala
type Term <: Statement

Tree representing an expression in the source code

Tree representing an expression in the source code

Attributes

Source
Quotes.scala

A term parameter clause (x1: X1, ..., xn: Xx) Can also be (implicit X1, ..., Xn), (given X1, ..., Xn) or (given x1: X1, ..., xn: Xn)

A term parameter clause (x1: X1, ..., xn: Xx) Can also be (implicit X1, ..., Xn), (given X1, ..., Xn) or (given x1: X1, ..., xn: Xn)

Attributes

Source
Quotes.scala
type TermRef <: NamedType

Type of a reference to a term symbol

Type of a reference to a term symbol

Attributes

Source
Quotes.scala
type This <: Term

Tree representing this or C.this in the source code

Tree representing this or C.this in the source code

Attributes

Source
Quotes.scala
type ThisType <: TypeRepr

Type of this

Type of this

Attributes

Source
Quotes.scala
type Tree <: AnyRef

Tree representing code written in the source

Tree representing code written in the source

Attributes

Source
Quotes.scala
type Try <: Term

Tree representing a try catch try x catch { ... } finally { ... } in the source code

Tree representing a try catch try x catch { ... } finally { ... } in the source code

Attributes

Source
Quotes.scala
type TypeApply <: Term

Tree representing an application of type arguments

Tree representing an application of type arguments

Attributes

Source
Quotes.scala
type TypeBind <: TypeTree

Type tree representing a type binding

Type tree representing a type binding

Attributes

Source
Quotes.scala

Type tree within a block with aliases { type U1 = ... ; T[U1, U2] }

Type tree within a block with aliases { type U1 = ... ; T[U1, U2] }

Attributes

Source
Quotes.scala

Type bounds

Type bounds

Attributes

Source
Quotes.scala

Type tree representing a type bound written in the source

Type tree representing a type bound written in the source

Attributes

Source
Quotes.scala
type TypeCaseDef <: Tree

Branch of a type pattern match

Branch of a type pattern match

Attributes

Source
Quotes.scala

Tree representing a type (parameter or member) definition in the source code

Tree representing a type (parameter or member) definition in the source code

Attributes

Source
Quotes.scala

Type tree representing a reference to definition with a given name

Type tree representing a reference to definition with a given name

Attributes

Source
Quotes.scala

Type of the definition of a type lambda taking a list of type parameters. It's return type may be a TypeLambda.

Type of the definition of a type lambda taking a list of type parameters. It's return type may be a TypeLambda.

Attributes

Source
Quotes.scala

A type parameter clause [X1, ..., Xn]

A type parameter clause [X1, ..., Xn]

Attributes

Source
Quotes.scala

Type tree representing a selection of definition with a given name on a given type prefix

Type tree representing a selection of definition with a given name on a given type prefix

Attributes

Source
Quotes.scala
type TypeRef <: NamedType

Type of a reference to a type symbol

Type of a reference to a type symbol

Attributes

Source
Quotes.scala
type TypeRepr

A type, type constructors, type bounds or NoPrefix

A type, type constructors, type bounds or NoPrefix

Attributes

Source
Quotes.scala

Type tree representing a selection of definition with a given name on a given term prefix

Type tree representing a selection of definition with a given name on a given term prefix

Attributes

Source
Quotes.scala
type TypeTree <: Tree

Type tree representing a type written in the source

Type tree representing a type written in the source

Attributes

Source
Quotes.scala
type Typed <: Term & TypedOrTest

Tree representing a type ascription x: T in the source code.

Tree representing a type ascription x: T in the source code.

Also represents a pattern that contains a term x. Other : T patterns use the more general TypedOrTest.

Attributes

Source
Quotes.scala
type TypedOrTest <: Tree

Tree representing a type ascription or type test pattern x: T in the source code.

Tree representing a type ascription or type test pattern x: T in the source code.

Attributes

Source
Quotes.scala
type Unapply <: Tree

Pattern representing a Xyz(...) unapply.

Pattern representing a Xyz(...) unapply.

Attributes

Source
Quotes.scala

Constant Unit value

Constant Unit value

Attributes

Source
Quotes.scala
type ValDef <: Definition

Tree representing a value definition in the source code This includes val, lazy val, var, object and parameter definitions.

Tree representing a value definition in the source code This includes val, lazy val, var, object and parameter definitions.

Attributes

Source
Quotes.scala
type While <: Term

Tree representing a while loop

Tree representing a while loop

Attributes

Source
Quotes.scala
type Wildcard <: Ident

Pattern representing a _ wildcard.

Pattern representing a _ wildcard.

Attributes

Source
Quotes.scala

Type tree representing wildcard type bounds written in the source. The wildcard type _ (for example in in List[_]) will be a type tree that represents a type but has TypeBounds inside.

Type tree representing wildcard type bounds written in the source. The wildcard type _ (for example in in List[_]) will be a type tree that represents a type but has TypeBounds inside.

Attributes

Source
Quotes.scala

Value members

Abstract fields

Module object of type Alternatives

Module object of type Alternatives

Attributes

Source
Quotes.scala

Module object of type AndType

Module object of type AndType

Attributes

Source
Quotes.scala

Module object of type Annotated

Module object of type Annotated

Attributes

Source
Quotes.scala

Module object of type AnnotatedType

Module object of type AnnotatedType

Attributes

Source
Quotes.scala

Module object of type Applied

Module object of type Applied

Attributes

Source
Quotes.scala

Module object of type AppliedType

Module object of type AppliedType

Attributes

Source
Quotes.scala

Module object of type Apply

Module object of type Apply

Attributes

Source
Quotes.scala

Module object of type Assign

Module object of type Assign

Attributes

Source
Quotes.scala

Module object of type Bind

Module object of type Bind

Attributes

Source
Quotes.scala

Module object of type Block

Module object of type Block

Attributes

Source
Quotes.scala

Module object of type BooleanConstant

Module object of type BooleanConstant

Attributes

Source
Quotes.scala

Module object of type ByName

Module object of type ByName

Attributes

Source
Quotes.scala

Module object of type ByNameType

Module object of type ByNameType

Attributes

Source
Quotes.scala

Module object of type ByteConstant

Module object of type ByteConstant

Attributes

Source
Quotes.scala

Module object of type CaseDef

Module object of type CaseDef

Attributes

Source
Quotes.scala

Module object of type CharConstant

Module object of type CharConstant

Attributes

Source
Quotes.scala

Module object of type ClassDef

Module object of type ClassDef

Attributes

Source
Quotes.scala

Module object of type ClassOfConstant

Module object of type ClassOfConstant

Attributes

Source
Quotes.scala

Module object of type Closure

Module object of type Closure

Attributes

Source
Quotes.scala

Module object of type CompilationInfo

Module object of type CompilationInfo

Attributes

Source
Quotes.scala

Constant value represented as the constant itself

Constant value represented as the constant itself

Attributes

Source
Quotes.scala

Module object of type ConstantType

Module object of type ConstantType

Attributes

Source
Quotes.scala

Module object of type DefDef

Module object of type DefDef

Attributes

Source
Quotes.scala

Module object of type Definition

Module object of type Definition

Attributes

Source
Quotes.scala

Module object of type DoubleConstant

Module object of type DoubleConstant

Attributes

Source
Quotes.scala

Module object of type Export

Module object of type Export

Attributes

Source
Quotes.scala

Module object of type Flags

Module object of type Flags

Attributes

Source
Quotes.scala

Module object of type FloatConstant

Module object of type FloatConstant

Attributes

Source
Quotes.scala

Module object of type GivenSelector

Module object of type GivenSelector

Attributes

Source
Quotes.scala

Module object of type Ident

Module object of type Ident

Attributes

Source
Quotes.scala
val If: IfModule

Module object of type If

Module object of type If

Attributes

Source
Quotes.scala

Module object of type Implicits

Module object of type Implicits

Attributes

Source
Quotes.scala

Module object of type Import

Module object of type Import

Attributes

Source
Quotes.scala

Module object of type Inferred

Module object of type Inferred

Attributes

Source
Quotes.scala

Module object of type Inlined

Module object of type Inlined

Attributes

Source
Quotes.scala

Module object of type IntConstant

Module object of type IntConstant

Attributes

Source
Quotes.scala

A lambda (...) => ... in the source code is represented as a local method and a closure:

A lambda (...) => ... in the source code is represented as a local method and a closure:

{
  def m(...) = ...
  closure(m)
}

Attributes

Note

Due to the encoding, in pattern matches the case for Lambda should come before the case for Block to avoid mishandling of Lambda.

Source
Quotes.scala

Module object of type LambdaTypeTree

Module object of type LambdaTypeTree

Attributes

Source
Quotes.scala

Module object of type Literal

Module object of type Literal

Attributes

Source
Quotes.scala

Module object of type LongConstant

Module object of type LongConstant

Attributes

Source
Quotes.scala

Module object of type Match

Module object of type Match

Attributes

Source
Quotes.scala

Module object of type MatchCase

Module object of type MatchCase

Attributes

Source
Quotes.scala

Module object of type MatchType

Module object of type MatchType

Attributes

Source
Quotes.scala

Module object of type MatchTypeTree

Module object of type MatchTypeTree

Attributes

Source
Quotes.scala

Module object of type MethodType

Module object of type MethodType

Attributes

Source
Quotes.scala

Module object of type NamedArg

Module object of type NamedArg

Attributes

Source
Quotes.scala
val New: NewModule

Module object of type New

Module object of type New

Attributes

Source
Quotes.scala

Module object of type NoPrefix

Module object of type NoPrefix

Attributes

Source
Quotes.scala

Module object of type NullConstant

Module object of type NullConstant

Attributes

Source
Quotes.scala

Module object of type OmitSelector

Module object of type OmitSelector

<