scala.tasty.reflect
extends Object with SerializableSupertypes
Object, SerializableMembers
trait
CompilerInterface
Tasty reflect abstract types
Tasty reflect abstract types
+- Tree -+- PackageClause
+- Import
+- Statement -+- Definition --+- PackageDef
| | +- ClassDef
| | +- TypeDef
| | +- DefDef
| | +- ValDef
| |
| +- Term --------+- Ref -+- Ident
| | +- Select
| |
| +- Literal
| +- This
| +- New
| +- NamedArg
| +- Apply
| +- TypeApply
| +- Super
| +- Typed
| +- Assign
| +- Block
| +- Closure
| +- If
| +- Match
| +- GivenMatch
| +- Try
| +- Return
| +- Repeated
| +- Inlined
| +- SelectOuter
| +- While
|
|
+- TypeTree ----+- Inferred
| +- TypeIdent
| +- TypeSelect
| +- Projection
| +- Singleton
| +- Refined
| +- Applied
| +- Annotated
| +- MatchTypeTree
| +- ByName
| +- LambdaTypeTree
| +- TypeBind
| +- TypeBlock
|
+- TypeBoundsTree
+- WildcardTypeTree
|
+- CaseDef
+- TypeCaseDef
|
+- Bind
+- Unapply
+- Alternatives
+- NoPrefix
+- TypeOrBounds -+- TypeBounds
|
+- Type -------+- ConstantType
+- TermRef
+- TypeRef
+- SuperType
+- Refinement
+- AppliedType
+- AnnotatedType
+- AndType
+- OrType
+- MatchType
+- ByNameType
+- ParamRef
+- ThisType
+- RecursiveThis
+- RecursiveType
+- LambdaType[ParamInfo <: TypeOrBounds] -+- MethodType
+- PolyType
+- TypeLambda
+- ImportSelector -+- SimpleSelector
+- RenameSelector
+- OmitSelector
+- Id
+- Signature
+- Position
+- Comment
+- Constant
+- Symbol
+- Flags
class
SourceCodePrinter
[R]Printer for fully elaborated representation of the source code
Printer for fully elaborated representation of the source code
trait
TreeAccumulator
[X]TASTy Reflect tree accumulator.
Usage:
TASTy Reflect tree accumulator.
Usage:
class MyTreeAccumulator[R <: scala.tasty.Reflection & Singleton](val reflect: R)
extends scala.tasty.reflect.TreeAccumulator[X] {
import reflect.{given _, _}
def foldTree(x: X, tree: Tree)(using ctx: Context): X = ...
}
trait
TreeMap
TASTy Reflect tree map.
Usage:
TASTy Reflect tree map.
Usage:
class MyTreeMap[R <: scala.tasty.Reflection & Singleton](val reflect: R)
extends scala.tasty.reflect.TreeMap {
import reflect.{given _, _}
override def transformTree(tree: Tree)(using ctx: Context): Tree = ...
}
trait
TreeTraverser
TASTy Reflect tree traverser.
Usage:
TASTy Reflect tree traverser.
Usage:
class MyTraverser[R <: scala.tasty.Reflection & Singleton](val reflect: R)
extends scala.tasty.reflect.TreeTraverser {
import reflect.{given _, _}
override def traverseTree(tree: Tree)(using ctx: Context): Unit = ...
}
type
IsInstanceOf
= ClassTag[T]Place holder until we implement a ClassTag like abstraction that is sound for all type tests
Place holder until we implement a ClassTag like abstraction that is sound for all type tests