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
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
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
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
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
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
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
Methods of the module object val ThisType
Methods of the module object val ThisType
- Source:
- Quotes.scala
Customizable Tree accumulator.
Customizable Tree accumulator.
Usage:
package scala.quoted
trait Snippet0 { self: runtime.QuoteUnpickler & scala.quoted.runtime.QuoteMatching & scala.quoted.Quotes =>
val QuoteUnpickler = self
val QuoteMatching = self
val Quotes = self
trait Snippet1 { self: Quotes.reflect.type /*Quotes.reflectModule*/ & Quotes.reflectModule =>
val reflect = self
val reflectModule = self
trait Snippet2[X] { self: reflectModule.TreeAccumulator[X] =>
val TreeAccumulator = self
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:
package scala.quoted
trait Snippet0 { self: runtime.QuoteUnpickler & scala.quoted.runtime.QuoteMatching & scala.quoted.Quotes =>
val QuoteUnpickler = self
val QuoteMatching = self
val Quotes = self
trait Snippet1 { self: Quotes.reflect.type /*Quotes.reflectModule*/ & Quotes.reflectModule =>
val reflect = self
val reflectModule = self
trait Snippet2 { self: reflectModule.TreeMap =>
val TreeMap = self
class MyTreeMap extends TreeMap {
override def transformTree(tree: Tree)(owner: Symbol): Tree = ???
}
}
}
}
- 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:
package scala.quoted
trait Snippet0 { self: runtime.QuoteUnpickler & scala.quoted.runtime.QuoteMatching & scala.quoted.Quotes =>
val QuoteUnpickler = self
val QuoteMatching = self
val Quotes = self
trait Snippet1 { self: Quotes.reflect.type /*Quotes.reflectModule*/ & Quotes.reflectModule =>
val reflect = self
val reflectModule = self
trait Snippet2 { self: reflectModule.TreeTraverser =>
val TreeTraverser = self
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
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
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
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 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.
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
package scala.quoted
trait Snippet0 { self: runtime.QuoteUnpickler & scala.quoted.runtime.QuoteMatching & scala.quoted.Quotes =>
val QuoteUnpickler = self
val QuoteMatching = self
val Quotes = self
trait Snippet1 { self: Quotes.reflect.type /*Quotes.reflectModule*/ & Quotes.reflectModule =>
val reflect = self
val reflectModule = self
type T
def log[T](thunk: => T): T = ???
}
}
May also represent a the return type of a parameterless method definition such as
package scala.quoted
trait Snippet0 { self: runtime.QuoteUnpickler & scala.quoted.runtime.QuoteMatching & scala.quoted.Quotes =>
val QuoteUnpickler = self
val QuoteMatching = self
val Quotes = self
trait Snippet1 { self: Quotes.reflect.type /*Quotes.reflectModule*/ & Quotes.reflectModule =>
val reflect = self
val reflectModule = self
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.
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.
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.
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.
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.
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
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
package scala.quoted
trait Snippet0 { self: runtime.QuoteUnpickler & scala.quoted.runtime.QuoteMatching & scala.quoted.Quotes =>
val QuoteUnpickler = self
val QuoteMatching = self
val Quotes = self
trait Snippet1 { self: Quotes.reflect.type /*Quotes.reflectModule*/ & Quotes.reflectModule =>
val reflect = self
val reflectModule = self
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.
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
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:
- 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
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.
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.
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
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.
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
.
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