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
         |                             |       +- Select
         |                             |
         |                             +- Literal
         |                             +- This
         |                             +- New
         |                             +- NamedArg
         |                             +- Apply
         |                             +- TypeApply
         |                             +- Super
         |                             +- Typed
         |                             +- Assign
         |                             +- Block
         |                             +- Closure
         |                             +- If
         |                             +- Match
         |                             +- SummonFrom
         |                             +- Try
         |                             +- Return
         |                             +- Repeated
         |                             +- Inlined
         |                             +- SelectOuter
         |                             +- While
         |
         |
         +- TypeTree ----+- Inferred
         |               +- TypeIdent
         |               +- TypeSelect
         |               +- TypeProjection
         |               +- Singleton
         |               +- Refined
         |               +- Applied
         |               +- Annotated
         |               +- MatchTypeTree
         |               +- ByName
         |               +- LambdaTypeTree
         |               +- TypeBind
         |               +- TypeBlock
         |
         +- TypeBoundsTree
         +- WildcardTypeTree
         |
         +- CaseDef
         |
         +- TypeCaseDef
         +- Bind
         +- Unapply
         +- Alternatives

+- 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

Source
Quotes.scala
class Object
trait Matchable
class Any

Type members

Classlikes

Methods of the module object val Alternatives

Methods of the module object val Alternatives

Source
Quotes.scala

Methods of the module object val AndType

Methods of the module object val AndType

Source
Quotes.scala

Methods of the module object val Annotated

Methods of the module object val Annotated

Source
Quotes.scala

Methods of the module object val AnnotatedType

Methods of the module object val AnnotatedType

Source
Quotes.scala

Methods of the module object val Applied

Methods of the module object val Applied

Source
Quotes.scala

Methods of the module object val AppliedType

Methods of the module object val AppliedType

Source
Quotes.scala

Methods of the module object val Apply

Methods of the module object val Apply

Source
Quotes.scala

Methods of the module object val Assign

Methods of the module object val Assign

Source
Quotes.scala
trait BindModule

Methods of the module object val Bind

Methods of the module object val Bind

Source
Quotes.scala

Methods of the module object val Block

Methods of the module object val Block

Source
Quotes.scala

Methods of the module object val BooleanConstant

Methods of the module object val BooleanConstant

Source
Quotes.scala

Methods of the module object val ByName

Methods of the module object val ByName

Source
Quotes.scala

Methods of the module object val ByNameType

Methods of the module object val ByNameType

Source
Quotes.scala

Methods of the module object val ByteConstant

Methods of the module object val ByteConstant

Source
Quotes.scala

Methods of the module object val CaseDef

Methods of the module object val CaseDef

Source
Quotes.scala

Methods of the module object val CharConstant

Methods of the module object val CharConstant

Source
Quotes.scala

Methods of the module object val ClassDef

Methods of the module object val ClassDef

Source
Quotes.scala

Methods of the module object val ClassOf

Methods of the module object val ClassOf

Source
Quotes.scala

Methods of the module object val Closure

Methods of the module object val Closure

Source
Quotes.scala

Methods of the module object val CompilationInfo

Methods of the module object val CompilationInfo

Source
Quotes.scala

Constant value represented as the constant itself

Constant value represented as the constant itself

Source
Quotes.scala

Methods of the module object val Type

Methods of the module object val Type

Source
Quotes.scala

Methods of the module object val DefDef

Methods of the module object val DefDef

Source
Quotes.scala

Methods of the module object val Definition

Methods of the module object val Definition

Source
Quotes.scala

Methods of the module object val DoubleConstant

Methods of the module object val DoubleConstant

Source
Quotes.scala

Methods of the module object val Export

Methods of the module object val Export

Source
Quotes.scala

Methods of the module object val Flags

Methods of the module object val Flags

Source
Quotes.scala

Methods of the module object val FloatConstant

Methods of the module object val FloatConstant

Source
Quotes.scala

Methods of the module object val GivenSelector

Methods of the module object val GivenSelector

Source
Quotes.scala

Methods of the module object val Ident

Methods of the module object val Ident

Source
Quotes.scala
trait IfModule

Methods of the module object val If

Methods of the module object val If

Source
Quotes.scala

Methods of the module object val Implicits

Methods of the module object val Implicits

Source
Quotes.scala

Methods of the module object val Import

Methods of the module object val Import

Source
Quotes.scala

Methods of the module object val Inferred

Methods of the module object val Inferred

Source
Quotes.scala

Methods of the module object val Inlined

Methods of the module object val Inlined

Source
Quotes.scala

Methods of the module object val IntConstant

Methods of the module object val IntConstant

Source
Quotes.scala

Methods of the module object val Lambda

Methods of the module object val Lambda

Source
Quotes.scala

Methods of the module object val LambdaTypeTree

Methods of the module object val LambdaTypeTree

Source
Quotes.scala

Methods of the module object val Literal

Methods of the module object val Literal

Source
Quotes.scala

Methods of the module object val LongConstant

Methods of the module object val LongConstant

Source
Quotes.scala

Methods of the module object val MatchCase

Methods of the module object val MatchCase

Source
Quotes.scala

Methods of the module object val Match

Methods of the module object val Match

Source
Quotes.scala

Methods of the module object val MatchType

Methods of the module object val MatchType

Source
Quotes.scala

Methods of the module object val MatchTypeTree

Methods of the module object val MatchTypeTree

Source
Quotes.scala

Methods of the module object val MethodType

Methods of the module object val MethodType

Source
Quotes.scala

