reflectModule
Low-level Typed AST metaprogramming API.
Low-level Typed AST metaprogramming API.
Provides all functionality related to AST-based metaprogramming.
Each type XYZ
in the API is defined as an abstract type type XYZ
.
Methods on XYZ
are provided by a given XYZMethods
which implements extension methods on XYZ
in the trait XYZMethods
.
The XYZ
module is defined by a val XYZ: XYZModule
which contains the methods defined in XYZModule
.
Type tests (TypeTest
) are also given to perform subtype checks on these types.
Type hierarchy
+- Tree -+- PackageClause
|
+- Statement -+- Import
| +- Export
| +- Definition --+- ClassDef
| | +- TypeDef
| | +- DefDef
| | +- ValDef
| |
| +- Term --------+- Ref -+- Ident
| | +- Select
| |
| +- Literal
| +- This
| +- New
| +- NamedArg
| +- Apply
| +- TypeApply
| +- Super
| +- Typed
| +- Assign
| +- Block
| +- Closure
| +- If
| +- Match
| +- SummonFrom
| +- Try
| +- Return
| +- Repeated
| +- Inlined
| +- SelectOuter
| +- While
|
|
+- TypeTree ----+- Inferred
| +- TypeIdent
| +- TypeSelect
| +- TypeProjection
| +- Singleton
| +- Refined
| +- Applied
| +- Annotated
| +- MatchTypeTree
| +- ByName
| +- LambdaTypeTree
| +- TypeBind
| +- TypeBlock
|
+- TypeBoundsTree
+- WildcardTypeTree
|
+- CaseDef
|
+- TypeCaseDef
+- Bind
+- Unapply
+- Alternatives
+- ParamClause -+- TypeParamClause
+- TermParamClause
+- TypeRepr -+- NamedType -+- TermRef
| +- TypeRef
+- ConstantType
+- SuperType
+- Refinement
+- AppliedType
+- AnnotatedType
+- AndOrType -+- AndType
| +- OrType
+- MatchType
+- ByNameType
+- ParamRef
+- ThisType
+- RecursiveThis
+- RecursiveType
+- LambdaType -+- MethodOrPoly -+- MethodType
| | +- PolyType
| +- TypeLambda
+- MatchCase
+- TypeBounds
+- NoPrefix
+- Selector -+- SimpleSelector
+- RenameSelector
+- OmitSelector
+- GivenSelector
+- Signature
+- Position
+- SourceFile
+- Constant -+- BooleanConstant
+- ByteConstant
+- ShortConstant
+- IntConstant
+- LongConstant
+- FloatConstant
+- DoubleConstant
+- CharConstant
+- StringConstant
+- UnitConstant
+- NullConstant
+- ClassOfConstant
+- Symbol
+- Flags
Type members
Classlikes
Methods of the module object val Alternatives
Methods of the module object val Alternatives
Methods of the module object val Annotated
Methods of the module object val Annotated
Methods of the module object val AnnotatedType
Methods of the module object val AnnotatedType
Methods of the module object val AppliedType
Methods of the module object val AppliedType
Methods of the module object val BooleanConstant
Methods of the module object val BooleanConstant
Methods of the module object val ByNameType
Methods of the module object val ByNameType
Methods of the module object val ByteConstant
Methods of the module object val ByteConstant
Methods of the module object val CharConstant
Methods of the module object val CharConstant
Methods of the module object val ClassDef
Methods of the module object val ClassDef
Methods of the module object val ClassOf
Methods of the module object val ClassOf
Methods of the module object val CompilationInfo
Methods of the module object val CompilationInfo
Constant value represented as the constant itself
Constant value represented as the constant itself
Methods of the module object val Definition
Methods of the module object val Definition
Methods of the module object val DoubleConstant
Methods of the module object val DoubleConstant
Methods of the module object val FloatConstant
Methods of the module object val FloatConstant
Methods of the module object val GivenSelector
Methods of the module object val GivenSelector
Methods of the module object val Implicits
Methods of the module object val Implicits
Methods of the module object val Inferred
Methods of the module object val Inferred
Methods of the module object val IntConstant
Methods of the module object val IntConstant
Methods of the module object val LambdaTypeTree
Methods of the module object val LambdaTypeTree
Methods of the module object val LongConstant
Methods of the module object val LongConstant
Methods of the module object val MatchCase
Methods of the module object val MatchCase
Methods of the module object val MatchType
Methods of the module object val MatchType
Methods of the module object val MatchTypeTree
Methods of the module object val MatchTypeTree
Methods of the module object val MethodType
Methods of the module object val MethodType
Methods of the module object val NamedArg
Methods of the module object val NamedArg
Methods of the module object val NoPrefix
Methods of the module object val NoPrefix
Methods of the module object val NullConstant
Methods of the module object val NullConstant
Methods of the module object val OmitSelector
Methods of the module object val OmitSelector
Methods of the module object val PackageClause
Methods of the module object val PackageClause
Methods of the module object val ParamClause
Methods of the module object val ParamClause
Methods of the module object val ParamRef
Methods of the module object val ParamRef
Methods of the module object val PolyType
Methods of the module object val PolyType
Methods of the module object val Position
Methods of the module object val Position
Type class used in show
methods to provide customizable String
representations
Type class used in show
methods to provide customizable String
representations
Methods of the module object val RecursiveThis
Methods of the module object val RecursiveThis
Methods of the module object val RecursiveType
Methods of the module object val RecursiveType
Methods of the module object val Refinement
Methods of the module object val Refinement
Methods of the module object val RenameSelector
Methods of the module object val RenameSelector
Methods of the module object val Repeated
Methods of the module object val Repeated
Methods of the module object val SelectOuter
Methods of the module object val SelectOuter
Methods of the module object val Selector
Methods of the module object val Selector
Methods of the module object val Short
Methods of the module object val Short
Methods of the module object val Signature
Methods of the module object val Signature
Methods of the module object val SimpleSelector
Methods of the module object val SimpleSelector
Methods of the module object val Singleton
Methods of the module object val Singleton
Methods of the module object val SourceFile
Methods of the module object val SourceFile
Methods of the module object val StringConstant
Methods of the module object val StringConstant
Methods of the module object val SummonFrom
Methods of the module object val SummonFrom
Methods of the module object val SuperType
Methods of the module object val SuperType
Methods of the module object val TermParamClause
Methods of the module object val TermParamClause
Methods of the module object val ThisType
Methods of the module object val ThisType
Customizable Tree accumulator.
Customizable Tree accumulator.
Usage:
import quotes.reflect._
class MyTreeAccumulator extends TreeAccumulator[X] {
def foldTree(x: X, tree: Tree)(owner: Symbol): X = ...
}
Customizable tree mapper.
Customizable tree mapper.
Usage:
import quotes.reflect._
class MyTreeMap extends TreeMap {
override def transformTree(tree: Tree)(owner: Symbol): Tree = ...
}
Customizable tree traverser.
Customizable tree traverser.
Usage:
import quotes.relfect._
class MyTraverser extends TreeTraverser {
override def traverseTree(tree: Tree)(owner: Symbol): Unit = ...
}
Methods of the module object val TypeApply
Methods of the module object val TypeApply
Methods of the module object val TypeBind
Methods of the module object val TypeBind
Methods of the module object val TypeBlock
Methods of the module object val TypeBlock
Methods of the module object val TypeBounds
Methods of the module object val TypeBounds
Methods of the module object val TypeBoundsTree
Methods of the module object val TypeBoundsTree
Methods of the module object val TypeCaseDef
Methods of the module object val TypeCaseDef
Methods of the module object val TypeIdent
Methods of the module object val TypeIdent
Methods of the module object val TypeLambda
Methods of the module object val TypeLambda
Methods of the module object val TypeParamClause
Methods of the module object val TypeParamClause
Methods of the module object val TypeProjection
Methods of the module object val TypeProjection
Methods of the module object val TypeRepr
Methods of the module object val TypeRepr
Methods of the module object val TypeSelect
Methods of the module object val TypeSelect
Methods of the module object val TypeTree
Methods of the module object val TypeTree
Methods of the module object val UnitConstant
Methods of the module object val UnitConstant
Methods of the module object val WildcardTypeTree
Methods of the module object val WildcardTypeTree
Types
Tree an application of arguments.
Tree an application of arguments. It represents a single list of arguments, multiple argument lists will have nested Apply
s
Tree representing an assignment x = y
in the source code
Tree representing an assignment x = y
in the source code
Tree representing a block { ... }
in the source code
Tree representing a block { ... }
in the source code
Type of a by-name definition of type =>T
.
Type of a by-name definition of type =>T
.
May represent by-name parameter such as thunk
in
def log[T](thunk: =>T): T = ...
May also represent a the return type of a parameterless method definition such as
def foo: Int = ...
Tree representing a class definition.
Tree representing a class definition. This includes anonymous class definitions and the class of a module object
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) }
A singleton type representing a known constant value
A singleton type representing a known constant value
Tree representing a method definition in the source code
Tree representing a method definition in the source code
Tree representing a definition in the source code.
Tree representing a definition in the source code. It can be ClassDef
, TypeDef
, DefDef
or ValDef
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.
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}
Tree representing a reference to definition with a given name
Tree representing a reference to definition with a given name
Tree representing an if/then/else if (...) ... else ...
in the source code
Tree representing an if/then/else if (...) ... else ...
in the source code
Tree representing an import in the source code.
Tree representing an import in the source code.
See also documentation on Selector
.
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
Tree representing a literal value in the source code
Tree representing a literal value in the source code
Tree representing a pattern match x match { ... }
in the source code
Tree representing a pattern match x match { ... }
in the source code
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
.
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
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.
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)
Omit import/export selector: .{bar => _}
in import foo.{bar => _}
Omit import/export selector: .{bar => _}
in import foo.{bar => _}
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
A parameter clause [X1, ..., Xn]
or (x1: X1, ..., xn: Xx)
A parameter clause [X1, ..., Xn]
or (x1: X1, ..., xn: Xx)
[X1, ..., Xn]
are represented with TypeParamClause
and (x1: X1, ..., xn: Xx)
are represented with TermParamClause
ParamClause
encodes the following enumeration
enum ParamClause:
case TypeParamClause(params: List[TypeDef])
case TermParamClause(params: List[ValDef])
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.
Rename import/export selector: .{bar => baz}
in import foo.{bar => baz}
Rename import/export selector: .{bar => baz}
in import foo.{bar => baz}
Tree representing a variable argument list in the source code
Tree representing a variable argument list in the source code
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
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
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}
Simple import/export selector: .bar
in import foo.bar
Simple import/export selector: .bar
in import foo.bar
Tree representing a summoning match summonFrom { ... }
in the source code
Tree representing a summoning match summonFrom { ... }
in the source code
Symbol of a definition.
Symbol of a definition. Then can be compared with == to know if the definition is the same.
Tree representing an expression in the source code
Tree representing an expression in the source code
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)
Tree representing this
or C.this
in the source code
Tree representing this
or C.this
in the source code
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
Type tree within a block with aliases { type U1 = ... ; T[U1, U2] }
Type tree within a block with aliases { type U1 = ... ; T[U1, U2] }
Type tree representing a type bound written in the source
Type tree representing a type bound written in the source
Tree representing a type (parameter or member) definition in the source code
Tree representing a type (parameter or member) definition in the source code
Type tree representing a reference to definition with a given name
Type tree representing a reference to definition with a given name
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.
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
A type, type constructors, type bounds or NoPrefix
A type, type constructors, type bounds or NoPrefix
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
Type tree representing a type written in the source
Type tree representing a type written in the source
Tree representing a type ascription x: T
in the source code
Tree representing a type ascription x: T
in the source code
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.
Value members
Abstract fields
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
.
Module object of type Printer
.
Module object of type Printer
.
Contains custom printers such as TreeCode
, TreeAnsiCode
, TreeCases
, TypeReprCode
, ..., SymbolFullName
and FlagsCombination
.
Concrete fields
Default pinter for Constant
used when calling const.show
Default pinter for Constant
used when calling const.show
Default pinter for Tree
used when calling tree.show
Default pinter for Tree
used when calling tree.show
Givens
Givens
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Extension methods of TermParamClause
Extension methods of TermParamClause
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Extension methods of TypeParamClause
Extension methods of TypeParamClause
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
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
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
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
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
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
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
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
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
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
Extension methods of WildcardTypeTree
Extension methods of WildcardTypeTree