Reflection
extends Object with TypesTASTy Reflect Interface.
Provides all functionality related with AST based metaprogramming.
Supertypes
Object, TypesMembers
Block
Scala code block { stat0; ...; statN; expr }
term
Scala code block { stat0; ...; statN; expr }
term
Lambda
A lambda (...) => ...
in the source code is represented as
a local method and a closure:
{ def m(...) = ... closure(m) }
A lambda (...) => ...
in the source code is represented as
a local method and a closure:
{ def m(...) = ... closure(m) }
NamedArg
Scala named argument x = y
in argument position
Scala named argument x = y
in argument position
StandardSymbols
Defines standard symbols (and types via its base trait).
Defines standard symbols (and types via its base trait).
defn
A value containing all standard definitions in [[DefinitionsAPI]]
A value containing all standard definitions in [[DefinitionsAPI]]
AlternativesOps
: Alternatives.typeAndTypeOps
: AndType.typeAnnotatedOps
: Annotated.typeAnnotatedTypeOps
: AnnotatedType.typeAppliedOps
: Applied.typeAppliedTypeOps
: AppliedType.typeApplyOps
: Apply.typeAssignOps
: Assign.typeBindOps
: Bind.typeBlockOps
: Block.typeByNameOps
: ByName.typeByNameTypeOps
: ByNameType.typeCaseDefOps
: CaseDef.typeClassDefOps
: ClassDef.typeClosureOps
: Closure.typeCommentOps
: Comment.typeConstantOps
: Constant.typeConstantTypeOps
: ConstantType.typeDefDefOps
: DefDef.typeDefinitionOps
: Definition.typeFlagsOps
: Flags.typeGivenMatchOps
: GivenMatch.typeIdOps
: Id.typeIdentOps
: Ident.typeIfOps
: If.typeImplicitSearchFailureOps
: ImplicitSearchFailure.typeImplicitSearchSuccessOps
: ImplicitSearchSuccess.typeImportOps
: Import.typeInlinedOps
: Inlined.typeLambdaTypeTreeOps
: LambdaTypeTree.typeLiteralOps
: Literal.typeMatchCaseType
( implicit ctx: Context ) : TypeAn accessor for scala.internal.MatchCase[_,_]
, the representation of a MatchType
case.
An accessor for scala.internal.MatchCase[_,_]
, the representation of a MatchType
case.
MatchOps
: Match.typeMatchTypeOps
: MatchType.typeMatchTypeTreeOps
: MatchTypeTree.typeMethodTypeOps
: MethodType.typeNamedArgOps
: NamedArg.typeNewOps
: New.typeOmitSelectorOmitSelectorOps
: OmitSelector.typeOrTypeOps
: OrType.typePackageClauseOps
: PackageClause.typePackageDefOps
: PackageDef.typeParamRefOps
: ParamRef.typePolyTypeOps
: PolyType.typePositionOps
: Position.typeProjectionOps
: Projection.typeRecursiveThisOps
: RecursiveThis.typeRecursiveTypeOps
: RecursiveType.typeRefinedOps
: Refined.typeRefinementOps
: Refinement.typeRenameSelectorOps
: RenameSelector.typeRepeatedOps
: Repeated.typeReturnOps
: Return.typeSelectOps
: Select.typeSelectOuterOps
: SelectOuter.typeSignatureOps
: Signature.typeSimpleSelectorOps
: SimpleSelector.typeSingletonOps
: Singleton.typeSourceFileOps
: SourceFile.typeSuperOps
: Super.typeSuperTypeOps
: SuperType.typeSymbolOps
: Symbol.typeTermOps
: Term.typeTermRefOps
: TermRef.typeThisOps
: This.typeThisTypeOps
: ThisType.typeTreeOps
: Tree.typeTryOps
: Try.typeTypeApplyOps
: TypeApply.typeTypeBindOps
: TypeBind.typeTypeBlockOps
: TypeBlock.typeTypeBoundsOps
: TypeBounds.typeTypeBoundsTreeOps
: TypeBoundsTree.typeTypeCaseDefOps
: TypeCaseDef.typeTypeDefOps
: TypeDef.typeTypeIdentOps
: TypeIdent.typeTypeLambdaOps
: TypeLambda.typeTypeOps
: Type.typeTypeRefOps
: TypeRef.typeTypeSelectOps
: TypeSelect.typeTypeTreeOps
: TypeTree.typeTypedOps
: Typed.typeUnapplyOps
: Unapply.typeValDefOps
: ValDef.typeWhileOps
: While.typeWildcardTypeTreeOps
: WildcardTypeTree.typeerror
( msg: => String , pos: Position ) ( implicit ctx: Context ) : UnitEmits an error message
Emits an error message
error
( msg: => String , source: SourceFile , start: Int , end: Int ) ( implicit ctx: Context ) : UnitEmits an error at a specific range of a file
Emits an error at a specific range of a file
given_TypeTest_ImplicitSearchResult_AmbiguousImplicits
( implicit ctx: Context ) : TypeTest[ImplicitSearchResult,AmbiguousImplicits]given_TypeTest_ImplicitSearchResult_DivergingImplicit
( implicit ctx: Context ) : TypeTest[ImplicitSearchResult,DivergingImplicit]given_TypeTest_ImplicitSearchResult_ImplicitSearchFailure
( implicit ctx: Context ) : TypeTest[ImplicitSearchResult,ImplicitSearchFailure]given_TypeTest_ImplicitSearchResult_ImplicitSearchSuccess
( implicit ctx: Context ) : TypeTest[ImplicitSearchResult,ImplicitSearchSuccess]given_TypeTest_ImplicitSearchResult_NoMatchingImplicits
( implicit ctx: Context ) : TypeTest[ImplicitSearchResult,NoMatchingImplicits]given_TypeTest_ImportSelector_OmitSelector
( implicit ctx: Context ) : TypeTest[ImportSelector,OmitSelector]given_TypeTest_ImportSelector_RenameSelector
( implicit ctx: Context ) : TypeTest[ImportSelector,RenameSelector]given_TypeTest_ImportSelector_SimpleSelector
( implicit ctx: Context ) : TypeTest[ImportSelector,SimpleSelector]given_TypeTest_Tree_Alternatives
( implicit ctx: Context ) : TypeTest[Tree,Alternatives]given_TypeTest_Tree_Definition
( implicit ctx: Context ) : TypeTest[Tree,Definition]given_TypeTest_Tree_GivenMatch
( implicit ctx: Context ) : TypeTest[Tree,GivenMatch]given_TypeTest_Tree_LambdaTypeTree
( implicit ctx: Context ) : TypeTest[Tree,LambdaTypeTree]given_TypeTest_Tree_MatchTypeTree
( implicit ctx: Context ) : TypeTest[Tree,MatchTypeTree]given_TypeTest_Tree_PackageClause
( implicit ctx: Context ) : TypeTest[Tree,PackageClause]given_TypeTest_Tree_PackageDef
( implicit ctx: Context ) : TypeTest[Tree,PackageDef]given_TypeTest_Tree_Projection
( implicit ctx: Context ) : TypeTest[Tree,Projection]given_TypeTest_Tree_SelectOuter
( implicit ctx: Context ) : TypeTest[Tree,SelectOuter]given_TypeTest_Tree_TypeBoundsTree
( implicit ctx: Context ) : TypeTest[Tree,TypeBoundsTree]given_TypeTest_Tree_TypeCaseDef
( implicit ctx: Context ) : TypeTest[Tree,TypeCaseDef]given_TypeTest_Tree_TypeSelect
( implicit ctx: Context ) : TypeTest[Tree,TypeSelect]given_TypeTest_Tree_WildcardTypeTree
( implicit ctx: Context ) : TypeTest[Tree,WildcardTypeTree]given_TypeTest_TypeOrBounds_AndType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,AndType]given_TypeTest_TypeOrBounds_AnnotatedType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,AnnotatedType]given_TypeTest_TypeOrBounds_AppliedType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,AppliedType]given_TypeTest_TypeOrBounds_ByNameType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,ByNameType]given_TypeTest_TypeOrBounds_ConstantType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,ConstantType]given_TypeTest_TypeOrBounds_MatchType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,MatchType]given_TypeTest_TypeOrBounds_MethodType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,MethodType]given_TypeTest_TypeOrBounds_NoPrefix
( implicit ctx: Context ) : TypeTest[TypeOrBounds,NoPrefix]given_TypeTest_TypeOrBounds_OrType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,OrType]given_TypeTest_TypeOrBounds_ParamRef
( implicit ctx: Context ) : TypeTest[TypeOrBounds,ParamRef]given_TypeTest_TypeOrBounds_PolyType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,PolyType]given_TypeTest_TypeOrBounds_RecursiveThis
( implicit ctx: Context ) : TypeTest[TypeOrBounds,RecursiveThis]given_TypeTest_TypeOrBounds_RecursiveType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,RecursiveType]given_TypeTest_TypeOrBounds_Refinement
( implicit ctx: Context ) : TypeTest[TypeOrBounds,Refinement]given_TypeTest_TypeOrBounds_SuperType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,SuperType]given_TypeTest_TypeOrBounds_TermRef
( implicit ctx: Context ) : TypeTest[TypeOrBounds,TermRef]given_TypeTest_TypeOrBounds_ThisType
( implicit ctx: Context ) : TypeTest[TypeOrBounds,ThisType]given_TypeTest_TypeOrBounds_Type
( implicit ctx: Context ) : TypeTest[TypeOrBounds,Type]given_TypeTest_TypeOrBounds_TypeBounds
( implicit ctx: Context ) : TypeTest[TypeOrBounds,TypeBounds]given_TypeTest_TypeOrBounds_TypeLambda
( implicit ctx: Context ) : TypeTest[TypeOrBounds,TypeLambda]given_TypeTest_TypeOrBounds_TypeRef
( implicit ctx: Context ) : TypeTest[TypeOrBounds,TypeRef]let
( rhs: Term ) ( body: Ident => Term ) ( implicit ctx: Context ) : TermBind the rhs
to a val
and use it in body
Bind the rhs
to a val
and use it in body
lets
( terms: List[Term] ) ( body: List[Term] => Term ) ( implicit ctx: Context ) : TermBind the given terms
to names and use them in the body
Bind the given terms
to names and use them in the body
rootPosition
: PositionRoot position of this tasty context. For macros it corresponds to the expansion site.
Root position of this tasty context. For macros it corresponds to the expansion site.
typeOf
[T] ( implicit qtype: Type[T] , ctx: Context ) : TypeReturns the type (Type) of T
Returns the type (Type) of T
warning
( msg: => String , pos: Position ) ( implicit ctx: Context ) : UnitEmits an error message
Emits an error message
warning
( msg: => String , source: SourceFile , start: Int , end: Int ) ( implicit ctx: Context ) : UnitEmits a warning at a specific range of a file
Emits a warning at a specific range of a file