Methods of the module object val NamedArg

Methods of the module object val NamedArg

Source
Quotes.scala
trait NewModule

Methods of the module object val New

Methods of the module object val New

Source
Quotes.scala

Methods of the module object val NoPrefix

Methods of the module object val NoPrefix

Source
Quotes.scala

Methods of the module object val NullConstant

Methods of the module object val NullConstant

Source
Quotes.scala

Methods of the module object val OmitSelector

Methods of the module object val OmitSelector

Source
Quotes.scala

Methods of the module object val OrType

Methods of the module object val OrType

Source
Quotes.scala

Methods of the module object val PackageClause

Methods of the module object val PackageClause

Source
Quotes.scala

Methods of the module object val ParamClause

Methods of the module object val ParamClause

Source
Quotes.scala

Methods of the module object val ParamRef

Methods of the module object val ParamRef

Source
Quotes.scala

Methods of the module object val PolyType

Methods of the module object val PolyType

Source
Quotes.scala

Methods of the module object val Position

Methods of the module object val Position

Source
Quotes.scala
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

Source
Quotes.scala

Methods of the module object val Printer

Methods of the module object val Printer

Source
Quotes.scala

Methods of the module object val RecursiveThis

Methods of the module object val RecursiveThis

Source
Quotes.scala

Methods of the module object val RecursiveType

Methods of the module object val RecursiveType

Source
Quotes.scala
trait RefModule

Methods of the module object val Ref

Methods of the module object val Ref

Source
Quotes.scala

Methods of the module object val Refined

Methods of the module object val Refined

Source
Quotes.scala

Methods of the module object val Refinement

Methods of the module object val Refinement

Source
Quotes.scala

Methods of the module object val RenameSelector

Methods of the module object val RenameSelector

Source
Quotes.scala

Methods of the module object val Repeated

Methods of the module object val Repeated

Source
Quotes.scala

Methods of the module object val Return

Methods of the module object val Return

Source
Quotes.scala

Methods of the module object val Select

Methods of the module object val Select

Source
Quotes.scala

Methods of the module object val SelectOuter

Methods of the module object val SelectOuter

Source
Quotes.scala

Methods of the module object val Selector

Methods of the module object val Selector

Source
Quotes.scala

Methods of the module object val Short

Methods of the module object val Short

Source
Quotes.scala

Methods of the module object val Signature

Methods of the module object val Signature

Source
Quotes.scala

Methods of the module object val SimpleSelector

Methods of the module object val SimpleSelector

Source
Quotes.scala

Methods of the module object val Singleton

Methods of the module object val Singleton

Source
Quotes.scala

Methods of the module object val SourceFile

Methods of the module object val SourceFile

Source
Quotes.scala

Methods of the module object val StringConstant

Methods of the module object val StringConstant

Source
Quotes.scala

Methods of the module object val SummonFrom

Methods of the module object val SummonFrom

Source
Quotes.scala

Methods of the module object val Super

Methods of the module object val Super

Source
Quotes.scala

Methods of the module object val SuperType

Methods of the module object val SuperType

Source
Quotes.scala

Methods of the module object val Symbol

Methods of the module object val Symbol

Source
Quotes.scala
trait TermModule

Methods of the module object val Term

Methods of the module object val Term

Source
Quotes.scala

Methods of the module object val TermParamClause

Methods of the module object val TermParamClause

Source
Quotes.scala

Methods of the module object val TermRef

Methods of the module object val TermRef

Source
Quotes.scala
trait ThisModule

Methods of the module object val This

Methods of the module object val This

Source
Quotes.scala

Methods of the module object val ThisType

Methods of the module object val ThisType

Source
Quotes.scala
trait TreeAccumulator[X]

Customizable Tree accumulator.

Customizable Tree accumulator.

Usage:

import quotes.reflect._
class MyTreeAccumulator extends TreeAccumulator[X] {
  def foldTree(x: X, tree: Tree)(owner: Symbol): X = ...
}
Source
Quotes.scala
trait TreeMap

Customizable tree mapper.

Customizable tree mapper.

Usage:

import quotes.reflect._
class MyTreeMap extends TreeMap {
  override def transformTree(tree: Tree)(owner: Symbol): Tree = ...
}
Source
Quotes.scala
trait TreeModule

Methods of the module object val Tree

Methods of the module object val Tree

Source
Quotes.scala

Customizable tree traverser.

Customizable tree traverser.

Usage:

import quotes.relfect._
class MyTraverser extends TreeTraverser {
  override def traverseTree(tree: Tree)(owner: Symbol): Unit = ...
}
Source
Quotes.scala
trait TryModule

Methods of the module object val Try

Methods of the module object val Try

Source
Quotes.scala

Methods of the module object val TypeApply

Methods of the module object val TypeApply

Source
Quotes.scala

Methods of the module object val TypeBind

Methods of the module object val TypeBind

Source
Quotes.scala

Methods of the module object val TypeBlock

Methods of the module object val TypeBlock

Source
Quotes.scala

Methods of the module object val TypeBounds

Methods of the module object val TypeBounds

Source
Quotes.scala

Methods of the module object val TypeBoundsTree

Methods of the module object val TypeBoundsTree

Source
Quotes.scala

Methods of the module object val TypeCaseDef

Methods of the module object val TypeCaseDef

Source
Quotes.scala

Methods of the module object val TypeDef

Methods of the module object val TypeDef

Source
Quotes.scala

Methods of the module object val TypeIdent

Methods of the module object val TypeIdent

Source
Quotes.scala

Methods of the module object val TypeLambda

