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
- Source:
- Quotes.scala
Type members
Classlikes
Extension methods of Alternatives
Extension methods of Alternatives
- Source:
- Quotes.scala
Methods of the module object val Alternatives
Methods of the module object val Alternatives
- Source:
- Quotes.scala
Extension methods of AndOrType
Extension methods of AndOrType
- Source:
- Quotes.scala
Methods of the module object val AndType
Methods of the module object val AndType
- Source:
- Quotes.scala
Extension methods of Annotated
Extension methods of Annotated
- Source:
- Quotes.scala
Methods of the module object val Annotated
Methods of the module object val Annotated
- Source:
- Quotes.scala
Extension methods of AnnotatedType
Extension methods of AnnotatedType
- 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
Extension methods of AppliedType
Extension methods of AppliedType
- 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
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
Extension methods of ByNameType
Extension methods of ByNameType
- 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
Extension methods of ClassDef
Extension methods of ClassDef
- 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
Extension methods of Constant
Extension methods of Constant
- Source:
- Quotes.scala
Constant value represented as the constant itself
Constant value represented as the constant itself
- Source:
- Quotes.scala
Extension methods of ConstantType
Extension methods of ConstantType
- 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
Extension methods of Definition
Extension methods of Definition
- 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
Extension methods of GivenSelector
Extension methods of GivenSelector
- 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
Methods of the module object val If
Methods of the module object val If
- Source:
- Quotes.scala
Extension methods of ImplicitSearchFailure
Extension methods of ImplicitSearchFailure
- Source:
- Quotes.scala
Extension methods of ImplicitSearchSuccess
Extension methods of ImplicitSearchSuccess
- 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
Extension methods of LambdaType
Extension methods of LambdaType
- Source:
- Quotes.scala
Extension methods of LambdaTypeTree
Extension methods of LambdaTypeTree
- 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
Extension methods of MatchCase
Extension methods of MatchCase
- 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
Extension methods of MatchType
Extension methods of MatchType
- Source:
- Quotes.scala
Methods of the module object val MatchType
Methods of the module object val MatchType
- Source:
- Quotes.scala
Extension methods of MatchTypeTree
Extension methods of MatchTypeTree
- Source:
- Quotes.scala
Methods of the module object val MatchTypeTree
Methods of the module object val MatchTypeTree
- Source:
- Quotes.scala
Extension methods of MethodType
Extension methods of MethodType
- Source:
- Quotes.scala
Methods of the module object val MethodType
Methods of the module object val MethodType
- Source:
- Quotes.scala
Extension methods of NamedArg
Extension methods of NamedArg
- Source:
- Quotes.scala
Methods of the module object val NamedArg
Methods of the module object val NamedArg
- Source:
- Quotes.scala
Extension methods of NamedType
Extension methods of NamedType
- Source:
- Quotes.scala
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
Extension methods of OmitSelector
Extension methods of OmitSelector
- 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
Extension methods of PackageClause
Extension methods of PackageClause
- Source:
- Quotes.scala
Methods of the module object val PackageClause
Methods of the module object val PackageClause
- Source:
- Quotes.scala
Extension methods of ParamClause
Extension methods of ParamClause
- Source:
- Quotes.scala
Methods of the module object val ParamClause
Methods of the module object val ParamClause
- Source:
- Quotes.scala
Extension methods of ParamRef
Extension methods of ParamRef
- Source:
- Quotes.scala
Methods of the module object val ParamRef
Methods of the module object val ParamRef
- Source:
- Quotes.scala
Extension methods of PolyType
Extension methods of PolyType
- Source:
- Quotes.scala
Methods of the module object val PolyType
Methods of the module object val PolyType
- Source:
- Quotes.scala
Extension methods of Position
Extension methods of Position
- Source:
- Quotes.scala
Methods of the module object val Position
Methods of the module object val Position
- Source:
- Quotes.scala
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
Extension methods of RecursiveThis
Extension methods of RecursiveThis
- Source:
- Quotes.scala
Methods of the module object val RecursiveThis
Methods of the module object val RecursiveThis
- Source:
- Quotes.scala
Extension methods of RecursiveType
Extension methods of RecursiveType
- Source:
- Quotes.scala
Methods of the module object val RecursiveType
Methods of the module object val RecursiveType
- Source:
- Quotes.scala
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
Extension methods of Refinement
Extension methods of Refinement
- Source:
- Quotes.scala
Methods of the module object val Refinement
Methods of the module object val Refinement
- Source:
- Quotes.scala
Extension methods of RenameSelector
Extension methods of RenameSelector
- Source:
- Quotes.scala
Methods of the module object val RenameSelector
Methods of the module object val RenameSelector
- Source:
- Quotes.scala
Extension methods of Repeated
Extension methods of Repeated
- 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
Extension methods of SelectOuter
Extension methods of SelectOuter
- 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
Extension methods of Signature
Extension methods of Signature
- Source:
- Quotes.scala
Methods of the module object val Signature
Methods of the module object val Signature
- Source:
- Quotes.scala
Extension methods of SimpleSelector
Extension methods of SimpleSelector
- Source:
- Quotes.scala
Methods of the module object val SimpleSelector
Methods of the module object val SimpleSelector
- Source:
- Quotes.scala
Extension methods of Singleton
Extension methods of Singleton
- Source:
- Quotes.scala
Methods of the module object val Singleton
Methods of the module object val Singleton
- Source:
- Quotes.scala
Extension methods of SourceFile
Extension methods of SourceFile
- 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
Extension methods of SummonFrom
Extension methods of SummonFrom
- 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
Extension methods of SuperType
Extension methods of SuperType
- 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
Methods of the module object val Term
Methods of the module object val Term
- Source:
- Quotes.scala
Extension methods of TermParamClause
Extension methods of TermParamClause
- 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
Methods of the module object val This
Methods of the module object val This
- Source:
- Quotes.scala
Extension methods of ThisType
Extension methods of ThisType
- Source:
- Quotes.scala
Methods of the module object val ThisType
Methods of the module object val ThisType
- Source:
- Quotes.scala
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 = ???
}
}
- Source:
- Quotes.scala
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.
- Source:
- Quotes.scala
Methods of the module object val Tree
Methods of the module object val Tree
- Source:
- Quotes.scala
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 = ???
}
}
- Source:
- Quotes.scala
Methods of the module object val Try
Methods of the module object val Try
- Source:
- Quotes.scala
Extension methods of TypeApply
Extension methods of TypeApply
- Source:
- Quotes.scala
Methods of the module object val TypeApply
Methods of the module object val TypeApply
- Source:
- Quotes.scala
Extension methods of TypeBind
Extension methods of TypeBind
- Source:
- Quotes.scala
Methods of the module object val TypeBind
Methods of the module object val TypeBind
- Source:
- Quotes.scala
Extension methods of TypeBlock
Extension methods of TypeBlock
- Source:
- Quotes.scala
Methods of the module object val TypeBlock
Methods of the module object val TypeBlock
- Source:
- Quotes.scala
Extension methods of TypeBounds
Extension methods of TypeBounds
- Source:
- Quotes.scala
Methods of the module object val TypeBounds
Methods of the module object val TypeBounds
- Source:
- Quotes.scala
Extension methods of TypeBoundsTree
Extension methods of TypeBoundsTree
- Source:
- Quotes.scala
Methods of the module object val TypeBoundsTree
Methods of the module object val TypeBoundsTree
- Source:
- Quotes.scala
Extension methods of TypeCaseDef
Extension methods of TypeCaseDef
- 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
Extension methods of TypeIdent
Extension methods of TypeIdent
- Source:
- Quotes.scala
Methods of the module object val TypeIdent
Methods of the module object val TypeIdent
- Source:
- Quotes.scala
Extension methods of TypeLambda
Extension methods of TypeLambda
- Source:
- Quotes.scala
Methods of the module object val TypeLambda
Methods of the module object val TypeLambda
- Source:
- Quotes.scala
Extension methods of TypeParamClause
Extension methods of TypeParamClause
- Source:
- Quotes.scala
Methods of the module object val TypeParamClause
Methods of the module object val TypeParamClause
- Source:
- Quotes.scala
Extension methods of TypeProjection
Extension methods of TypeProjection
- 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
Extension methods of TypeRepr
Extension methods of TypeRepr
- Source:
- Quotes.scala
Methods of the module object val TypeRepr
Methods of the module object val TypeRepr
- Source:
- Quotes.scala
Extension methods of TypeSelect
Extension methods of TypeSelect
- Source:
- Quotes.scala
Methods of the module object val TypeSelect
Methods of the module object val TypeSelect
- Source:
- Quotes.scala
Extension methods of TypeTree
Extension methods of TypeTree
- 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
Extension methods of TypedOrTest
Extension methods of TypedOrTest
- Source:
- Quotes.scala
Methods of the module object val TypedOrTest
Methods of the module object val TypedOrTest
- 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 Wildcard
Methods of the module object val Wildcard
- Source:
- Quotes.scala
Extension methods of WildcardTypeTree
Extension methods of WildcardTypeTree
- Source:
- Quotes.scala
Methods of the module object val WildcardTypeTree
Methods of the module object val WildcardTypeTree
- Source:
- Quotes.scala
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
Type tree representing an annotated type
Type tree representing an annotated type
- Source:
- Quotes.scala
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
Tree representing an application of arguments.
It represents a single list of arguments, multiple argument lists will have nested Apply
s
Tree representing an application of arguments.
It represents a single list of arguments, multiple argument lists will have nested Apply
s
- Source:
- Quotes.scala
Tree representing an assignment x = y
in the source code
Tree representing an assignment x = y
in the source code
- Source:
- Quotes.scala
Tree representing a block { ... }
in the source code
Tree representing a block { ... }
in the source code
- Source:
- Quotes.scala
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
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 = ???
- Source:
- Quotes.scala
Branch of a pattern match or catch clause
Branch of a pattern match or catch clause
- 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
- Source:
- Quotes.scala
Constant class value representing a classOf[T]
Constant class value representing a classOf[T]
- 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) }
- Source:
- Quotes.scala
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. It can be ClassDef
, TypeDef
, DefDef
or ValDef
Tree representing a definition in the source code. It can be ClassDef
, TypeDef
, DefDef
or ValDef
- Source:
- Quotes.scala
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.
- 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
Tree representing a reference to definition with a given name
Tree representing a reference to definition with a given name
- Source:
- Quotes.scala
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
Tree representing an import in the source code.
Tree representing an import in the source code.
See also documentation on Selector
.
- Source:
- Quotes.scala
Tree representing the scope of an inlined tree
Tree representing the scope of an inlined tree
- 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
Tree representing a literal value in the source code
Tree representing a literal value in the source code
- Source:
- Quotes.scala
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 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. 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.
- Source:
- Quotes.scala
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)
- 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
Tree representing new
in the source code
Tree representing new
in the source code
- Source:
- Quotes.scala
Omit import/export selector: .{bar => _}
in import foo.{bar => _}
Omit import/export selector: .{bar => _}
in import foo.{bar => _}
- 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
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])
}
- 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.
- Source:
- Quotes.scala
Tree representing a reference to definition
Tree representing a reference to definition
- Source:
- Quotes.scala
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
Tree representing a variable argument list in the source code
Tree representing a variable argument list in the source code
- Source:
- Quotes.scala
Tree representing a return
in the source code
Tree representing a return
in the source code
- Source:
- Quotes.scala
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
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
Import/Export selectors:
Import/Export selectors:
- SimpleSelector:
.bar
inimport foo.bar
- RenameSelector:
.{bar => baz}
inexport foo.{bar => baz}
- OmitSelector:
.{bar => _}
inimport foo.{bar => _}
- GivenSelector:
.given
/.{given T}
inexport foo.given
/import foo.{given T}
- Source:
- Quotes.scala
Simple import/export selector: .bar
in import foo.bar
Simple import/export selector: .bar
in import foo.bar
- Source:
- Quotes.scala
Tree representing a statement in the source code
Tree representing a statement in the source code
- Source:
- Quotes.scala
Tree representing a summoning match summonFrom { ... }
in the source code
Tree representing a summoning match summonFrom { ... }
in the source code
- Source:
- Quotes.scala
Tree representing super
in the source code
Tree representing super
in the source code
- Source:
- Quotes.scala
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.
- Source:
- Quotes.scala
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
Tree representing this
or C.this
in the source code
Tree representing this
or C.this
in the source code
- Source:
- Quotes.scala
Tree representing code written in the source
Tree representing code written in the source
- Source:
- Quotes.scala
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
Tree representing an application of type arguments
Tree representing an application of type arguments
- 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 tree representing a type bound written in the source
Type tree representing a type bound written in the source
- 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. 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.
- 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
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 tree representing a type written in the source
Type tree representing a type written in the source
- Source:
- Quotes.scala
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
.
- Source:
- Quotes.scala
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.
- Source:
- Quotes.scala
Pattern representing a Xyz(...)
unapply.
Pattern representing a Xyz(...)
unapply.
- 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 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.
- Source:
- Quotes.scala
Value members
Abstract fields
Constant value represented as the constant itself
Constant value represented as the constant itself
- 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 forBlock
to avoid mishandling ofLambda
.- Source:
- Quotes.scala
Module object of type Printer
.
Contains custom printers such as TreeCode
, TreeAnsiCode
, TreeCases
, TypeReprCode
, ..., SymbolFullName
and FlagsCombination
.
Module object of type Printer
.
Contains custom printers such as TreeCode
, TreeAnsiCode
, TreeCases
, TypeReprCode
, ..., SymbolFullName
and FlagsCombination
.
- Source:
- Quotes.scala
A value containing all standard definitions
A value containing all standard definitions
- Source:
- Quotes.scala
Module containing error and warning reporting.
Module containing error and warning reporting.
- Source:
- Quotes.scala
Givens
Givens
Makes extension methods on Alternatives
available without any imports
Makes extension methods on Alternatives
available without any imports
- 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
Makes extension methods on AndOrType
available without any imports
Makes extension methods on AndOrType
available without any imports
- 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
Makes extension methods on Annotated
available without any imports
Makes extension methods on Annotated
available without any imports
- Source:
- Quotes.scala
Makes extension methods on AnnotatedType
available without any imports
Makes extension methods on AnnotatedType
available without any imports
- 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
Makes extension methods on Applied
available without any imports
Makes extension methods on Applied
available without any imports
- Source:
- Quotes.scala
Makes extension methods on AppliedType
available without any imports
Makes extension methods on AppliedType
available without any imports
- 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
Makes extension methods on Apply
available without any imports
Makes extension methods on Apply
available without any imports
- 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
Makes extension methods on Assign
available without any imports
Makes extension methods on Assign
available without any imports
- 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
Makes extension methods on Bind
available without any imports
Makes extension methods on Bind
available without any imports
- 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
Makes extension methods on Block
available without any imports
Makes extension methods on Block
available without any imports
- 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
Makes extension methods on ByName
available without any imports
Makes extension methods on ByName
available without any imports
- Source:
- Quotes.scala
Makes extension methods on ByNameType
available without any imports
Makes extension methods on ByNameType
available without any imports
- 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
Makes extension methods on CaseDef
available without any imports
Makes extension methods on CaseDef
available without any imports
- 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
Makes extension methods on ClassDef
available without any imports
Makes extension methods on ClassDef
available without any imports
- 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
Makes extension methods on Closure
available without any imports
Makes extension methods on Closure
available without any imports
- 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
Makes extension methods on Constant
available without any imports
Makes extension methods on Constant
available without any imports
- Source:
- Quotes.scala
Default pinter for Constant
used when calling const.show
Default pinter for Constant
used when calling const.show
- Source:
- Quotes.scala
Makes extension methods on ConstantType
available without any imports
Makes extension methods on ConstantType
available without any imports
- 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
Makes extension methods on DefDef
available without any imports
Makes extension methods on DefDef
available without any imports
- 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
Makes extension methods on Definition
available without any imports
Makes extension methods on Definition
available without any imports
- 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
Makes extension methods on Export
available without any imports
Makes extension methods on Export
available without any imports
- 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
Makes extension methods on Flags
available without any imports
Makes extension methods on Flags
available without any imports
- 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
Makes extension methods on GivenSelector
available without any imports
Makes extension methods on GivenSelector
available without any imports
- 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
Makes extension methods on Ident
available without any imports
Makes extension methods on Ident
available without any imports
- 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
Makes extension methods on If
available without any imports
Makes extension methods on If
available without any imports
- 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
Makes extension methods on ImplicitSearchFailure
available without any imports
Makes extension methods on ImplicitSearchFailure
available without any imports
- 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
Makes extension methods on ImplicitSearchSuccess
available without any imports
Makes extension methods on ImplicitSearchSuccess
available without any imports
- 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
Makes extension methods on Import
available without any imports
Makes extension methods on Import
available without any imports
- 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
Makes extension methods on Inlined
available without any imports
Makes extension methods on Inlined
available without any imports
- 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
Makes extension methods on LambdaType
available without any imports
Makes extension methods on LambdaType
available without any imports
- Source:
- Quotes.scala
Makes extension methods on LambdaTypeTree
available without any imports
Makes extension methods on LambdaTypeTree
available without any imports
- 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
Makes extension methods on Literal
available without any imports
Makes extension methods on Literal
available without any imports
- 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
Makes extension methods on MatchCase
available without any imports
Makes extension methods on MatchCase
available without any imports
- 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
Makes extension methods on Match
available without any imports
Makes extension methods on Match
available without any imports
- Source:
- Quotes.scala
Makes extension methods on MatchType
available without any imports
Makes extension methods on MatchType
available without any imports
- 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
Makes extension methods on MatchTypeTree
available without any imports
Makes extension methods on MatchTypeTree
available without any imports
- 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
Makes extension methods on MethodType
available without any imports
Makes extension methods on MethodType
available without any imports
- 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
Makes extension methods on NamedArg
available without any imports
Makes extension methods on NamedArg
available without any imports
- 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
Makes extension methods on NamedType
available without any imports
Makes extension methods on NamedType
available without any imports
- 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
Makes extension methods on New
available without any imports
Makes extension methods on New
available without any imports
- 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
Makes extension methods on OmitSelector
available without any imports
Makes extension methods on OmitSelector
available without any imports
- 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
Makes extension methods on PackageClause
available without any imports
Makes extension methods on PackageClause
available without any imports
- 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
Makes extension methods on ParamClause
available without any imports
Makes extension methods on ParamClause
available without any imports
- Source:
- Quotes.scala
Makes extension methods on ParamRef
available without any imports
Makes extension methods on ParamRef
available without any imports
- 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
Makes extension methods on PolyType
available without any imports
Makes extension methods on PolyType
available without any imports
- 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
Makes extension methods on Position
available without any imports
Makes extension methods on Position
available without any imports
- Source:
- Quotes.scala
Makes extension methods on RecursiveThis
available without any imports
Makes extension methods on RecursiveThis
available without any imports
- 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
Makes extension methods on RecursiveType
available without any imports
Makes extension methods on RecursiveType
available without any imports
- 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
Makes extension methods on Refined
available without any imports
Makes extension methods on Refined
available without any imports
- 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
Makes extension methods on Refinement
available without any imports
Makes extension methods on Refinement
available without any imports
- 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
Makes extension methods on RenameSelector
available without any imports
Makes extension methods on RenameSelector
available without any imports
- 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
Makes extension methods on Repeated
available without any imports
Makes extension methods on Repeated
available without any imports
- 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
Makes extension methods on Return
available without any imports
Makes extension methods on Return
available without any imports
- 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
Makes extension methods on Select
available without any imports
Makes extension methods on Select
available without any imports
- Source:
- Quotes.scala
Makes extension methods on SelectOuter
available without any imports
Makes extension methods on SelectOuter
available without any imports
- 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
Makes extension methods on Signature
available without any imports
Makes extension methods on Signature
available without any imports
- Source:
- Quotes.scala
Makes extension methods on SimpleSelector
available without any imports
Makes extension methods on SimpleSelector
available without any imports
- 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
Makes extension methods on Singleton
available without any imports
Makes extension methods on Singleton
available without any imports
- 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
Makes extension methods on SourceFile
available without any imports
Makes extension methods on SourceFile
available without any imports
- 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
Makes extension methods on SummonFrom
available without any imports
Makes extension methods on SummonFrom
available without any imports
- 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
Makes extension methods on Super
available without any imports
Makes extension methods on Super
available without any imports
- Source:
- Quotes.scala
Makes extension methods on SuperType
available without any imports
Makes extension methods on SuperType
available without any imports
- 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
Makes extension methods on Symbol
available without any imports
Makes extension methods on Symbol
available without any imports
- Source:
- Quotes.scala
Makes extension methods on Term
available without any imports
Makes extension methods on Term
available without any imports
- Source:
- Quotes.scala
Makes extension methods on TermParamClause
available without any imports
Makes extension methods on TermParamClause
available without any imports
- 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
Makes extension methods on This
available without any imports
Makes extension methods on This
available without any imports
- Source:
- Quotes.scala
Makes extension methods on ThisType
available without any imports
Makes extension methods on ThisType
available without any imports
- 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
Makes extension methods on Tree
available without any imports
Makes extension methods on Tree
available without any imports
- Source:
- Quotes.scala
Default pinter for Tree
used when calling tree.show
Default pinter for Tree
used when calling tree.show
- Source:
- Quotes.scala
Makes extension methods on Try
available without any imports
Makes extension methods on Try
available without any imports
- 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
Makes extension methods on TypeApply
available without any imports
Makes extension methods on TypeApply
available without any imports
- 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
Makes extension methods on TypeBind
available without any imports
Makes extension methods on TypeBind
available without any imports
- 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
Makes extension methods on TypeBlock
available without any imports
Makes extension methods on TypeBlock
available without any imports
- 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
Makes extension methods on TypeBounds
available without any imports
Makes extension methods on TypeBounds
available without any imports
- Source:
- Quotes.scala
Makes extension methods on TypeBoundsTree
available without any imports
Makes extension methods on TypeBoundsTree
available without any imports
- 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
Makes extension methods on TypeCaseDef
available without any imports
Makes extension methods on TypeCaseDef
available without any imports
- 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
Makes extension methods on TypeDef
available without any imports
Makes extension methods on TypeDef
available without any imports
- 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
Makes extension methods on TypeIdent
available without any imports
Makes extension methods on TypeIdent
available without any imports
- 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
Makes extension methods on TypeLambda
available without any imports
Makes extension methods on TypeLambda
available without any imports
- 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
Makes extension methods on TypeParamClause
available without any imports
Makes extension methods on TypeParamClause
available without any imports
- 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
Makes extension methods on TypeProjection
available without any imports
Makes extension methods on TypeProjection
available without any imports
- 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
Makes extension methods on TypeRef
available without any imports
Makes extension methods on TypeRef
available without any imports
- 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
Makes extension methods on TypeRepr
available without any imports
Makes extension methods on TypeRepr
available without any imports
- Source:
- Quotes.scala
Default pinter for TypeRepr
used when calling tpe.show
Default pinter for TypeRepr
used when calling tpe.show
- Source:
- Quotes.scala
Makes extension methods on TypeSelect
available without any imports
Makes extension methods on TypeSelect
available without any imports
- 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
Makes extension methods on TypeTree
available without any imports
Makes extension methods on TypeTree
available without any imports
- 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
Makes extension methods on Typed
available without any imports
Makes extension methods on Typed
available without any imports
- Source:
- Quotes.scala
Makes extension methods on TypedOrTest
available without any imports
Makes extension methods on TypedOrTest
available without any imports
- Source:
- Quotes.scala
TypeTest
that allows testing at runtime in a pattern match if a Tree
is a TypedOrTest
TypeTest
that allows testing at runtime in a pattern match if a Tree
is a TypedOrTest
- 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
Makes extension methods on Unapply
available without any imports
Makes extension methods on Unapply
available without any imports
- 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
Makes extension methods on ValDef
available without any imports
Makes extension methods on ValDef
available without any imports
- 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
Makes extension methods on While
available without any imports
Makes extension methods on While
available without any imports
- 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
TypeTest
that allows testing at runtime in a pattern match if a Tree
is a Wildcard
TypeTest
that allows testing at runtime in a pattern match if a Tree
is a Wildcard
- Source:
- Quotes.scala
Makes extension methods on WildcardTypeTree
available without any imports
Makes extension methods on WildcardTypeTree
available without any imports
- 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
Returns the Term
representation this expression
Returns the Term
representation this expression
- Source:
- Quotes.scala