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
| | +- ValOrDefDef -+- 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
+- FlexibleType
+- MethodTypeKind -+- Contextual
+- Implicit
+- Plain
+- Selector -+- SimpleSelector
+- RenameSelector
+- OmitSelector
+- GivenSelector
+- Signature
+- Position
+- SourceFile
+- Constant -+- BooleanConstant
+- ByteConstant
+- ShortConstant
+- IntConstant
+- LongConstant
+- FloatConstant
+- DoubleConstant
+- CharConstant
+- StringConstant
+- UnitConstant
+- NullConstant
+- ClassOfConstant
+- Symbol
+- Flags
Attributes
- Graph
-
- Supertypes
- Self type
-
Members list
Type members
Classlikes
Extension methods of Alternatives.
Methods of the module object val Alternatives.
Methods of the module object val Alternatives.
Attributes
- Supertypes
- Self type
-
Extension methods of AndOrType.
Methods of the module object val AndType.
Methods of the module object val AndType.
Attributes
- Supertypes
- Self type
-
Extension methods of Annotated.
Methods of the module object val Annotated.
Methods of the module object val Annotated.
Attributes
- Supertypes
- Self type
-
Extension methods of AnnotatedType.
Methods of the module object val AnnotatedType.
Methods of the module object val AnnotatedType.
Attributes
- Supertypes
- Self type
-
Extension methods of Applied.
Methods of the module object val Applied.
Methods of the module object val Applied.
Attributes
- Supertypes
- Self type
-
Extension methods of AppliedType.
Methods of the module object val AppliedType.
Methods of the module object val AppliedType.
Attributes
- Supertypes
- Self type
-
Extension methods of Apply.
Methods of the module object val Apply.
Methods of the module object val Apply.
Attributes
- Supertypes
- Self type
-
Extension methods of Assign.
Methods of the module object val Assign.
Methods of the module object val Assign.
Attributes
- Supertypes
- Self type
-
Extension methods of Bind.
Methods of the module object val Bind.
Methods of the module object val Bind.
Attributes
- Supertypes
- Self type
-
Extension methods of Block.
Methods of the module object val Block.
Methods of the module object val Block.
Attributes
- Supertypes
- Self type
-
Methods of the module object val BooleanConstant.
Methods of the module object val BooleanConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of ByName.
Methods of the module object val ByName.
Methods of the module object val ByName.
Attributes
- Supertypes
- Self type
-
Extension methods of ByNameType.
Methods of the module object val ByNameType.
Methods of the module object val ByNameType.
Attributes
- Supertypes
- Self type
-
Methods of the module object val ByteConstant.
Methods of the module object val ByteConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of CaseDef.
Methods of the module object val CaseDef.
Methods of the module object val CaseDef.
Attributes
- Supertypes
- Self type
-
Methods of the module object val CharConstant.
Methods of the module object val CharConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of ClassDef.
Methods of the module object val ClassDef.
Methods of the module object val ClassDef.
Attributes
- Supertypes
- Self type
-
Methods of the module object val ClassOf.
Methods of the module object val ClassOf.
Attributes
- Supertypes
- Self type
-
Extension methods of Closure.
Methods of the module object val Closure.
Methods of the module object val Closure.
Attributes
- Supertypes
- Self type
-
Methods of the module object val CompilationInfo.
Methods of the module object val CompilationInfo.
Attributes
- Supertypes
- Self type
-
Extension methods of Constant.
Constant value represented as the constant itself.
Constant value represented as the constant itself.
Attributes
- Supertypes
- Self type
-
Extension methods of ConstantType.
Methods of the module object val Type.
Methods of the module object val Type.
Attributes
- Supertypes
- Self type
-
Extension methods of DefDef.
Methods of the module object val DefDef.
Methods of the module object val DefDef.
Attributes
- Supertypes
- Self type
-
Extension methods of Definition.
Methods of the module object val Definition.
Methods of the module object val Definition.
Attributes
- Supertypes
- Self type
-
Methods of the module object val DoubleConstant.
Methods of the module object val DoubleConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of Export.
Methods of the module object val Export.
Methods of the module object val Export.
Attributes
- Supertypes
- Self type
-
Extension methods of Flags.
Methods of the module object val Flags.
Methods of the module object val Flags.
Attributes
- Supertypes
- Self type
-
Extension methods of FlexibleType.
Methods of the module object val FlexibleType.
Methods of the module object val FlexibleType.
Attributes
- Supertypes
- Self type
-
Methods of the module object val FloatConstant.
Methods of the module object val FloatConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of GivenSelector.
Methods of the module object val GivenSelector.
Methods of the module object val GivenSelector.
Attributes
- Supertypes
- Self type
-
Extension methods of Ident.
Methods of the module object val Ident.
Methods of the module object val Ident.
Attributes
- Supertypes
- Self type
-
Extension methods of If.
Methods of the module object val If.
Methods of the module object val If.
Attributes
- Supertypes
- Self type
-
Extension methods of ImplicitSearchFailure.
Extension methods of ImplicitSearchFailure.
Attributes
- Supertypes
Extension methods of ImplicitSearchSuccess.
Extension methods of ImplicitSearchSuccess.
Attributes
- Supertypes
Methods of the module object val Implicits.
Methods of the module object val Implicits.
Attributes
- Supertypes
- Self type
-
Extension methods of Import.
Methods of the module object val Import.
Methods of the module object val Import.
Attributes
- Supertypes
- Self type
-
Methods of the module object val Inferred.
Methods of the module object val Inferred.
Attributes
- Supertypes
- Self type
-
Extension methods of Inlined.
Methods of the module object val Inlined.
Methods of the module object val Inlined.
Attributes
- Supertypes
- Self type
-
Methods of the module object val IntConstant.
Methods of the module object val IntConstant.
Attributes
- Supertypes
- Self type
-
Methods of the module object val Lambda.
Methods of the module object val Lambda.
Attributes
- Supertypes
- Self type
-
Extension methods of LambdaType.
Extension methods of LambdaTypeTree.
Methods of the module object val LambdaTypeTree.
Methods of the module object val LambdaTypeTree.
Attributes
- Supertypes
- Self type
-
Extension methods of Literal.
Methods of the module object val Literal.
Methods of the module object val Literal.
Attributes
- Supertypes
- Self type
-
Methods of the module object val LongConstant.
Methods of the module object val LongConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of MatchCase.
Methods of the module object val MatchCase.
Methods of the module object val MatchCase.
Attributes
- Supertypes
- Self type
-
Extension methods of Match.
Methods of the module object val Match.
Methods of the module object val Match.
Attributes
- Supertypes
- Self type
-
Extension methods of MatchType.
Methods of the module object val MatchType.
Methods of the module object val MatchType.
Attributes
- Supertypes
- Self type
-
Extension methods of MatchTypeTree.
Methods of the module object val MatchTypeTree.
Methods of the module object val MatchTypeTree.
Attributes
- Supertypes
- Self type
-
Type which decides on the kind of parameter list represented by MethodType.
Type which decides on the kind of parameter list represented by MethodType.
Attributes
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Extension methods of MethodType.
Methods of the module object val MethodType.
Methods of the module object val MethodType.
Attributes
- Supertypes
- Self type
-
Extension methods of NamedArg.
Methods of the module object val NamedArg.
Methods of the module object val NamedArg.
Attributes
- Supertypes
- Self type
-
Extension methods of NamedType.
Extension methods of New.
Methods of the module object val New.
Methods of the module object val New.
Attributes
- Supertypes
- Self type
-
Methods of the module object val NoPrefix.
Methods of the module object val NoPrefix.
Attributes
- Supertypes
- Self type
-
Methods of the module object val NullConstant.
Methods of the module object val NullConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of OmitSelector.
Methods of the module object val OmitSelector.
Methods of the module object val OmitSelector.
Attributes
- Supertypes
- Self type
-
Methods of the module object val OrType.
Methods of the module object val OrType.
Attributes
- Supertypes
- Self type
-
Extension methods of PackageClause.
Methods of the module object val PackageClause.
Methods of the module object val PackageClause.
Attributes
- Supertypes
- Self type
-
Extension methods of ParamClause.
Methods of the module object val ParamClause.
Methods of the module object val ParamClause.
Attributes
- Supertypes
- Self type
-
Extension methods of ParamRef.
Methods of the module object val ParamRef.
Methods of the module object val ParamRef.
Attributes
- Supertypes
- Self type
-
Extension methods of PolyType.
Methods of the module object val PolyType.
Methods of the module object val PolyType.
Attributes
- Supertypes
- Self type
-
Extension methods of Position.
Methods of the module object val Position.
Methods of the module object val Position.
Attributes
- Supertypes
- Self type
-
Type class used in show methods to provide customizable String representations.
Type class used in show methods to provide customizable String representations.
Attributes
- Supertypes
Methods of the module object val Printer.
Methods of the module object val Printer.
Attributes
- Supertypes
- Self type
-
Extension methods of RecursiveThis.
Methods of the module object val RecursiveThis.
Methods of the module object val RecursiveThis.
Attributes
- Supertypes
- Self type
-
Extension methods of RecursiveType.
Methods of the module object val RecursiveType.
Methods of the module object val RecursiveType.
Attributes
- Supertypes
- Self type
-
Methods of the module object val Ref.
Methods of the module object val Ref.
Attributes
- Supertypes
- Self type
-
Extension methods of Refined.
Methods of the module object val Refined.
Methods of the module object val Refined.
Attributes
- Supertypes
- Self type
-
Extension methods of Refinement.
Methods of the module object val Refinement.
Methods of the module object val Refinement.
Attributes
- Supertypes
- Self type
-
Extension methods of RenameSelector.
Methods of the module object val RenameSelector.
Methods of the module object val RenameSelector.
Attributes
- Supertypes
- Self type
-
Extension methods of Repeated.
Methods of the module object val Repeated.
Methods of the module object val Repeated.
Attributes
- Supertypes
- Self type
-
Extension methods of Return.
Methods of the module object val Return.
Methods of the module object val Return.
Attributes
- Supertypes
- Self type
-
Extension methods of Select.
Methods of the module object val Select.
Methods of the module object val Select.
Attributes
- Supertypes
- Self type
-
Extension methods of SelectOuter.
Methods of the module object val SelectOuter.
Methods of the module object val SelectOuter.
Attributes
- Supertypes
- Self type
-
Methods of the module object val Selector.
Methods of the module object val Selector.
Attributes
- Supertypes
- Self type
-
Methods of the module object val Short.
Methods of the module object val Short.
Attributes
- Supertypes
- Self type
-
Extension methods of Signature.
Methods of the module object val Signature.
Methods of the module object val Signature.
Attributes
- Supertypes
- Self type
-
Extension methods of SimpleSelector.
Methods of the module object val SimpleSelector.
Methods of the module object val SimpleSelector.
Attributes
- Supertypes
- Self type
-
Extension methods of Singleton.
Methods of the module object val Singleton.
Methods of the module object val Singleton.
Attributes
- Supertypes
- Self type
-
Extension methods of SourceFile.
Methods of the module object val SourceFile.
Methods of the module object val SourceFile.
Attributes
- Supertypes
- Self type
-
Methods of the module object val StringConstant.
Methods of the module object val StringConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of SummonFrom.
Methods of the module object val SummonFrom.
Methods of the module object val SummonFrom.
Attributes
- Supertypes
- Self type
-
Extension methods of Super.
Methods of the module object val Super.
Methods of the module object val Super.
Attributes
- Supertypes
- Self type
-
Extension methods of SuperType.
Extension methods of SuperType.
Attributes
- Supertypes
- Self type
-
Methods of the module object val SuperType.
Methods of the module object val SuperType.
Attributes
- Supertypes
- Self type
-
Extension methods of Symbol.
Methods of the module object val Symbol.
Methods of the module object val Symbol.
Attributes
- Supertypes
- Self type
-
Extension methods of Term.
Methods of the module object val Term.
Methods of the module object val Term.
Attributes
- Supertypes
- Self type
-
Extension methods of TermParamClause.
Methods of the module object val TermParamClause.
Methods of the module object val TermParamClause.
Attributes
- Supertypes
- Self type
-
Methods of the module object val TermRef.
Methods of the module object val TermRef.
Attributes
- Supertypes
- Self type
-
Extension methods of This.
Methods of the module object val This.
Methods of the module object val This.
Attributes
- Supertypes
- Self type
-
Extension methods of ThisType.
Methods of the module object val ThisType.
Methods of the module object val ThisType.
Attributes
- Supertypes
- Self type
-
Customizable Tree accumulator.
Customizable Tree accumulator.
Usage:
def inQuotes(using q: Quotes) = {
import q.reflect.*
class MyTreeAccumulator[X] extends TreeAccumulator[X] {
def foldTree(x: X, tree: Tree)(owner: Symbol): X = ???
}
}
Attributes
- Supertypes
- Known subtypes
-
Customizable tree mapper.
Customizable tree mapper.
Usage:
def inQuotes(using q: Quotes) = {
import q.reflect.*
class MyTreeMap extends TreeMap {
override def transformTree(tree: Tree)(owner: Symbol): Tree = ???
}
}
Use Symbol.asQuotes to create quotes with the correct owner within the TreeMap.
Attributes
- Supertypes
Extension methods of Tree.
Methods of the module object val Tree.
Methods of the module object val Tree.
Attributes
- Supertypes
- Self type
-
Customizable tree traverser.
Customizable tree traverser.
Usage:
def inQuotes(using q: Quotes) = {
import q.reflect.*
class MyTraverser extends TreeTraverser {
override def traverseTree(tree: Tree)(owner: Symbol): Unit = ???
}
}
Attributes
- Supertypes
Extension methods of Try.
Methods of the module object val Try.
Methods of the module object val Try.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeApply.
Methods of the module object val TypeApply.
Methods of the module object val TypeApply.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeBind.
Methods of the module object val TypeBind.
Methods of the module object val TypeBind.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeBlock.
Methods of the module object val TypeBlock.
Methods of the module object val TypeBlock.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeBounds.
Methods of the module object val TypeBounds.
Methods of the module object val TypeBounds.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeBoundsTree.
Methods of the module object val TypeBoundsTree.
Methods of the module object val TypeBoundsTree.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeCaseDef.
Methods of the module object val TypeCaseDef.
Methods of the module object val TypeCaseDef.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeDef.
Methods of the module object val TypeDef.
Methods of the module object val TypeDef.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeIdent.
Methods of the module object val TypeIdent.
Methods of the module object val TypeIdent.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeLambda.
Methods of the module object val TypeLambda.
Methods of the module object val TypeLambda.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeParamClause.
Methods of the module object val TypeParamClause.
Methods of the module object val TypeParamClause.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeProjection.
Methods of the module object val TypeProjection.
Methods of the module object val TypeProjection.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeRef.
Methods of the module object val TypeRef.
Methods of the module object val TypeRef.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeRepr.
Methods of the module object val TypeRepr.
Methods of the module object val TypeRepr.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeSelect.
Methods of the module object val TypeSelect.
Methods of the module object val TypeSelect.
Attributes
- Supertypes
- Self type
-
Extension methods of TypeTree.
Methods of the module object val TypeTree.
Methods of the module object val TypeTree.
Attributes
- Supertypes
- Self type
-
Extension methods of Typed.
Methods of the module object val Typed.
Methods of the module object val Typed.
Attributes
- Supertypes
- Self type
-
Extension methods of TypedOrTest.
Methods of the module object val TypedOrTest.
Methods of the module object val TypedOrTest.
Attributes
- Supertypes
- Self type
-
Extension methods of Unapply.
Methods of the module object val Unapply.
Methods of the module object val Unapply.
Attributes
- Supertypes
- Self type
-
Methods of the module object val UnitConstant.
Methods of the module object val UnitConstant.
Attributes
- Supertypes
- Self type
-
Extension methods of ValDef.
Methods of the module object val ValDef.
Methods of the module object val ValDef.
Attributes
- Supertypes
- Self type
-
Extension methods of ValOrDefDef.
Extension methods of While.
Methods of the module object val While.
Methods of the module object val While.
Attributes
- Supertypes
- Self type
-
Methods of the module object val Wildcard.
Methods of the module object val Wildcard.
Attributes
- Supertypes
- Self type
-
Extension methods of WildcardTypeTree.
Methods of the module object val WildcardTypeTree.
Methods of the module object val WildcardTypeTree.
Attributes
- Supertypes
- Self type
-
Methods of the module object val defn.
Methods of the module object val defn.
Attributes
- Supertypes
- Self type
-
Methods of the module object val report.
Methods of the module object val report.
Attributes
- Supertypes
- Self type
-
Types
Pattern representing X | Y | ... alternatives.
Pattern representing X | Y | ... alternatives.
Attributes
Intersection type T & U or an union type T | U.
Intersection type T & U or an union type T | U.
Attributes
Type tree representing an annotated type.
Type tree representing an annotated type.
Attributes
A type with an annotation T @foo
A type with an annotation T @foo
Attributes
Type tree representing a type application.
Type tree representing a type application.
Attributes
A higher kinded type applied to some types T[U].
A higher kinded type applied to some types T[U].
Attributes
Tree representing an application of arguments. It represents a single list of arguments, multiple argument lists will have nested Applys
Tree representing an application of arguments. It represents a single list of arguments, multiple argument lists will have nested Applys
Attributes
Tree representing an assignment x = y in the source code.
Tree representing an assignment x = y in the source code.
Attributes
Pattern representing a _ @ _ binding.
Pattern representing a _ @ _ binding.
Attributes
Tree representing a block { ... } in the source code.
Tree representing a block { ... } in the source code.
Attributes
Constant Boolean value.
Constant Boolean value.
Attributes
Type tree representing a by name parameter.
Type tree representing a by name parameter.
Attributes
Type of a by-name definition of type =>T.
Type of a by-name definition of type =>T.
May represent by-name parameter such as thunk in
type T
def log[T](thunk: => T): T = ???
May also represent a the return type of a parameterless method definition such as
def foo: Int = ???
Attributes
Constant Byte value.
Constant Byte value.
Attributes
Branch of a pattern match or catch clause.
Branch of a pattern match or catch clause.
Attributes
Constant Char value.
Constant Char value.
Attributes
Tree representing a class definition. This includes anonymous class definitions and the class of a module object.
Tree representing a class definition. This includes anonymous class definitions and the class of a module object.
Attributes
Constant class value representing a classOf[T].
Constant class value representing a classOf[T].
Attributes
A lambda (...) => ... in the source code is represented as a local method and a closure:
A lambda (...) => ... in the source code is represented as a local method and a closure:
{ def m(...) = ... closure(m) }
Attributes
Constant value represented as the constant itself.
Constant value represented as the constant itself.
Attributes
A singleton type representing a known constant value.
A singleton type representing a known constant value.
Attributes
Tree representing a method definition in the source code.
Tree representing a method definition in the source code.
Attributes
Tree representing a definition in the source code. It can be ClassDef, TypeDef, DefDef or ValDef.
Tree representing a definition in the source code. It can be ClassDef, TypeDef, DefDef or ValDef.
Attributes
Constant Double value.
Constant Double value.
Attributes
Tree representing an export clause in the source code. Export forwarders generated from this clause appear in the same scope.
Tree representing an export clause in the source code. Export forwarders generated from this clause appear in the same scope.
Attributes
Flags of a Symbol.
Flags of a Symbol.
Attributes
Flexible types for explicit nulls.
Flexible types for explicit nulls.
Attributes
Constant Float value.
Constant Float value.
Attributes
given import/export selector: .given/.{given T} in import foo.given/export foo.{given T}.
given import/export selector: .given/.{given T} in import foo.given/export foo.{given T}.
Attributes
Tree representing a reference to definition with a given name.
Tree representing a reference to definition with a given name.
Attributes
Tree representing an if/then/else if (...) ... else ... in the source code.
Tree representing an if/then/else if (...) ... else ... in the source code.
Attributes
Result of a given instance search.
Result of a given instance search.
Attributes
Tree representing an import in the source code.
Tree representing an import in the source code.
See also documentation on Selector.
Attributes
Type tree representing an inferred type.
Type tree representing an inferred type.
Attributes
Tree representing the scope of an inlined tree.
Tree representing the scope of an inlined tree.
Attributes
Constant Int value.
Constant Int value.
Attributes
Type of the definition of a method taking a single list of type or term parameters.
Type of the definition of a method taking a single list of type or term parameters.
Attributes
Type tree representing a lambda abstraction type.
Type tree representing a lambda abstraction type.
Attributes
Tree representing a literal value in the source code.
Tree representing a literal value in the source code.
Attributes
Constant Long value.
Constant Long value.
Attributes
Tree representing a pattern match x match { ... } in the source code.
Tree representing a pattern match x match { ... } in the source code.
Attributes
Case of a MatchType containing pattern case P => R.
Case of a MatchType containing pattern case P => R.
Note: cases with type bindings are represented nested in a TypeLambda.
Attributes
Type match T match { case U => ... }.
Type match T match { case U => ... }.
Attributes
Type tree representing a type match.
Type tree representing a type match.
Attributes
Type of the definition of a method taking a single list of type or term parameters.
Type of the definition of a method taking a single list of type or term parameters.
Attributes
Type of the definition of a method taking a single list of parameters. It's return type may be a MethodType.
Type of the definition of a method taking a single list of parameters. It's return type may be a MethodType.
Attributes
Tree representing an argument passed with an explicit name. Such as arg1 = x in foo(arg1 = x).
Tree representing an argument passed with an explicit name. Such as arg1 = x in foo(arg1 = x).
Attributes
Type of a reference to a type or term symbol.
Type of a reference to a type or term symbol.
Attributes
Tree representing new in the source code.
Tree representing new in the source code.
Attributes
Constant null value.
Constant null value.
Attributes
Omit import/export selector: .{bar => _} in import foo.{bar => _}.
Omit import/export selector: .{bar => _} in import foo.{bar => _}.
Attributes
Tree representing a package clause in the source code
Tree representing a package clause in the source code
package foo {
// package stats
}
or
package foo.bar
// package stats
Attributes
A parameter clause [X1, ..., Xn] or (x1: X1, ..., xn: Xx)
A parameter clause [X1, ..., Xn] or (x1: X1, ..., xn: Xx)
[X1, ..., Xn] are represented with TypeParamClause and (x1: X1, ..., xn: Xx) are represented with TermParamClause
ParamClause encodes the following enumeration
import scala.quoted.*
def inQuotes(using Quotes) = {
val q: Quotes = summon[Quotes]
import q.reflect.*
enum ParamClause:
case TypeParamClause(params: List[TypeDef])
case TermParamClause(params: List[ValDef])
}
Attributes
Type of the definition of a method taking a list of type parameters. It's return type may be a MethodType.
Type of the definition of a method taking a list of type parameters. It's return type may be a MethodType.
Attributes
Position in a source file.
Position in a source file.
Attributes
A type that is recursively defined this.
A type that is recursively defined this.
Attributes
A type that is recursively defined.
A type that is recursively defined.
Attributes
Tree representing a reference to definition.
Tree representing a reference to definition.
Attributes
Type tree representing a type refinement.
Type tree representing a type refinement.
Attributes
A type with a type refinement T { type U }.
A type with a type refinement T { type U }.
Attributes
Rename import/export selector: .{bar => baz} in import foo.{bar => baz}.
Rename import/export selector: .{bar => baz} in import foo.{bar => baz}.
Attributes
Tree representing a variable argument list in the source code.
Tree representing a variable argument list in the source code.
This tree is used to encode varargs terms. The Repeated encapsulates the sequence of the elements but needs to be wrapped in a scala.<repeated>[T] (see defn.RepeatedParamClass). For example the arguments 1, 2 of List.apply(1, 2) can be represented as follows:
import scala.quoted._
def inQuotes(using Quotes) = {
val q: Quotes = summon[Quotes]
import q.reflect._
val intArgs = List(Literal(IntConstant(1)), Literal(IntConstant(2)))
Typed(
Repeated(intArgs, TypeTree.of[Int]),
Inferred(defn.RepeatedParamClass.typeRef.appliedTo(TypeRepr.of[Int]))
)
}
Attributes
Tree representing a return in the source code.
Tree representing a return in the source code.
Attributes
Tree representing a selection of definition with a given name on a given prefix.
Tree representing a selection of definition with a given name on a given prefix.
Attributes
Tree representing a selection of definition with a given name on a given prefix and number of nested scopes of inlined trees.
Tree representing a selection of definition with a given name on a given prefix and number of nested scopes of inlined trees.
Attributes
Import/Export selectors:
Import/Export selectors:
- SimpleSelector:
.barinimport 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}
Attributes
Constant Short value.
Constant Short value.
Attributes
The signature of a method.
The signature of a method.
Attributes
Simple import/export selector: .bar in import foo.bar.
Simple import/export selector: .bar in import foo.bar.
Attributes
Type tree representing a singleton type.
Type tree representing a singleton type.
Attributes
Scala source file.
Scala source file.
Attributes
Tree representing a statement in the source code.
Tree representing a statement in the source code.
Attributes
Constant String value.
Constant String value.
Attributes
Tree representing a summoning match summonFrom { ... } in the source code.
Tree representing a summoning match summonFrom { ... } in the source code.
Attributes
Tree representing super in the source code.
Tree representing super in the source code.
Attributes
Symbol of a definition. Symbols can be compared with == to know if two definitions are the same.
Symbol of a definition. Symbols can be compared with == to know if two definitions are the same.
Attributes
Tree representing an expression in the source code.
Tree representing an expression in the source code.
Attributes
A term parameter clause (x1: X1, ..., xn: Xx) Can also be (implicit X1, ..., Xn), (given X1, ..., Xn) or (given x1: X1, ..., xn: Xn)
A term parameter clause (x1: X1, ..., xn: Xx) Can also be (implicit X1, ..., Xn), (given X1, ..., Xn) or (given x1: X1, ..., xn: Xn)
Attributes
Type of a reference to a term symbol.
Type of a reference to a term symbol.
Attributes
Tree representing this or C.this in the source code.
Tree representing this or C.this in the source code.
Attributes
Tree representing code written in the source.
Tree representing code written in the source.
Attributes
Tree representing a try catch try x catch { ... } finally { ... } in the source code.
Tree representing a try catch try x catch { ... } finally { ... } in the source code.
Attributes
Tree representing an application of type arguments.
Tree representing an application of type arguments.
Attributes
Type tree representing a type binding.
Type tree representing a type binding.
Attributes
Type tree within a block with aliases { type U1 = ... ; T[U1, U2] }.
Type tree within a block with aliases { type U1 = ... ; T[U1, U2] }.
Attributes
Type bounds.
Type bounds.
Attributes
Type tree representing a type bound written in the source.
Type tree representing a type bound written in the source.
Attributes
Branch of a type pattern match.
Branch of a type pattern match.
Attributes
Tree representing a type (parameter or member) definition in the source code.
Tree representing a type (parameter or member) definition in the source code.
Attributes
Type tree representing a reference to definition with a given name.
Type tree representing a reference to definition with a given name.
Attributes
Type of the definition of a type lambda taking a list of type parameters. It's return type may be a TypeLambda.
Type of the definition of a type lambda taking a list of type parameters. It's return type may be a TypeLambda.
Attributes
A type parameter clause [X1, ..., Xn].
A type parameter clause [X1, ..., Xn].
Attributes
Type tree representing a selection of definition with a given name on a given type prefix.
Type tree representing a selection of definition with a given name on a given type prefix.
Attributes
Type of a reference to a type symbol.
Type of a reference to a type symbol.
Attributes
A type, type constructors, type bounds or NoPrefix.
A type, type constructors, type bounds or NoPrefix.
Attributes
Type tree representing a selection of definition with a given name on a given term prefix.
Type tree representing a selection of definition with a given name on a given term prefix.
Attributes
Type tree representing a type written in the source.
Type tree representing a type written in the source.
Attributes
Tree representing a type ascription x: T in the source code.
Tree representing a type ascription x: T in the source code.
Also represents a pattern that contains a term x. Other : T patterns use the more general TypedOrTest.
Attributes
Tree representing a type ascription or type test pattern x: T in the source code.
Tree representing a type ascription or type test pattern x: T in the source code.
Attributes
Pattern representing a Xyz(...) unapply.
Pattern representing a Xyz(...) unapply.
Attributes
Constant Unit value.
Constant Unit value.
Attributes
Tree representing a value definition in the source code. This includes val, lazy val, var, object and parameter definitions.
Tree representing a value definition in the source code. This includes val, lazy val, var, object and parameter definitions.
Attributes
Tree representing a value or method definition in the source code. This includes def, val, lazy val, var, object and parameter definitions.
Tree representing a value or method definition in the source code. This includes def, val, lazy val, var, object and parameter definitions.
Attributes
Pattern representing a _ wildcard.
Pattern representing a _ wildcard.
Attributes
Type tree representing wildcard type bounds written in the source. The wildcard type ? (for example in in List[?]) will be a type tree that represents a type but has TypeBounds inside.
Type tree representing wildcard type bounds written in the source. The wildcard type ? (for example in in List[?]) will be a type tree that represents a type but has TypeBounds inside.
Attributes
Value members
Abstract fields
Module object of type Alternatives.
Module object of type Alternatives.
Attributes
Module object of type AndType.
Module object of type AndType.
Attributes
Module object of type Annotated.
Module object of type Annotated.
Attributes
Module object of type AnnotatedType.
Module object of type AnnotatedType.
Attributes
Module object of type Applied.
Module object of type Applied.
Attributes
Module object of type AppliedType.
Module object of type AppliedType.
Attributes
Module object of type Apply.
Module object of type Apply.
Attributes
Module object of type Assign.
Module object of type Assign.
Attributes
Module object of type Bind.
Module object of type Bind.
Attributes
Module object of type Block.
Module object of type Block.
Attributes
Module object of type BooleanConstant.
Module object of type BooleanConstant.
Attributes
Module object of type ByName.
Module object of type ByName.
Attributes
Module object of type ByNameType.
Module object of type ByNameType.
Attributes
Module object of type ByteConstant.
Module object of type ByteConstant.
Attributes
Module object of type CaseDef.
Module object of type CaseDef.
Attributes
Module object of type CharConstant.
Module object of type CharConstant.
Attributes
Module object of type ClassDef.
Module object of type ClassDef.
Attributes
Module object of type ClassOfConstant.
Module object of type ClassOfConstant.
Attributes
Module object of type Closure.
Module object of type Closure.
Attributes
Module object of type CompilationInfo.
Module object of type CompilationInfo.
Attributes
Constant value represented as the constant itself.
Constant value represented as the constant itself.
Attributes
Module object of type ConstantType.
Module object of type ConstantType.
Attributes
Module object of type DefDef.
Module object of type DefDef.
Attributes
Module object of type Definition.
Module object of type Definition.
Attributes
Module object of type DoubleConstant.
Module object of type DoubleConstant.
Attributes
Module object of type Export.
Module object of type Export.
Attributes
Module object of type Flags.
Module object of type Flags.
Attributes
Module object of type FlexibleType.
Module object of type FlexibleType.
Attributes
Module object of type FloatConstant.
Module object of type FloatConstant.
Attributes
Module object of type GivenSelector.
Module object of type GivenSelector.
Attributes
Module object of type Ident.
Module object of type Ident.
Attributes
Module object of type Implicits.
Module object of type Implicits.
Attributes
Module object of type Import.
Module object of type Import.
Attributes
Module object of type Inferred.
Module object of type Inferred.
Attributes
Module object of type Inlined.
Module object of type Inlined.
Attributes
Module object of type IntConstant.
Module object of type IntConstant.
Attributes
A lambda (...) => ... in the source code is represented as a local method and a closure:
A lambda (...) => ... in the source code is represented as a local method and a closure:
{
def m(...) = ...
closure(m)
}
Attributes
- Note
-
Due to the encoding, in pattern matches the case for
Lambdashould come before the case forBlockto avoid mishandling ofLambda.
Module object of type LambdaTypeTree.
Module object of type LambdaTypeTree.
Attributes
Module object of type Literal.
Module object of type Literal.
Attributes
Module object of type LongConstant.
Module object of type LongConstant.
Attributes
Module object of type Match.
Module object of type Match.
Attributes
Module object of type MatchCase.
Module object of type MatchCase.
Attributes
Module object of type MatchType.
Module object of type MatchType.
Attributes
Module object of type MatchTypeTree.
Module object of type MatchTypeTree.
Attributes
Module object of type MethodType.
Module object of type MethodType.
Attributes
Module object of type NamedArg.
Module object of type NamedArg.
Attributes
Module object of type NoPrefix.
Module object of type NoPrefix.
Attributes
Module object of type NullConstant.
Module object of type NullConstant.
Attributes
Module object of type OmitSelector.
Module object of type OmitSelector.
Attributes
Module object of type OrType.
Module object of type OrType.
Attributes
Module object of type PackageClause.
Module object of type PackageClause.
Attributes
Module object of type ParamClause.
Module object of type ParamClause.
Attributes
Module object of type ParamRef.
Module object of type ParamRef.
Attributes
Module object of type PolyType.
Module object of type PolyType.
Attributes
Module object of type Position.
Module object of type Position.
Attributes
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.
Attributes
Module object of type RecursiveThis.
Module object of type RecursiveThis.
Attributes
Module object of type RecursiveType.
Module object of type RecursiveType.
Attributes
Module object of type Refined.
Module object of type Refined.
Attributes
Module object of type Refinement.
Module object of type Refinement.
Attributes
Module object of type RenameSelector.
Module object of type RenameSelector.
Attributes
Module object of type Repeated.
Module object of type Repeated.
Attributes
Module object of type Return.
Module object of type Return.
Attributes
Module object of type Select.
Module object of type Select.
Attributes
Module object of type SelectOuter.
Module object of type SelectOuter.
Attributes
Module object of type Selector.
Module object of type Selector.
Attributes
Module object of type ShortConstant.
Module object of type ShortConstant.
Attributes
Module object of type Signature.
Module object of type Signature.
Attributes
Module object of type SimpleSelector.
Module object of type SimpleSelector.
Attributes
Module object of type Singleton.
Module object of type Singleton.
Attributes
Module object of type SourceFile.
Module object of type SourceFile.
Attributes
Module object of type StringConstant.
Module object of type StringConstant.
Attributes
Module object of type SummonFrom.
Module object of type SummonFrom.
Attributes
Module object of type Super.
Module object of type Super.
Attributes
Module object of type SuperType.
Module object of type SuperType.
Attributes
Module object of type Symbol.
Module object of type Symbol.
Attributes
Module object of type Term.
Module object of type Term.
Attributes
Module object of type TermParamClause.
Module object of type TermParamClause.
Attributes
Module object of type TermRef.
Module object of type TermRef.
Attributes
Module object of type This.
Module object of type This.
Attributes
Module object of type ThisType.
Module object of type ThisType.
Attributes
Module object of type Tree.
Module object of type Tree.
Attributes
Module object of type TypeApply.
Module object of type TypeApply.
Attributes
Module object of type TypeBind.
Module object of type TypeBind.
Attributes
Module object of type TypeBlock.
Module object of type TypeBlock.
Attributes
Module object of type TypeBounds.
Module object of type TypeBounds.
Attributes
Module object of type TypeBoundsTree.
Module object of type TypeBoundsTree.
Attributes
Module object of type TypeCaseDef.
Module object of type TypeCaseDef.
Attributes
Module object of type TypeDef.
Module object of type TypeDef.
Attributes
Module object of type TypeIdent.
Module object of type TypeIdent.
Attributes
Module object of type TypeLambda.
Module object of type TypeLambda.
Attributes
Module object of type TypeParamClause.
Module object of type TypeParamClause.
Attributes
Module object of type TypeProjection.
Module object of type TypeProjection.
Attributes
Module object of type TypeRef.
Module object of type TypeRef.
Attributes
Module object of type TypeRepr.
Module object of type TypeRepr.
Attributes
Module object of type TypeSelect.
Module object of type TypeSelect.
Attributes
Module object of type TypeTree.
Module object of type TypeTree.
Attributes
Module object of type Typed.
Module object of type Typed.
Attributes
Module object of type TypedOrTest.
Module object of type TypedOrTest.
Attributes
Module object of type Unapply.
Module object of type Unapply.
Attributes
Module object of type UnitConstant.
Module object of type UnitConstant.
Attributes
Module object of type ValDef.
Module object of type ValDef.
Attributes
Module object of type While.
Module object of type While.
Attributes
Module object of type Wildcard.
Module object of type Wildcard.
Attributes
Module object of type WildcardTypeTree.
Module object of type WildcardTypeTree.
Attributes
A value containing all standard definitions.
A value containing all standard definitions.
Attributes
Module containing error and warning reporting.
Module containing error and warning reporting.
Attributes
Givens
Givens
Makes extension methods on Alternatives available without any imports.
Makes extension methods on Alternatives available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on AndOrType available without any imports.
Makes extension methods on AndOrType available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Annotated available without any imports.
Makes extension methods on Annotated available without any imports.
Attributes
Makes extension methods on AnnotatedType available without any imports.
Makes extension methods on AnnotatedType available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Applied available without any imports.
Makes extension methods on Applied available without any imports.
Attributes
Makes extension methods on AppliedType available without any imports.
Makes extension methods on AppliedType available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Apply available without any imports.
Makes extension methods on Apply available without any imports.
Attributes
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.
Attributes
Makes extension methods on Assign available without any imports.
Makes extension methods on Assign available without any imports.
Attributes
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.
Attributes
Makes extension methods on Bind available without any imports.
Makes extension methods on Bind available without any imports.
Attributes
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.
Attributes
Makes extension methods on Block available without any imports.
Makes extension methods on Block available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on ByName available without any imports.
Makes extension methods on ByName available without any imports.
Attributes
Makes extension methods on ByNameType available without any imports.
Makes extension methods on ByNameType available without any imports.
Attributes
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.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on CaseDef available without any imports.
Makes extension methods on CaseDef available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on ClassDef available without any imports.
Makes extension methods on ClassDef available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Closure available without any imports.
Makes extension methods on Closure available without any imports.
Attributes
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.
Attributes
Makes extension methods on Constant available without any imports.
Makes extension methods on Constant available without any imports.
Attributes
Default pinter for Constant used when calling const.show.
Default pinter for Constant used when calling const.show.
Attributes
Makes extension methods on ConstantType available without any imports.
Makes extension methods on ConstantType available without any imports.
Attributes
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.
Attributes
Makes extension methods on DefDef available without any imports.
Makes extension methods on DefDef available without any imports.
Attributes
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.
Attributes
Makes extension methods on Definition available without any imports.
Makes extension methods on Definition available without any imports.
Attributes
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.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Export available without any imports.
Makes extension methods on Export available without any imports.
Attributes
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.
Attributes
Makes extension methods on Flags available without any imports.
Makes extension methods on Flags available without any imports.
Attributes
Makes extension methods on FlexibleType available without any imports.
Makes extension methods on FlexibleType available without any imports.
Attributes
TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a FlexibleType.
TypeTest that allows testing at runtime in a pattern match if a TypeRepr is a FlexibleType.
Attributes
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.
Attributes
Makes extension methods on GivenSelector available without any imports.
Makes extension methods on GivenSelector available without any imports.
Attributes
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.
Attributes
Makes extension methods on Ident available without any imports.
Makes extension methods on Ident available without any imports.
Attributes
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.
Attributes
Makes extension methods on If available without any imports.
Makes extension methods on If available without any imports.
Attributes
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.
Attributes
Makes extension methods on ImplicitSearchFailure available without any imports.
Makes extension methods on ImplicitSearchFailure available without any imports.
Attributes
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.
Attributes
Makes extension methods on ImplicitSearchSuccess available without any imports.
Makes extension methods on ImplicitSearchSuccess available without any imports.
Attributes
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.
Attributes
Makes extension methods on Import available without any imports.
Makes extension methods on Import available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Inlined available without any imports.
Makes extension methods on Inlined available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on LambdaType available without any imports.
Makes extension methods on LambdaType available without any imports.
Attributes
Makes extension methods on LambdaTypeTree available without any imports.
Makes extension methods on LambdaTypeTree available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Literal available without any imports.
Makes extension methods on Literal available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on MatchCase available without any imports.
Makes extension methods on MatchCase available without any imports.
Attributes
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.
Attributes
Makes extension methods on Match available without any imports.
Makes extension methods on Match available without any imports.
Attributes
Makes extension methods on MatchType available without any imports.
Makes extension methods on MatchType available without any imports.
Attributes
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.
Attributes
Makes extension methods on MatchTypeTree available without any imports.
Makes extension methods on MatchTypeTree available without any imports.
Attributes
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.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on MethodType available without any imports.
Makes extension methods on MethodType available without any imports.
Attributes
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.
Attributes
Makes extension methods on NamedArg available without any imports.
Makes extension methods on NamedArg available without any imports.
Attributes
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.
Attributes
Makes extension methods on NamedType available without any imports.
Makes extension methods on NamedType available without any imports.
Attributes
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.
Attributes
Makes extension methods on New available without any imports.
Makes extension methods on New available without any imports.
Attributes
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.
Attributes
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.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on OmitSelector available without any imports.
Makes extension methods on OmitSelector available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on PackageClause available without any imports.
Makes extension methods on PackageClause available without any imports.
Attributes
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.
Attributes
Makes extension methods on ParamClause available without any imports.
Makes extension methods on ParamClause available without any imports.
Attributes
Makes extension methods on ParamRef available without any imports.
Makes extension methods on ParamRef available without any imports.
Attributes
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.
Attributes
Makes extension methods on PolyType available without any imports.
Makes extension methods on PolyType available without any imports.
Attributes
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.
Attributes
Makes extension methods on Position available without any imports.
Makes extension methods on Position available without any imports.
Attributes
Makes extension methods on RecursiveThis available without any imports.
Makes extension methods on RecursiveThis available without any imports.
Attributes
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.
Attributes
Makes extension methods on RecursiveType available without any imports.
Makes extension methods on RecursiveType available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Refined available without any imports.
Makes extension methods on Refined available without any imports.
Attributes
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.
Attributes
Makes extension methods on Refinement available without any imports.
Makes extension methods on Refinement available without any imports.
Attributes
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.
Attributes
Makes extension methods on RenameSelector available without any imports.
Makes extension methods on RenameSelector available without any imports.
Attributes
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.
Attributes
Makes extension methods on Repeated available without any imports.
Makes extension methods on Repeated available without any imports.
Attributes
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.
Attributes
Makes extension methods on Return available without any imports.
Makes extension methods on Return available without any imports.
Attributes
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.
Attributes
Makes extension methods on Select available without any imports.
Makes extension methods on Select available without any imports.
Attributes
Makes extension methods on SelectOuter available without any imports.
Makes extension methods on SelectOuter available without any imports.
Attributes
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.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Signature available without any imports.
Makes extension methods on Signature available without any imports.
Attributes
Makes extension methods on SimpleSelector available without any imports.
Makes extension methods on SimpleSelector available without any imports.
Attributes
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.
Attributes
Makes extension methods on Singleton available without any imports.
Makes extension methods on Singleton available without any imports.
Attributes
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.
Attributes
Makes extension methods on SourceFile available without any imports.
Makes extension methods on SourceFile available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on SummonFrom available without any imports.
Makes extension methods on SummonFrom available without any imports.
Attributes
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.
Attributes
Makes extension methods on Super available without any imports.
Makes extension methods on Super available without any imports.
Attributes
Makes extension methods on SuperType available without any imports.
Makes extension methods on SuperType available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Symbol available without any imports.
Makes extension methods on Symbol available without any imports.
Attributes
Makes extension methods on Term available without any imports.
Makes extension methods on Term available without any imports.
Attributes
Makes extension methods on TermParamClause available without any imports.
Makes extension methods on TermParamClause available without any imports.
Attributes
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.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on This available without any imports.
Makes extension methods on This available without any imports.
Attributes
Makes extension methods on ThisType available without any imports.
Makes extension methods on ThisType available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Tree available without any imports.
Makes extension methods on Tree available without any imports.
Attributes
Default pinter for Tree used when calling tree.show.
Default pinter for Tree used when calling tree.show.
Attributes
Makes extension methods on Try available without any imports.
Makes extension methods on Try available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeApply available without any imports.
Makes extension methods on TypeApply available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeBind available without any imports.
Makes extension methods on TypeBind available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeBlock available without any imports.
Makes extension methods on TypeBlock available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeBounds available without any imports.
Makes extension methods on TypeBounds available without any imports.
Attributes
Makes extension methods on TypeBoundsTree available without any imports.
Makes extension methods on TypeBoundsTree available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on TypeCaseDef available without any imports.
Makes extension methods on TypeCaseDef available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeDef available without any imports.
Makes extension methods on TypeDef available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeIdent available without any imports.
Makes extension methods on TypeIdent available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeLambda available without any imports.
Makes extension methods on TypeLambda available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeParamClause available without any imports.
Makes extension methods on TypeParamClause available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeProjection available without any imports.
Makes extension methods on TypeProjection available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeRef available without any imports.
Makes extension methods on TypeRef available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeRepr available without any imports.
Makes extension methods on TypeRepr available without any imports.
Attributes
Default pinter for TypeRepr used when calling tpe.show.
Default pinter for TypeRepr used when calling tpe.show.
Attributes
Makes extension methods on TypeSelect available without any imports.
Makes extension methods on TypeSelect available without any imports.
Attributes
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.
Attributes
Makes extension methods on TypeTree available without any imports.
Makes extension methods on TypeTree available without any imports.
Attributes
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.
Attributes
Makes extension methods on Typed available without any imports.
Makes extension methods on Typed available without any imports.
Attributes
Makes extension methods on TypedOrTest available without any imports.
Makes extension methods on TypedOrTest available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on Unapply available without any imports.
Makes extension methods on Unapply available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on ValDef available without any imports.
Makes extension methods on ValDef available without any imports.
Attributes
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.
Attributes
Makes extension methods on ValOrDefDef available without any imports.
Makes extension methods on ValOrDefDef available without any imports.
Attributes
TypeTest that allows testing at runtime in a pattern match if a Tree is a ValOrDefDef.
TypeTest that allows testing at runtime in a pattern match if a Tree is a ValOrDefDef.
Attributes
Makes extension methods on While available without any imports.
Makes extension methods on While available without any imports.
Attributes
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.
Attributes
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.
Attributes
Makes extension methods on WildcardTypeTree available without any imports.
Makes extension methods on WildcardTypeTree available without any imports.
Attributes
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.