Methods of the module object val TypeLambda

Source
Quotes.scala

Methods of the module object val TypeParamClause

Methods of the module object val TypeParamClause

Source
Quotes.scala

Methods of the module object val TypeProjection

Methods of the module object val TypeProjection

Source
Quotes.scala

Methods of the module object val TypeRef

Methods of the module object val TypeRef

Source
Quotes.scala

Methods of the module object val TypeRepr

Methods of the module object val TypeRepr

Source
Quotes.scala

Methods of the module object val TypeSelect

Methods of the module object val TypeSelect

Source
Quotes.scala

Methods of the module object val TypeTree

Methods of the module object val TypeTree

Source
Quotes.scala

Methods of the module object val Typed

Methods of the module object val Typed

Source
Quotes.scala

Methods of the module object val Unapply

Methods of the module object val Unapply

Source
Quotes.scala

Methods of the module object val UnitConstant

Methods of the module object val UnitConstant

Source
Quotes.scala

Methods of the module object val ValDef

Methods of the module object val ValDef

Source
Quotes.scala

Methods of the module object val While

Methods of the module object val While

Source
Quotes.scala

Methods of the module object val WildcardTypeTree

Methods of the module object val WildcardTypeTree

Source
Quotes.scala
trait defnModule

Methods of the module object val defn

Methods of the module object val defn

Source
Quotes.scala

Methods of the module object val report

Methods of the module object val report

Source
Quotes.scala

Types

Pattern representing X | Y | ... alternatives.

Pattern representing X | Y | ... alternatives.

Source
Quotes.scala

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

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

Source
Quotes.scala

Intersection type T & U

Intersection type T & U

Source
Quotes.scala

Type tree representing an annotated type

Type tree representing an annotated type

Source
Quotes.scala

A type with an annotation T @foo

A type with an annotation T @foo

Source
Quotes.scala
type Applied <: TypeTree

Type tree representing a type application

Type tree representing a type application

Source
Quotes.scala

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

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

Source
Quotes.scala
type Apply <: Term

Tree an application of arguments.

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

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

Source
Quotes.scala
type Bind <: Tree

Pattern representing a _ @ _ binding.

Pattern representing a _ @ _ binding.

Source
Quotes.scala
type Block <: Term

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

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

Source
Quotes.scala

Constant Boolean value

Constant Boolean value

Source
Quotes.scala
type ByName <: TypeTree

Type tree representing a by name parameter

Type tree representing a by name parameter

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

  def log[T](thunk: =>T): T = ...

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

  def foo: Int = ...
Source
Quotes.scala

Constant Byte value

Constant Byte value

Source
Quotes.scala
type CaseDef <: Tree

Branch of a pattern match or catch clause

Branch of a pattern match or catch clause

Source
Quotes.scala

Constant Char value

Constant Char value

Source
Quotes.scala

Tree representing a class definition.

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

Source
Quotes.scala

Constant class value representing a classOf[T]

Constant class value representing a classOf[T]

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) }

Source
Quotes.scala
type Constant <: AnyRef

Constant value represented as the constant itself

Constant value represented as the constant itself

Source
Quotes.scala

A singleton type representing a known constant value

A singleton type representing a known constant value

Source
Quotes.scala

Tree representing a method definition in the source code

Tree representing a method definition in the source code

Source
Quotes.scala

Tree representing a definition in the source code.

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

Source
Quotes.scala

Constant Double value

Constant Double value

Source
Quotes.scala
type Export <: Statement

Tree representing an export clause in the source code.

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

Source
Quotes.scala
type Flags

FlagSet of a Symbol

FlagSet of a Symbol

Source
Quotes.scala

Constant Float value

Constant Float value

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}

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

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

Source
Quotes.scala

Result of a given instance search

Result of a given instance search

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.

Source
Quotes.scala

Type tree representing an inferred type

Type tree representing an inferred type

Source
Quotes.scala
type Inlined <: Term

Tree representing the scope of an inlined tree

Tree representing the scope of an inlined tree

Source
Quotes.scala

Constant Int value

Constant Int value

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

Source
Quotes.scala

Type tree representing a lambda abstraction type

Type tree representing a lambda abstraction type

Source
Quotes.scala
type Literal <: Term

Tree representing a literal value in the source code

Tree representing a literal value in the source code

Source
Quotes.scala

Constant Long value

Constant Long value

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

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.

Source
Quotes.scala

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

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

Source
Quotes.scala

Type tree representing a type match

Type tree representing a type match

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

Source
Quotes.scala

Type of the definition of a method taking a single list of parameters.

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

Source
Quotes.scala
type NamedArg <: Term

Tree representing an argument passed with an explicit name.

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

Source
Quotes.scala

Type of a reference to a type or term symbol

Type of a reference to a type or term symbol

Source
Quotes.scala
type New <: Term

Tree representing new in the source code

Tree representing new in the source code

Source
Quotes.scala

NoPrefix for a type selection

NoPrefix for a type selection

Source
Quotes.scala

Constant null value

Constant null value

Source
Quotes.scala

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

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

Source
Quotes.scala
type OrType <: AndOrType

Union type T | U

Union type T | U

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
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

enum ParamClause:
  case TypeParamClause(params: List[TypeDef])
  case TermParamClause(params: List[ValDef])
Source
Quotes.scala

Type of a parameter reference

Type of a parameter reference

Source
Quotes.scala

Type of the definition of a method taking a list of type parameters.

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

Source
Quotes.scala
type Position <: AnyRef

Position in a source file

Position in a source file

