dotty.tools.dotc.ast.Trees.Instance

TreeCopier

Related Doc: package Instance

abstract class TreeCopier extends AnyRef

A class for copying trees. The copy methods avoid creating a new tree If all arguments stay the same.

Note: Some of the copy methods take a context. These are exactly those methods that are overridden in TypedTreeCopier so that they selectively retype themselves. Retyping needs a context.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TreeCopier
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TreeCopier()

Abstract Value Members

  1. abstract def postProcess(tree: Tree, copied: untpd.MemberDef): ThisTree[T]

  2. abstract def postProcess(tree: Tree, copied: untpd.Tree): ThisTree[T]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. def Alternative(tree: Tree)(trees: List[Tree]): Alternative

  5. def AndTypeTree(tree: Tree)(left: Tree, right: Tree): AndTypeTree

  6. def Annotated(tree: Tree)(arg: Tree, annot: Tree)(implicit ctx: Context): Annotated

  7. def AppliedTypeTree(tree: Tree)(tpt: Tree, args: List[Tree]): AppliedTypeTree

  8. def Apply(tree: Tree)(fun: Tree, args: List[Tree])(implicit ctx: Context): Apply

  9. def Assign(tree: Tree)(lhs: Tree, rhs: Tree)(implicit ctx: Context): Assign

  10. def Bind(tree: Tree)(name: Name, body: Tree): Bind

  11. def Block(tree: Tree)(stats: List[Tree], expr: Tree)(implicit ctx: Context): Block

  12. def ByNameTypeTree(tree: Tree)(result: Tree): ByNameTypeTree

  13. def CaseDef(tree: CaseDef)(pat: Tree = tree.pat, guard: Tree = tree.guard, body: Tree = tree.body)(implicit ctx: Context): CaseDef

  14. def CaseDef(tree: Tree)(pat: Tree, guard: Tree, body: Tree)(implicit ctx: Context): CaseDef

  15. def Closure(tree: Closure)(env: List[Tree] = tree.env, meth: Tree = tree.meth, tpt: Tree = tree.tpt)(implicit ctx: Context): Closure

  16. def Closure(tree: Tree)(env: List[Tree], meth: Tree, tpt: Tree)(implicit ctx: Context): Closure

  17. def DefDef(tree: DefDef)(name: TermName = tree.name, tparams: List[TypeDef] = tree.tparams, vparamss: List[List[ValDef]] = tree.vparamss, tpt: Tree = tree.tpt, rhs: LazyTree = tree.unforcedRhs): DefDef

  18. def DefDef(tree: Tree)(name: TermName, tparams: List[TypeDef], vparamss: List[List[ValDef]], tpt: Tree, rhs: LazyTree): DefDef

  19. def Ident(tree: Tree)(name: Name): Ident

  20. def If(tree: If)(cond: Tree = tree.cond, thenp: Tree = tree.thenp, elsep: Tree = tree.elsep)(implicit ctx: Context): If

  21. def If(tree: Tree)(cond: Tree, thenp: Tree, elsep: Tree)(implicit ctx: Context): If

  22. def Import(tree: Tree)(expr: Tree, selectors: List[untpd.Tree]): Import

  23. def Inlined(tree: Tree)(call: tpd.Tree, bindings: List[MemberDef], expansion: Tree)(implicit ctx: Context): Inlined

  24. def Literal(tree: Tree)(const: Constant)(implicit ctx: Context): Literal

  25. def Match(tree: Tree)(selector: Tree, cases: List[CaseDef])(implicit ctx: Context): Match

  26. def NamedArg(tree: Tree)(name: Name, arg: Tree)(implicit ctx: Context): NamedArg

  27. def New(tree: Tree)(tpt: Tree)(implicit ctx: Context): New

  28. def OrTypeTree(tree: Tree)(left: Tree, right: Tree): OrTypeTree

  29. def PackageDef(tree: Tree)(pid: RefTree, stats: List[Tree]): PackageDef

  30. def PolyTypeTree(tree: Tree)(tparams: List[TypeDef], body: Tree): PolyTypeTree

  31. def RefinedTypeTree(tree: Tree)(tpt: Tree, refinements: List[Tree]): RefinedTypeTree

  32. def Return(tree: Tree)(expr: Tree, from: Tree)(implicit ctx: Context): Return

  33. def Select(tree: Tree)(qualifier: Tree, name: Name)(implicit ctx: Context): Select

  34. def SeqLiteral(tree: Tree)(elems: List[Tree], elemtpt: Tree)(implicit ctx: Context): SeqLiteral

  35. def SingletonTypeTree(tree: Tree)(ref: Tree): SingletonTypeTree

  36. def Super(tree: Tree)(qual: Tree, mix: TypeName): Super

  37. def Template(tree: Template)(constr: DefDef = tree.constr, parents: List[Tree] = tree.parents, self: ValDef = tree.self, body: LazyTreeList = tree.unforcedBody): Template

  38. def Template(tree: Tree)(constr: DefDef, parents: List[Tree], self: ValDef, body: LazyTreeList): Template

  39. def Thicket(tree: Tree)(trees: List[Tree]): Thicket

  40. def This(tree: Tree)(qual: TypeName): This

  41. def Try(tree: Try)(expr: Tree = tree.expr, cases: List[CaseDef] = tree.cases, finalizer: Tree = tree.finalizer)(implicit ctx: Context): Try

  42. def Try(tree: Tree)(expr: Tree, cases: List[CaseDef], finalizer: Tree)(implicit ctx: Context): Try

  43. def TypeApply(tree: Tree)(fun: Tree, args: List[Tree])(implicit ctx: Context): TypeApply

  44. def TypeBoundsTree(tree: Tree)(lo: Tree, hi: Tree): TypeBoundsTree

  45. def TypeDef(tree: TypeDef)(name: TypeName = tree.name, rhs: Tree = tree.rhs, tparams: List[untpd.TypeDef] = tree.tparams): TypeDef

  46. def TypeDef(tree: Tree)(name: TypeName, rhs: Tree, tparams: List[untpd.TypeDef]): TypeDef

  47. def Typed(tree: Tree)(expr: Tree, tpt: Tree)(implicit ctx: Context): Typed

  48. def UnApply(tree: UnApply)(fun: Tree = tree.fun, implicits: List[Tree] = tree.implicits, patterns: List[Tree] = tree.patterns): UnApply

  49. def UnApply(tree: Tree)(fun: Tree, implicits: List[Tree], patterns: List[Tree]): UnApply

  50. def ValDef(tree: ValDef)(name: TermName = tree.name, tpt: Tree = tree.tpt, rhs: LazyTree = tree.unforcedRhs): ValDef

  51. def ValDef(tree: Tree)(name: TermName, tpt: Tree, rhs: LazyTree): ValDef

  52. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  53. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  55. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  56. def finalize(tree: Tree, copied: untpd.MemberDef): ThisTree[T]

  57. def finalize(tree: Tree, copied: untpd.Tree): ThisTree[T]

  58. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  59. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  60. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  61. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  62. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  63. final def notify(): Unit

    Definition Classes
    AnyRef
  64. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  65. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  66. def toString(): String

    Definition Classes
    AnyRef → Any
  67. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  68. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  69. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped