Trait

scala.tools.refactoring.common

InsertionPositions

Related Doc: package common

Permalink

trait InsertionPositions extends Selections with TreeTransformations

Self Type
InsertionPositions with CompilerAccess
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. InsertionPositions
  2. TreeTransformations
  3. TreeFactory
  4. Transformations
  5. Selections
  6. PimpedTrees
  7. TreeTraverser
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. implicit class AdditionalListMethods[T] extends AnyRef

    Permalink

    Replace the first sequence of elements with another sequence.

    Replace the first sequence of elements with another sequence.

    Definition Classes
    TreeTransformations
  2. implicit class AdditionalTreeListMethods extends AnyRef

    Permalink
    Definition Classes
    TreeTransformations
  3. implicit class CopyTypeFromOtherTree extends AnyRef

    Permalink
    Definition Classes
    TreeFactory
  4. implicit class DefDefMethods extends AnyRef

    Permalink
    Definition Classes
    PimpedTrees
  5. case class FileSelection(file: AbstractFile, root: nsc.Global.Tree, from: Int, to: Int) extends (Selections.this)#Selection with Product with Serializable

    Permalink
    Definition Classes
    Selections
  6. class FilterTreeTraverser extends nsc.Global.FilterTreeTraverser with (TreeTraverser.this)#Traverser

    Permalink
    Definition Classes
    TreeTraverser
  7. case class ImportSelectorTree(name: (PimpedTrees.this)#NameTree, rename: nsc.Global.Tree) extends nsc.Global.Tree with Product with Serializable

    Permalink

    Represent an import selector as a tree, including both names as trees.

    Represent an import selector as a tree, including both names as trees.

    Definition Classes
    PimpedTrees
  8. implicit class ImportSelectorTreeExtractor extends AnyRef

    Permalink

    Import selectors are not trees, but we can provide an extractor that converts the ImportSelectors into our own ImportSelectorTrees.

    Import selectors are not trees, but we can provide an extractor that converts the ImportSelectors into our own ImportSelectorTrees.

    Definition Classes
    PimpedTrees
  9. case class InsertionPoint(enclosing: nsc.Global.Tree, mkEnclosing: (nsc.Global.Tree) ⇒ nsc.Global.Tree, pos: nsc.Global.Position) extends (nsc.Global.Tree) ⇒ nsc.Global.Tree with Product with Serializable

    Permalink

    A concrete position for tree insertions.

  10. type InsertionPosition = PartialFunction[nsc.Global.Tree, (InsertionPositions.this)#InsertionPoint]

    Permalink

    An insertion position is a function that may be defined for an enclosing tree.

    An insertion position is a function that may be defined for an enclosing tree. When defined, it returns an instance of an InsertionPoint.

  11. case class ModifierTree(flag: Long) extends nsc.Global.Tree with Product with Serializable

    Permalink

    Represent a modifier as a tree, including its position.

    Represent a modifier as a tree, including its position.

    Definition Classes
    PimpedTrees
  12. case class MultipleAssignment(extractor: nsc.Global.Tree, names: List[nsc.Global.ValDef], rhs: nsc.Global.Tree) extends nsc.Global.Tree with Product with Serializable

    Permalink
    Definition Classes
    PimpedTrees
  13. case class NameTree(name: nsc.Global.Name) extends nsc.Global.Tree with Product with Serializable

    Permalink

    Represent a Name as a tree, including its position.

    Represent a Name as a tree, including its position.

    Definition Classes
    PimpedTrees
  14. case class NamedArgument(nameTree: (PimpedTrees.this)#NameTree, rhs: nsc.Global.Tree) extends nsc.Global.SymTree with nsc.Global.RefTree with Product with Serializable

    Permalink
    Definition Classes
    PimpedTrees
  15. class NotInstanceOf[T] extends AnyRef

    Permalink
    Definition Classes
    PimpedTrees
  16. abstract class PlainText extends nsc.Global.Tree

    Permalink

    The PlainText "tree" provides a hook into the source code generation.

    The PlainText "tree" provides a hook into the source code generation. When a PlainText tree occurs during source code generation, its print method is called with the current AbstractPrinter#PrintingContext. The result is inserted into the generated source code.

    For some use cases (blank line, raw and indented string) implementations already exist in the PlainText object.

    Note that PlainText trees should never be allowed to escape the Scala refactoring library, so be careful when using compiler utilities to transform trees.

    Definition Classes
    PimpedTrees
  17. implicit class RichModifiers extends AnyRef

    Permalink
    Definition Classes
    PimpedTrees
  18. trait Selection extends AnyRef

    Permalink
    Definition Classes
    Selections
  19. implicit class SelectionDependentInsertionPoints extends AnyRef

    Permalink
  20. case class SelfTypeTree(name: (PimpedTrees.this)#NameTree, tpt: nsc.Global.Tree) extends nsc.Global.Tree with Product with Serializable

    Permalink

    Representation of self type annotations: self: A with B => ^^^^^^^^^^^^^^

    Representation of self type annotations: self: A with B => ^^^^^^^^^^^^^^

    Definition Classes
    PimpedTrees
  21. case class SuperConstructorCall(clazz: nsc.Global.Tree, args: List[nsc.Global.Tree]) extends nsc.Global.Tree with Product with Serializable

    Permalink

    The call to the super constructor in a class: class A(i: Int) extends B(i) ^^^^

    The call to the super constructor in a class: class A(i: Int) extends B(i) ^^^^

    Definition Classes
    PimpedTrees
  22. class TemplateMethods extends AnyRef

    Permalink
    Definition Classes
    PimpedTrees
  23. abstract class Transformation[X, Y] extends (X) ⇒ Option[Y]

    Permalink
    Definition Classes
    Transformations
  24. trait Traverser extends nsc.Global.Traverser

    Permalink

    A traverser that also traverses a TypeTree's original type.

    A traverser that also traverses a TypeTree's original type.

    Definition Classes
    TreeTraverser
  25. trait TraverserWithFakedTrees extends nsc.Global.Traverser

    Permalink

    A traverser that creates fake trees for various type trees so they can be treated as if they were regular trees.

    A traverser that creates fake trees for various type trees so they can be treated as if they were regular trees.

    Definition Classes
    TreeTraverser
  26. class TreeMethodsForPositions extends AnyRef

    Permalink

    Add some methods to Tree that make it easier to compare Trees by position and to extract the position of a tree's name, which is tricky for Selects.

    Add some methods to Tree that make it easier to compare Trees by position and to extract the position of a tree's name, which is tricky for Selects.

    Definition Classes
    PimpedTrees
  27. implicit class TreeReplacesOtherTreeViaPosition[T <: nsc.Global.Tree] extends AnyRef

    Permalink
    Definition Classes
    TreeTransformations
  28. case class TreeSelection(root: nsc.Global.Tree) extends (Selections.this)#Selection with Product with Serializable

    Permalink
    Definition Classes
    Selections
  29. class TreeWithSymbolTraverser extends nsc.Global.Traverser with (TreeTraverser.this)#Traverser

    Permalink
    Definition Classes
    TreeTraverser
  30. case class SourceLayoutTree(kind: Kinds) extends nsc.Global.Tree with Product with Serializable

    Permalink

    A SourceLayoutTree can be used to insert arbitrary text into the code, for example, blank lines.

    A SourceLayoutTree can be used to insert arbitrary text into the code, for example, blank lines.

    Definition Classes
    PimpedTrees
    Annotations
    @deprecated
    Deprecated

    (Since version 0.5.0) Use PlainText objects and its components

Value Members

  1. def ![X](t: ⇒ (InsertionPositions.this)#T[X, X]): (InsertionPositions.this)#Transformation[X, X]

    Permalink
    Definition Classes
    Transformations
  2. final def !=(arg0: Any): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  5. object ApplyExtractor

    Permalink
    Definition Classes
    PimpedTrees
  6. object BlockExtractor

    Permalink

    Unify the children of a Block tree and sort them in the same order they appear in the source code.

    Unify the children of a Block tree and sort them in the same order they appear in the source code.

    Also reshapes some trees: multiple assignments are removed and named argument trees are created.

    Definition Classes
    PimpedTrees
  7. object FileSelection extends Serializable

    Permalink
    Definition Classes
    Selections
  8. object Invisible extends nsc.Global.Position

    Permalink
    Definition Classes
    TreeFactory
  9. object ModifierTree extends Serializable

    Permalink

    Extract the modifiers with their position from a Modifiers object.

    Extract the modifiers with their position from a Modifiers object.

    Definition Classes
    PimpedTrees
  10. object NameTree extends Serializable

    Permalink
    Definition Classes
    PimpedTrees
  11. object NoBlock extends (PimpedTrees.this)#NotInstanceOf[nsc.Global.Block]

    Permalink
    Definition Classes
    PimpedTrees
  12. object NoFunction extends (PimpedTrees.this)#NotInstanceOf[nsc.Global.Function]

    Permalink
    Definition Classes
    PimpedTrees
  13. object NoImportSelectorTree extends (PimpedTrees.this)#NotInstanceOf[(PimpedTrees.this)#ImportSelectorTree]

    Permalink
    Definition Classes
    PimpedTrees
  14. object NoPackageDef extends (PimpedTrees.this)#NotInstanceOf[nsc.Global.PackageDef]

    Permalink
    Definition Classes
    PimpedTrees
  15. object PlainText

    Permalink
    Definition Classes
    PimpedTrees
  16. object TemplateExtractor

    Permalink

    Provides a finer-grained extractor for Template that distinguishes between class constructor parameters, early definitions, parents, self type annotation and the real body.

    Provides a finer-grained extractor for Template that distinguishes between class constructor parameters, early definitions, parents, self type annotation and the real body.

    Definition Classes
    PimpedTrees
  17. object ValOrDefDef

    Permalink

    Copy of scala.reflect.internal.Trees.ValOrDefDef of 2.11 to support 2.10.

    Copy of scala.reflect.internal.Trees.ValOrDefDef of 2.11 to support 2.10.

    Definition Classes
    PimpedTrees
  18. def abstractFileToTree(file: AbstractFile): nsc.Global.Tree

    Permalink
    Definition Classes
    TreeTransformations
  19. def addImportTransformation(importsToAdd: Iterable[String]): (InsertionPositions.this)#Transformation[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    TreeTransformations
  20. implicit def additionalTemplateMethods(t: nsc.Global.Template): (InsertionPositions.this)#TemplateMethods

    Permalink
    Definition Classes
    PimpedTrees
  21. implicit def additionalTreeMethodsForPositions(t: nsc.Global.Tree): (InsertionPositions.this)#TreeMethodsForPositions

    Permalink
    Definition Classes
    PimpedTrees
  22. def allChildren(t: ⇒ (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink

    Applies a transformation to all subtrees of a tree T, returning a new tree,typically of the same kind as T.

    Applies a transformation to all subtrees of a tree T, returning a new tree,typically of the same kind as T.

    If the transformation fails on one child, abort and fail the whole application.

    Definition Classes
    Transformations
  23. def ancestorSymbols(t: nsc.Global.Tree): List[nsc.Global.Symbol]

    Permalink

    returns

    Returns the (symbol) ancestors of the tree excluding the ROOT in descending order. Also filters the symbols for package objects!

    Definition Classes
    PimpedTrees
  24. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  25. def asSelectorString(t: nsc.Global.Tree): String

    Permalink

    Converts a tree containing Idents and Selects to a . separated string.

    Converts a tree containing Idents and Selects to a . separated string.

    Definition Classes
    PimpedTrees
  26. lazy val atBeginningOfCaseBody: (InsertionPositions.this)#InsertionPosition

    Permalink

    Inserts trees as the first statement in a case body (rhs).

  27. lazy val atBeginningOfNewBlockInRhsOfVal: (InsertionPositions.this)#InsertionPosition

    Permalink

    Inserts trees in a new block at the right hand side of a ValDef.

    Inserts trees in a new block at the right hand side of a ValDef. val a = 1 becomes val a = { inserted; 1 }

  28. lazy val atBeginningOfNewDefBody: (InsertionPositions.this)#InsertionPosition

    Permalink

    Inserts trees as the first statement in a method body.

  29. lazy val atBeginningOfNewFunctionBody: (InsertionPositions.this)#InsertionPosition

    Permalink

    Inserts trees as the first statement in a function body.

    Inserts trees as the first statement in a function body. Note: Functions of the form _ + 1 are not treated as insertion positions.

  30. lazy val atEndOfArgumentList: (InsertionPositions.this)#InsertionPosition

    Permalink

    Inserts a tree at the end of an argument list.

  31. lazy val atEndOfValueParameterList: (InsertionPositions.this)#InsertionPosition

    Permalink

    Inserts ValDef trees at the end of a parameter list.

  32. def bottomup(t: ⇒ (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    Transformations
  33. def children: (nsc.Global.Tree) ⇒ List[nsc.Global.Tree]

    Permalink

    Returns all children that have a representation in the source code.

    Returns all children that have a representation in the source code. This includes Name and Modifier trees and excludes everything that has no Position or is an EmptyTree.

    Definition Classes
    PimpedTrees
  34. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. def constant(y: nsc.Global.Tree): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink

    Creates a transformation that always returns the value x.

    Creates a transformation that always returns the value x.

    Definition Classes
    Transformations
  36. def endPositionAtEndOfSourceFile(pos: nsc.Global.Position, otherWise: Option[Int] = None): Int

    Permalink

    Trees that reach the end of the file don't seem to have the correct end position, except if there's a newline at the end.

    Trees that reach the end of the file don't seem to have the correct end position, except if there's a newline at the end.

    Definition Classes
    PimpedTrees
  37. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  39. def escapeScalaKeywordsForImport(n: String): String

    Permalink
    Definition Classes
    PimpedTrees
  40. def escapeScalaKeywordsForImport(n: nsc.Global.Name): String

    Permalink

    Takes a name and wraps it in if the name corresponds to a Scala keyword.

    Takes a name and wraps it in if the name corresponds to a Scala keyword.

    Definition Classes
    PimpedTrees
  41. def fail[X]: (InsertionPositions.this)#T[X, X]

    Permalink

    Always fails, independent of the input.

    Always fails, independent of the input.

    Definition Classes
    Transformations
  42. def filter(f: PartialFunction[nsc.Global.Tree, Boolean]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    TreeTransformations
  43. def filterTree(t: nsc.Global.Tree, traverser: nsc.Global.FilterTreeTraverser): collection.immutable.List[nsc.Global.Tree]

    Permalink
    Definition Classes
    TreeTraverser
  44. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  45. val findAllTreesWithTheSamePosition: (nsc.Global.Tree) ⇒ Iterable[nsc.Global.Tree]

    Permalink
    Definition Classes
    PimpedTrees
  46. val findBestPackageForImports: (InsertionPositions.this)#T[nsc.Global.Tree, (nsc.Global.PackageDef, List[nsc.Global.Import], List[nsc.Global.Tree])]

    Permalink

    Finds the "best" package for adding imports, together with the imports it already contains

    Finds the "best" package for adding imports, together with the imports it already contains

    The best package for imports means the innermost package where imports are still visible to all trees that might potentially need them. For example, given

    package a.b.c
    package d
    package e
    
    package e1 {
      object E1
    }
    
    package e2 {
      object E2
    }

    this function returns the package a.b.c.d.e.

    Definition Classes
    TreeTransformations
  47. def findOriginalTree: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

    Permalink

    Finds a tree by its position, can be used to find the original tree from a transformed tree.

    Finds a tree by its position, can be used to find the original tree from a transformed tree.

    If multiple trees are candidates, then take the last one, because it is likely more specific.

    Definition Classes
    PimpedTrees
  48. def findSymbolForImportSelector(expr: nsc.Global.Tree, name: nsc.Global.Name): Option[nsc.Global.Symbol]

    Permalink

    Searches for a Symbol of a name in the type members of a tree.

    Searches for a Symbol of a name in the type members of a tree.

    This is mainly used for ImportSelectors, which don't carry any symbol information with them.

    expr

    The expr of an Import tree.

    name

    The name of an ImportSelector of the import.

    Definition Classes
    PimpedTrees
  49. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  51. def id[X]: (InsertionPositions.this)#T[X, X]

    Permalink
    Definition Classes
    Transformations
  52. def isClassTag(c: nsc.Global.Constant): Boolean

    Permalink
    Definition Classes
    PimpedTrees
  53. def isEmptyTree(t: nsc.Global.Tree): Boolean

    Permalink

    Returns whether the tree is considered empty.

    Returns whether the tree is considered empty.

    Prior to Scala 2.10.1 it was sufficient to check Tree#isEmpty, but now we also need to check if the tree is equal to emptyValDef.

    Definition Classes
    PimpedTrees
  54. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  55. def isSyntheticBlock(t: nsc.Global.Tree): Boolean

    Permalink
  56. def keepTree(t: nsc.Global.Tree): Boolean

    Permalink
    Definition Classes
    PimpedTrees
  57. def matchingChildren(t: (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink

    Applies a transformation to all subtrees of a tree T, returning a new tree,typically of the same kind as T.

    Applies a transformation to all subtrees of a tree T, returning a new tree,typically of the same kind as T.

    If the transformation fails on one child, apply the identity transformation id and don't fail, unlike allChildren.

    Definition Classes
    Transformations
  58. def mkApply(mods: nsc.Global.Modifiers = NoMods, parameters: List[List[nsc.Global.Symbol]] = Nil :: Nil, body: List[nsc.Global.Tree], typeParameters: List[nsc.Global.TypeDef] = Nil): nsc.Global.DefDef

    Permalink
    Definition Classes
    TreeFactory
  59. def mkAssignmentToCall(call: nsc.Global.Tree, returns: List[nsc.Global.Symbol]): nsc.Global.Tree

    Permalink
    Definition Classes
    TreeFactory
  60. def mkBlock(trees: List[nsc.Global.Tree]): nsc.Global.Block

    Permalink
    Definition Classes
    TreeFactory
  61. def mkCallDefDef(name: String, arguments: List[List[nsc.Global.Symbol]] = Nil :: Nil, returns: List[nsc.Global.Symbol] = Nil): nsc.Global.Tree

    Permalink
    Definition Classes
    TreeFactory
  62. def mkCallValDef(name: String, returns: List[nsc.Global.Symbol] = Nil): nsc.Global.Tree

    Permalink
    Definition Classes
    TreeFactory
  63. def mkCanEqual(classSymbol: nsc.Global.Symbol): nsc.Global.DefDef

    Permalink
    Definition Classes
    TreeFactory
  64. def mkCaseClass(mods: nsc.Global.Modifiers = NoMods, name: String, tparams: List[nsc.Global.TypeDef] = Nil, argss: List[List[(nsc.Global.Modifiers, String, nsc.Global.Tree)]] = Nil, body: List[nsc.Global.Tree] = Nil, parents: List[nsc.Global.Tree] = Nil, superArgs: List[nsc.Global.Tree] = Nil): nsc.Global.ClassDef

    Permalink
    Definition Classes
    TreeFactory
  65. def mkClass(mods: nsc.Global.Modifiers = NoMods, name: String, tparams: List[nsc.Global.TypeDef] = Nil, argss: List[List[(nsc.Global.Modifiers, String, nsc.Global.Tree)]] = Nil, body: List[nsc.Global.Tree] = Nil, parents: List[nsc.Global.Tree] = Nil, superArgs: List[nsc.Global.Tree] = Nil): nsc.Global.ClassDef

    Permalink
    Definition Classes
    TreeFactory
  66. def mkDefDef(mods: nsc.Global.Modifiers = NoMods, name: String, parameters: List[List[nsc.Global.Symbol]] = Nil :: Nil, body: List[nsc.Global.Tree], typeParameters: List[nsc.Global.TypeDef] = Nil, returnTypeOpt: Option[nsc.Global.TypeTree] = None): nsc.Global.DefDef

    Permalink
    Definition Classes
    TreeFactory
  67. def mkEquals(classSymbol: nsc.Global.Symbol, classParamsForEqual: List[nsc.Global.ValDef], callSuper: Boolean): nsc.Global.DefDef

    Permalink
    Definition Classes
    TreeFactory
  68. def mkFunctionCallWithFunctionArgument(selector: nsc.Global.Tree, fun: String, param: nsc.Global.TermName, body: nsc.Global.Tree): nsc.Global.Tree

    Permalink

    Creates a function call fun on the selector and passes a function with a single parameter param and the body body.

    Creates a function call fun on the selector and passes a function with a single parameter param and the body body.

    Example:

    someExpr becomes someExpr fun (param => body)

    Definition Classes
    TreeFactory
  69. def mkFunctionCallWithZeroArgFunctionArgument(selector: nsc.Global.Tree, fun: String, body: nsc.Global.Tree): nsc.Global.Tree

    Permalink

    Creates a function call fun on the selector and passes a function with no parameter and the body body.

    Creates a function call fun on the selector and passes a function with no parameter and the body body.

    Example:

    someExpr becomes someExpr fun (body)

    Definition Classes
    TreeFactory
  70. def mkHashcode(classSymbol: nsc.Global.Symbol, classParamsForHashcode: List[nsc.Global.ValDef], callSuper: Boolean, prime: Int = 41): nsc.Global.DefDef

    Permalink
    Definition Classes
    TreeFactory
  71. def mkImportFromStrings(qualifier: String, name: String): nsc.Global.Import

    Permalink
    Definition Classes
    TreeFactory
  72. def mkImportTrees(trees: List[nsc.Global.Select], enclosingPackage: String): collection.immutable.List[nsc.Global.Import]

    Permalink
    Definition Classes
    TreeFactory
  73. def mkModule(mods: nsc.Global.Modifiers = NoMods, name: String, body: List[nsc.Global.Tree] = Nil, parents: List[nsc.Global.Tree] = Nil): nsc.Global.ModuleDef

    Permalink
    Definition Classes
    TreeFactory
  74. def mkParam(name: String, tpe: nsc.Global.Type, defaultVal: nsc.Global.Tree = EmptyTree): nsc.Global.ValDef

    Permalink
    Definition Classes
    TreeFactory
  75. def mkRenamedImportTree(t: (InsertionPositions.this)#ImportSelectorTree, name: String): (InsertionPositions.this)#ImportSelectorTree

    Permalink
    Definition Classes
    TreeFactory
  76. def mkRenamedSymTree(t: nsc.Global.SymTree, nameString: String): nsc.Global.SymTree

    Permalink
    Definition Classes
    TreeFactory
  77. def mkRenamedTypeTree(t: nsc.Global.TypeTree, name: String, originalSymbol: nsc.Global.Symbol): nsc.Global.TypeTree

    Permalink
    Definition Classes
    TreeFactory
  78. def mkReturn(s: List[nsc.Global.Symbol]): nsc.Global.Tree

    Permalink
    Definition Classes
    TreeFactory
  79. def mkValDef(name: String, rhs: nsc.Global.Tree, tpt: nsc.Global.TypeTree = new TypeTree): nsc.Global.ValDef

    Permalink
    Definition Classes
    TreeFactory
  80. def mkValOrVarDef(mods: nsc.Global.Modifiers, name: String, rhs: nsc.Global.Tree, tpt: nsc.Global.TypeTree = new TypeTree): nsc.Global.ValDef

    Permalink
    Definition Classes
    TreeFactory
  81. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  82. def not[X](t: ⇒ (InsertionPositions.this)#T[X, X]): (InsertionPositions.this)#Transformation[X, X]

    Permalink
    Definition Classes
    Transformations
  83. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  84. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  85. def once[X <: AnyRef](t: (InsertionPositions.this)#T[X, X]): (InsertionPositions.this)#T[X, X]

    Permalink

    Do a transformation until it succeeded once, then just fail.

    Do a transformation until it succeeded once, then just fail.

    Note that because of the statefulness of once, you need to make sure that it isn't accidentally passed as a by-name parameter to another transformation and instantiated multiple times.

    Definition Classes
    Transformations
  86. val originalLeftSibling: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

    Permalink
    Definition Classes
    PimpedTrees
  87. val originalParentOf: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

    Permalink
    Definition Classes
    PimpedTrees
  88. val originalRightSibling: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

    Permalink
    Definition Classes
    PimpedTrees
  89. def postorder(t: ⇒ (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    Transformations
  90. def predicate[X](f: (X) ⇒ Boolean): (InsertionPositions.this)#T[X, X]

    Permalink
    Definition Classes
    Transformations
  91. def predicate[X](f: PartialFunction[X, Boolean]): (InsertionPositions.this)#T[X, X]

    Permalink

    We often want to use transformations as predicates, which execute the next transformations if the result is true.

    We often want to use transformations as predicates, which execute the next transformations if the result is true. For example:

    val tree_with_range_pos = filter[Tree] { case t: Tree => t.pos.isRange }

    We can then use the predicate like this: tree_with_range_pos andThen do_something_with_the_tree orElse nothing

    Definition Classes
    Transformations
  92. def preorder(t: ⇒ (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    Transformations
  93. def replaceTree(from: nsc.Global.Tree, to: nsc.Global.Tree): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    TreeTransformations
  94. val setNoPosition: (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    TreeTransformations
  95. def shallowDuplicate[T <: nsc.Global.Tree](orig: T): T

    Permalink
    Definition Classes
    TreeTransformations
  96. def skipForExpressionTrees(t: nsc.Global.Tree): nsc.Global.Tree

    Permalink
    Definition Classes
    Selections
  97. def succeed[X]: (InsertionPositions.this)#T[X, X]

    Permalink

    Always succeeds and returns the input unchanged.

    Always succeeds and returns the input unchanged.

    Definition Classes
    Transformations
  98. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  99. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  100. def topPackageDef(t: nsc.Global.PackageDef): nsc.Global.PackageDef

    Permalink

    returns

    Returns the most specific package declaration in the compilation unit. For example, given the following declaration: package a package b class C it returns b. If there are further nested packages, they are ignored: package a class C package b returns a.

    Definition Classes
    PimpedTrees
  101. def topdown(t: ⇒ (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    Transformations
  102. def transform(f: PartialFunction[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    TreeTransformations
  103. def transformation[X, Y](f: PartialFunction[X, Y]): (InsertionPositions.this)#T[X, Y]

    Permalink

    Construct a transformation from a partial function; this is the most commonly used way to create new transformations, for example like:

    Construct a transformation from a partial function; this is the most commonly used way to create new transformations, for example like:

    val reverse_all_class_members = transformation[Tree, Tree] { case t: Template => t.copy(body = t.body.reverse) }

    Definition Classes
    Transformations
  104. def traverse(tree: nsc.Global.Tree, f: (nsc.Global.Tree) ⇒ nsc.Global.Tree): nsc.Global.Tree

    Permalink
    Definition Classes
    TreeTransformationsTransformations
  105. def traverseAndTransformAll(t: ⇒ (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    Transformations
  106. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  109. def (t: ⇒ (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink

    Applies a transformation bottom-up, that is, it applies the transformation to the children of the tree first and then to their parent.

    Applies a transformation bottom-up, that is, it applies the transformation to the children of the tree first and then to their parent. The consequence is that the parent "sees" its transformed children.

    Definition Classes
    Transformations
  110. def (t: ⇒ (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]): (InsertionPositions.this)#T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink

    Applies a transformation top-down, that is, it applies the transformation to the tree T and then passes the transformed T to all children.

    Applies a transformation top-down, that is, it applies the transformation to the tree T and then passes the transformed T to all children. The consequence is that the children "see" their new parent.

    Definition Classes
    Transformations

Deprecated Value Members

  1. object SourceLayouts

    Permalink
    Definition Classes
    PimpedTrees
    Annotations
    @deprecated
    Deprecated

    (Since version 0.5.0) Use PlainText objects and its components

Inherited from TreeTransformations

Inherited from TreeFactory

Inherited from Transformations

Inherited from Selections

Inherited from PimpedTrees

Inherited from TreeTraverser

Inherited from AnyRef

Inherited from Any

Ungrouped