Source
Quotes.scala

A type that is recursively defined this

A type that is recursively defined this

Source
Quotes.scala

A type that is recursively defined

A type that is recursively defined

Source
Quotes.scala
type Ref <: Term

Tree representing a reference to definition

Tree representing a reference to definition

Source
Quotes.scala
type Refined <: TypeTree

Type tree representing a type refinement

Type tree representing a type refinement

Source
Quotes.scala

A type with a type refinement T { type U }

A type with a type refinement T { type U }

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}

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

Source
Quotes.scala
type Return <: Term

Tree representing a return in the source code

Tree representing a return in the source code

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

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

Source
Quotes.scala
type Selector <: AnyRef

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}

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}

Source
Quotes.scala

Constant Short value

Constant Short value

Source
Quotes.scala
type Signature <: AnyRef

The signature of a method

The signature of a method

Source
Quotes.scala

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

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

Source
Quotes.scala

Type tree representing a singleton type

Type tree representing a singleton type

Source
Quotes.scala

Scala source file

Scala source file

Source
Quotes.scala
type Statement <: Tree

Tree representing a statement in the source code

Tree representing a statement in the source code

Source
Quotes.scala

Constant String value

Constant String value

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

Source
Quotes.scala
type Super <: Term

Tree representing super in the source code

Tree representing super in the source code

Source
Quotes.scala

Type of a super reference

Type of a super reference

Source
Quotes.scala
type Symbol <: AnyRef

Symbol of a definition.

Symbol of a definition. Then can be compared with == to know if the definition is the same.

Source
Quotes.scala
type Term <: Statement

Tree representing an expression in the source code

Tree representing an expression in the source code

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)

Source
Quotes.scala

Type of a reference to a term symbol

Type of a reference to a term symbol

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

Source
Quotes.scala

Type of this

Type of this

Source
Quotes.scala
type Tree <: AnyRef

Tree representing code written in the source

Tree representing code written in the source

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

Source
Quotes.scala
type TypeApply <: Term

Tree an application of type arguments

Tree an application of type arguments

Source
Quotes.scala

Type tree representing a type binding

Type tree representing a type binding

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] }

Source
Quotes.scala

Type bounds

Type bounds

Source
Quotes.scala

Type tree representing a type bound written in the source

Type tree representing a type bound written in the source

Source
Quotes.scala
type TypeCaseDef <: Tree

Branch of a type pattern match

Branch of a type pattern match

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

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

Source
Quotes.scala

Type of the definition of a type lambda taking a list of type parameters.

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

Source
Quotes.scala

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

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

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

Source
Quotes.scala

Type of a reference to a type symbol

Type of a reference to a type symbol

Source
Quotes.scala
type TypeRepr

A type, type constructors, type bounds or NoPrefix

A type, type constructors, type bounds or NoPrefix

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

Source
Quotes.scala
type TypeTree <: Tree

Type tree representing a type written in the source

Type tree representing a type written in the source

Source
Quotes.scala
type Typed <: Term

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

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

Source
Quotes.scala
type Unapply <: Tree

Pattern representing a Xyz(...) unapply.

Pattern representing a Xyz(...) unapply.

Source
Quotes.scala

Constant Unit value

Constant Unit value

Source
Quotes.scala

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.

Source
Quotes.scala
type While <: Term

Tree representing a while loop

Tree representing a while loop

Source
Quotes.scala

Type tree representing wildcard type bounds written in the source.

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 TypeBounda inside.

Source
Quotes.scala

Value members

Abstract fields

Module object of type Alternatives

Module object of type Alternatives

Source
Quotes.scala

Module object of type AndType

Module object of type AndType

Source
Quotes.scala

Module object of type Annotated

Module object of type Annotated

Source
Quotes.scala

Module object of type AnnotatedType

Module object of type AnnotatedType

Source
Quotes.scala

Module object of type Applied

Module object of type Applied

Source
Quotes.scala

Module object of type AppliedType

Module object of type AppliedType

Source
Quotes.scala

Module object of type Apply

Module object of type Apply

Source
Quotes.scala

Module object of type Assign

Module object of type Assign

Source
Quotes.scala

Module object of type Bind

Module object of type Bind

Source
Quotes.scala

Module object of type Block

Module object of type Block

Source
Quotes.scala

Module object of type BooleanConstant

Module object of type BooleanConstant

Source
Quotes.scala

Module object of type ByName

Module object of type ByName

Source
Quotes.scala

Module object of type ByNameType

Module object of type ByNameType

Source
Quotes.scala

Module object of type ByteConstant

Module object of type ByteConstant

Source
Quotes.scala

Module object of type CaseDef

Module object of type CaseDef

Source
Quotes.scala

Module object of type CharConstant

Module object of type CharConstant

Source
Quotes.scala

Module object of type ClassDef

Module object of type ClassDef

Source
Quotes.scala

Module object of type ClassOfConstant

Module object of type ClassOfConstant

Source
Quotes.scala

Module object of type Closure

Module object of type Closure

Source
Quotes.scala

Module object of type CompilationInfo

Module object of type CompilationInfo

Source
Quotes.scala

Constant value represented as the constant itself

Constant value represented as the constant itself

Source
Quotes.scala

Module object of type ConstantType

Module object of type ConstantType

Source
Quotes.scala

Module object of type DefDef

Module object of type DefDef

Source
Quotes.scala

Module object of type Definition

Module object of type Definition

Source
Quotes.scala

Module object of type DoubleConstant

Module object of type DoubleConstant

Source
Quotes.scala

Module object of type Export

Module object of type Export

Source
Quotes.scala

Module object of type Flags

Module object of type Flags

Source
Quotes.scala

Module object of type FloatConstant

Module object of type FloatConstant

Source
Quotes.scala

Module object of type GivenSelector

Module object of type GivenSelector

Source
Quotes.scala

Module object of type Ident

Module object of type Ident

Source
Quotes.scala
val If: IfModule

Module object of type If

Module object of type If

Source
Quotes.scala

Module object of type Implicits

Module object of type Implicits

Source
Quotes.scala

Module object of type Import

Module object of type Import

Source
Quotes.scala

Module object of type Inferred

Module object of type Inferred

Source
Quotes.scala

Module object of type Inlined

Module object of type Inlined

Source
Quotes.scala

Module object of type IntConstant

Module object of type IntConstant

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)
}
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

Source
Quotes.scala

Module object of type Literal

Module object of type Literal

Source
Quotes.scala

Module object of type LongConstant

Module object of type LongConstant

Source
Quotes.scala

Module object of type Match

Module object of type Match

Source
Quotes.scala

Module object of type MatchCase

Module object of type MatchCase

Source
Quotes.scala

Module object of type MatchType

Module object of type MatchType

Source
Quotes.scala

Module object of type MatchTypeTree

Module object of type MatchTypeTree

Source
Quotes.scala

Module object of type MethodType

Module object of type MethodType

Source
Quotes.scala

Module object of type NamedArg

Module object of type NamedArg

Source
Quotes.scala

Module object of type New

Module object of type New

Source
Quotes.scala

Module object of type NoPrefix

Module object of type NoPrefix

Source
Quotes.scala

Module object of type NullConstant

Module object of type NullConstant

Source
Quotes.scala

Module object of type OmitSelector

Module object of type OmitSelector

Source
Quotes.scala

Module object of type OrType

Module object of type OrType

Source
Quotes.scala

Module object of type PackageClause

Module object of type PackageClause

Source
Quotes.scala

Module object of type ParamClause

Module object of type ParamClause

Source
Quotes.scala

Module object of type ParamRef

Module object of type ParamRef

Source
Quotes.scala

Module object of type PolyType

Module object of type PolyType

Source
Quotes.scala

Module object of type Position

Module object of type Position

Source
Quotes.scala

Module object of type Printer.

Module object of type Printer. Contains custom printers such as TreeCode, TreeAnsiCode, TreeCases, TypeReprCode, ..., SymbolFullName and FlagsCombination.

Source
Quotes.scala

Module object of type RecursiveThis

Module object of type RecursiveThis

Source
Quotes.scala

Module object of type RecursiveType

Module object of type RecursiveType

Source
Quotes.scala

Module object of type Ref

Module object of type Ref

Source
Quotes.scala

Module object of type Refined

Module object of type Refined

Source
Quotes.scala

Module object of type Refinement

Module object of type Refinement

Source
Quotes.scala

Module object of type RenameSelector

Module object of type RenameSelector

Source
Quotes.scala

Module object of type Repeated

Module object of type Repeated

Source
Quotes.scala

Module object of type Return

Module object of type Return

Source
Quotes.scala

Module object of type Select

Module object of type Select

Source
Quotes.scala

Module object of type SelectOuter

Module object of type SelectOuter

Source
Quotes.scala

Module object of type Selector

Module object of type Selector

Source
Quotes.scala

Module object of type ShortConstant

Module object of type ShortConstant

Source
Quotes.scala

Module object of type Signature

Module object of type Signature

Source
Quotes.scala

Module object of type SimpleSelector

Module object of type SimpleSelector

Source
Quotes.scala

Module object of type Singleton

Module object of type Singleton

Source
Quotes.scala

Module object of type SourceFile

Module object of type SourceFile

Source
Quotes.scala

Module object of type StringConstant

Module object of type StringConstant

Source
Quotes.scala

Module object of type SummonFrom

Module object of type SummonFrom

Source
Quotes.scala

Module object of type Super

Module object of type Super

Source
Quotes.scala

Module object of type SuperType

Module object of type SuperType

Source
Quotes.scala

Module object of type Symbol

Module object of type Symbol

Source
Quotes.scala

Module object of type Term

Module object of type Term

Source
Quotes.scala

Module object of type TermParamClause

Module object of type TermParamClause

Source
Quotes.scala

Module object of type TermRef

Module object of type TermRef

Source
Quotes.scala

Module object of type This

Module object of type This

Source
Quotes.scala

Module object of type ThisType

Module object of type ThisType

Source
Quotes.scala

Module object of type Tree

Module object of type Tree

Source
Quotes.scala

Module object of type Try

Module object of type Try

Source
Quotes.scala

Module object of type TypeApply

Module object of type TypeApply

Source
Quotes.scala

Module object of type TypeBind

Module object of type TypeBind

Source
Quotes.scala

Module object of type TypeBlock

Module object of type TypeBlock

Source
Quotes.scala

Module object of type TypeBounds

Module object of type TypeBounds

Source
Quotes.scala

Module object of type TypeBoundsTree

Module object of type TypeBoundsTree

Source
Quotes.scala

Module object of type TypeCaseDef

Module object of type TypeCaseDef

Source
Quotes.scala

Module object of type TypeDef

Module object of type TypeDef

Source
Quotes.scala

Module object of type TypeIdent

Module object of type TypeIdent

Source
Quotes.scala

Module object of type TypeLambda

Module object of type TypeLambda

Source
Quotes.scala

Module object of type TypeParamClause

Module object of type TypeParamClause

Source
Quotes.scala

Module object of type TypeProjection

Module object of type TypeProjection

Source
Quotes.scala

Module object of type TypeRef

Module object of type TypeRef

Source
Quotes.scala

Module object of type TypeRepr

Module object of type TypeRepr

Source
Quotes.scala

Module object of type TypeSelect

Module object of type TypeSelect

Source
Quotes.scala

Module object of type TypeTree

Module object of type TypeTree

Source
Quotes.scala

Module object of type Typed

Module object of type Typed

Source
Quotes.scala

Module object of type Unapply

Module object of type Unapply

Source
Quotes.scala

Module object of type UnitConstant

Module object of type UnitConstant

Source
Quotes.scala

Module object of type ValDef

Module object of type ValDef

Source
Quotes.scala

Module object of type While

Module object of type While

Source
Quotes.scala

Module object of type WildcardTypeTree

Module object of type WildcardTypeTree

Source
Quotes.scala

A value containing all standard definitions

A value containing all standard definitions

Source
Quotes.scala

Module containing error and waring reporting.

Module containing error and waring reporting.

Source
Quotes.scala

Concrete fields

Default pinter for Constant used when calling const.show

Default pinter for Constant used when calling const.show

Source
Quotes.scala
final lazy val TreePrinter: Printer[Tree]

Default pinter for Tree used when calling tree.show

Default pinter for Tree used when calling tree.show

Source
Quotes.scala

Default pinter for TypeRepr used when calling tpe.show

Default pinter for TypeRepr used when calling tpe.show

Source
Quotes.scala

Givens

Givens

Extension methods of Alternatives

Extension methods of Alternatives

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Alternatives

TypeTest that allows testing at runtime in a pattern match if a Tree is an Alternatives

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is an AmbiguousImplicits

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is an AmbiguousImplicits

Source
Quotes.scala

Extension methods of AndOrType

Extension methods of AndOrType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an AndOrType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an AndOrType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an AndType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an AndType

Source
Quotes.scala

Extension methods of Annotated

Extension methods of Annotated

Source
Quotes.scala

Extension methods of AnnotatedType

Extension methods of AnnotatedType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Annotated

TypeTest that allows testing at runtime in a pattern match if a Tree is an Annotated

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an AnnotatedType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an AnnotatedType

Source
Quotes.scala

Extension methods of Applied

Extension methods of Applied

Source
Quotes.scala

Extension methods of AppliedType

Extension methods of AppliedType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Applied

TypeTest that allows testing at runtime in a pattern match if a Tree is an Applied

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an AppliedType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an AppliedType

Source
Quotes.scala

Extension methods of Apply

Extension methods of Apply

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Apply

TypeTest that allows testing at runtime in a pattern match if a Tree is an Apply

Source
Quotes.scala

Extension methods of Assign

Extension methods of Assign

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Assign

TypeTest that allows testing at runtime in a pattern match if a Tree is an Assign

Source
Quotes.scala

Extension methods of Bind

Extension methods of Bind

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Bind

TypeTest that allows testing at runtime in a pattern match if a Tree is a Bind

Source
Quotes.scala

Extension methods of Block

Extension methods of Block

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Block

TypeTest that allows testing at runtime in a pattern match if a Tree is a Block

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a BooleanConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a BooleanConstant

Source
Quotes.scala

Extension methods of ByName

Extension methods of ByName

Source
Quotes.scala

Extension methods of ByNameType

Extension methods of ByNameType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a ByName

TypeTest that allows testing at runtime in a pattern match if a Tree is a ByName

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a ByNameType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a ByNameType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a ByteConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a ByteConstant

Source
Quotes.scala

Extension methods of CaseDef

Extension methods of CaseDef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a CaseDef

TypeTest that allows testing at runtime in a pattern match if a Tree is a CaseDef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a CharConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a CharConstant

Source
Quotes.scala

Extension methods of ClassDef

Extension methods of ClassDef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a ClassDef

TypeTest that allows testing at runtime in a pattern match if a Tree is a ClassDef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a ClassOfConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a ClassOfConstant

Source
Quotes.scala

Extension methods of Closure

Extension methods of Closure

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Closure

TypeTest that allows testing at runtime in a pattern match if a Tree is a Closure

Source
Quotes.scala

Extension methods of Constant

Extension methods of Constant

Source
Quotes.scala

Extension methods of ConstantType

Extension methods of ConstantType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a ConstantType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a ConstantType

Source
Quotes.scala

Extension methods of DefDef

Extension methods of DefDef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a DefDef

TypeTest that allows testing at runtime in a pattern match if a Tree is a DefDef

Source
Quotes.scala

Extension methods of Definition

Extension methods of Definition

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Definition

TypeTest that allows testing at runtime in a pattern match if a Tree is a Definition

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is a DivergingImplicit

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is a DivergingImplicit

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a DoubleConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a DoubleConstant

Source
Quotes.scala

Extension methods of Export

Extension methods of Export

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Export

TypeTest that allows testing at runtime in a pattern match if a Tree is an Export

Source
Quotes.scala

Extension methods of Flags

Extension methods of Flags

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a FloatConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a FloatConstant

Source
Quotes.scala

Extension methods of GivenSelector

Extension methods of GivenSelector

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if an Selector is a GivenSelector

TypeTest that allows testing at runtime in a pattern match if an Selector is a GivenSelector

Source
Quotes.scala

Extension methods of Ident

Extension methods of Ident

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Ident

TypeTest that allows testing at runtime in a pattern match if a Tree is an Ident

Source
Quotes.scala
given IfMethods

Extension methods of If

Extension methods of If

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an If

TypeTest that allows testing at runtime in a pattern match if a Tree is an If

Source
Quotes.scala

Extension methods of ImplicitSearchFailure

Extension methods of ImplicitSearchFailure

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is an ImplicitSearchFailure

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is an ImplicitSearchFailure

Source
Quotes.scala

Extension methods of ImplicitSearchSuccess

Extension methods of ImplicitSearchSuccess

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is an ImplicitSearchSuccess

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is an ImplicitSearchSuccess

Source
Quotes.scala

Extension methods of Import

Extension methods of Import

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Import

TypeTest that allows testing at runtime in a pattern match if a Tree is an Import

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Inferred

TypeTest that allows testing at runtime in a pattern match if a Tree is an Inferred

Source
Quotes.scala

Extension methods of Inlined

Extension methods of Inlined

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Inlined

TypeTest that allows testing at runtime in a pattern match if a Tree is an Inlined

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a IntConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a IntConstant

Source
Quotes.scala

Extension methods of LambdaType

Extension methods of LambdaType

Source
Quotes.scala

Extension methods of LambdaTypeTree

Extension methods of LambdaTypeTree

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a LambdaTypeTree

TypeTest that allows testing at runtime in a pattern match if a Tree is a LambdaTypeTree

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a LambdaType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a LambdaType

Source
Quotes.scala

Extension methods of Literal

Extension methods of Literal

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Literal

TypeTest that allows testing at runtime in a pattern match if a Tree is a Literal

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a LongConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a LongConstant

Source
Quotes.scala

Extension methods of MatchCase

Extension methods of MatchCase

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a MatchCase

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a MatchCase

Source
Quotes.scala

Extension methods of Match

Extension methods of Match

Source
Quotes.scala

Extension methods of MatchType

Extension methods of MatchType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Match

TypeTest that allows testing at runtime in a pattern match if a Tree is a Match

Source
Quotes.scala

Extension methods of MatchTypeTree

Extension methods of MatchTypeTree

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a MatchTypeTree

TypeTest that allows testing at runtime in a pattern match if a Tree is a MatchTypeTree

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a MatchType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a MatchType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a MethodOrPoly

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a MethodOrPoly

Source
Quotes.scala

Extension methods of MethodType

Extension methods of MethodType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a MethodType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a MethodType

Source
Quotes.scala

Extension methods of NamedArg

Extension methods of NamedArg

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a NamedArg

TypeTest that allows testing at runtime in a pattern match if a Tree is a NamedArg

Source
Quotes.scala

Extension methods of NamedType

Extension methods of NamedType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a NamedType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a NamedType

Source
Quotes.scala
given NewMethods

Extension methods of New

Extension methods of New

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a New

TypeTest that allows testing at runtime in a pattern match if a Tree is a New

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is a NoMatchingImplicits

TypeTest that allows testing at runtime in a pattern match if an ImplicitSearchResult is a NoMatchingImplicits

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a NoPrefix

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a NoPrefix

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a NullConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a NullConstant

Source
Quotes.scala

Extension methods of OmitSelector

Extension methods of OmitSelector

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Selector is an OmitSelector

TypeTest that allows testing at runtime in a pattern match if a Selector is an OmitSelector

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an OrType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is an OrType

Source
Quotes.scala

Extension methods of PackageClause

Extension methods of PackageClause

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a PackageClause

TypeTest that allows testing at runtime in a pattern match if a Tree is a PackageClause

Source
Quotes.scala

Extension methods of ParamClause

Extension methods of ParamClause

Source
Quotes.scala

Extension methods of ParamRef

Extension methods of ParamRef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a ParamRef

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a ParamRef

Source
Quotes.scala

Extension methods of PolyType

Extension methods of PolyType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a PolyType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a PolyType

Source
Quotes.scala

Extension methods of Position

Extension methods of Position

Source
Quotes.scala

Extension methods of RecursiveThis

Extension methods of RecursiveThis

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a RecursiveThis

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a RecursiveThis

Source
Quotes.scala

Extension methods of RecursiveType

Extension methods of RecursiveType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a RecursiveType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a RecursiveType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Ref

TypeTest that allows testing at runtime in a pattern match if a Tree is a Ref

Source
Quotes.scala

Extension methods of Refined

Extension methods of Refined

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Refined

TypeTest that allows testing at runtime in a pattern match if a Tree is a Refined

Source
Quotes.scala

Extension methods of Refinement

Extension methods of Refinement

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a Refinement

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a Refinement

Source
Quotes.scala

Extension methods of RenameSelector

Extension methods of RenameSelector

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Selector is a RenameSelector

TypeTest that allows testing at runtime in a pattern match if a Selector is a RenameSelector

Source
Quotes.scala

Extension methods of Repeated

Extension methods of Repeated

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Repeated

TypeTest that allows testing at runtime in a pattern match if a Tree is a Repeated

Source
Quotes.scala

Extension methods of Return

Extension methods of Return

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Return

TypeTest that allows testing at runtime in a pattern match if a Tree is a Return

Source
Quotes.scala

Extension methods of Select

Extension methods of Select

Source
Quotes.scala

Extension methods of SelectOuter

Extension methods of SelectOuter

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a SelectOuter

TypeTest that allows testing at runtime in a pattern match if a Tree is a SelectOuter

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Select

TypeTest that allows testing at runtime in a pattern match if a Tree is a Select

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a ShortConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a ShortConstant

Source
Quotes.scala

Extension methods of Signature

Extension methods of Signature

Source
Quotes.scala

Extension methods of SimpleSelector

Extension methods of SimpleSelector

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Selector is a SimpleSelector

TypeTest that allows testing at runtime in a pattern match if a Selector is a SimpleSelector

Source
Quotes.scala

Extension methods of Singleton

Extension methods of Singleton

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Singleton

TypeTest that allows testing at runtime in a pattern match if a Tree is a Singleton

Source
Quotes.scala

Extension methods of SourceFile

Extension methods of SourceFile

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Statement

TypeTest that allows testing at runtime in a pattern match if a Tree is a Statement

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a StringConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a StringConstant

Source
Quotes.scala

Extension methods of SummonFrom

Extension methods of SummonFrom

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a SummonFrom

TypeTest that allows testing at runtime in a pattern match if a Tree is a SummonFrom

Source
Quotes.scala

Extension methods of Super

Extension methods of Super

Source
Quotes.scala

Extension methods of SuperType

Extension methods of SuperType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Super

TypeTest that allows testing at runtime in a pattern match if a Tree is a Super

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a SuperType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a SuperType

Source
Quotes.scala

Extension methods of Symbol

Extension methods of Symbol

Source
Quotes.scala

Extension methods of Term

Extension methods of Term

Source
Quotes.scala

Extension methods of TermParamClause

Extension methods of TermParamClause

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a ParamClause is a TermParamClause

TypeTest that allows testing at runtime in a pattern match if a ParamClause is a TermParamClause

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a TermRef

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a TermRef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Term

TypeTest that allows testing at runtime in a pattern match if a Tree is a Term

Source
Quotes.scala

Extension methods of This

Extension methods of This

Source
Quotes.scala

Extension methods of ThisType

Extension methods of ThisType

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a This

TypeTest that allows testing at runtime in a pattern match if a Tree is a This

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a ThisType

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a ThisType

Source
Quotes.scala

Extension methods of Tree

Extension methods of Tree

Source
Quotes.scala
given TryMethods

Extension methods of Try

Extension methods of Try

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Try

TypeTest that allows testing at runtime in a pattern match if a Tree is a Try

Source
Quotes.scala

Extension methods of TypeApply

Extension methods of TypeApply

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeApply

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeApply

Source
Quotes.scala

Extension methods of TypeBind

Extension methods of TypeBind

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeBind

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeBind

Source
Quotes.scala

Extension methods of TypeBlock

Extension methods of TypeBlock

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeBlock

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeBlock

Source
Quotes.scala

Extension methods of TypeBounds

Extension methods of TypeBounds

Source
Quotes.scala

Extension methods of TypeBoundsTree

Extension methods of TypeBoundsTree

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeBoundsTree

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeBoundsTree

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a TypeBounds

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a TypeBounds

Source
Quotes.scala

Extension methods of TypeCaseDef

Extension methods of TypeCaseDef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeCaseDef

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeCaseDef

Source
Quotes.scala

Extension methods of TypeDef

Extension methods of TypeDef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeDef

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeDef

Source
Quotes.scala

Extension methods of TypeIdent

Extension methods of TypeIdent

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeIdent

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeIdent

Source
Quotes.scala

Extension methods of TypeLambda

Extension methods of TypeLambda

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a TypeLambda

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a TypeLambda

Source
Quotes.scala

Extension methods of TypeParamClause

Extension methods of TypeParamClause

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a ParamClause is a TypeParamClause

TypeTest that allows testing at runtime in a pattern match if a ParamClause is a TypeParamClause

Source
Quotes.scala

Extension methods of TypeProjection

Extension methods of TypeProjection

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeProjection

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeProjection

Source
Quotes.scala

Extension methods of TypeRef

Extension methods of TypeRef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a TypeRef

TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a TypeRef

Source
Quotes.scala

Extension methods of TypeRepr

Extension methods of TypeRepr

Source
Quotes.scala

Extension methods of TypeSelect

Extension methods of TypeSelect

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeSelect

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeSelect

Source
Quotes.scala

Extension methods of TypeTree

Extension methods of TypeTree

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeTree

TypeTest that allows testing at runtime in a pattern match if a Tree is a TypeTree

Source
Quotes.scala

Extension methods of Typed

Extension methods of Typed

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a Typed

TypeTest that allows testing at runtime in a pattern match if a Tree is a Typed

Source
Quotes.scala

Extension methods of Unapply

Extension methods of Unapply

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is an Unapply

TypeTest that allows testing at runtime in a pattern match if a Tree is an Unapply

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Constant is a UnitConstant

TypeTest that allows testing at runtime in a pattern match if a Constant is a UnitConstant

Source
Quotes.scala

Extension methods of ValDef

Extension methods of ValDef

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a ValDef

TypeTest that allows testing at runtime in a pattern match if a Tree is a ValDef

Source
Quotes.scala

Extension methods of While

Extension methods of While

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a While

TypeTest that allows testing at runtime in a pattern match if a Tree is a While

Source
Quotes.scala

Extension methods of WildcardTypeTree

Extension methods of WildcardTypeTree

Source
Quotes.scala

TypeTest that allows testing at runtime in a pattern match if a Tree is a WildcardTypeTree

TypeTest that allows testing at runtime in a pattern match if a Tree is a WildcardTypeTree

Source
Quotes.scala

Extensions

Extensions

extension (expr: Expr[Any])
def asTerm: Term

Returns the Term representation this expression

Returns the Term representation this expression

Source
Quotes.scala