scala.tools.refactoring.common

EnrichedTrees

trait EnrichedTrees extends AnyRef

A collection of implicit conversions for ASTs and other helper functions that work on trees.

Self Type
EnrichedTrees with CompilerAccess
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. EnrichedTrees
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. implicit class DefDefMethods extends AnyRef

  2. case class ImportSelectorTree(name: (EnrichedTrees.this)#NameTree, rename: nsc.Global.Tree) extends nsc.Global.Tree with Product with Serializable

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

  3. implicit class ImportSelectorTreeExtractor extends AnyRef

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

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

    Represent a modifier as a tree, including its position.

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

  6. case class NameTree(name: nsc.Global.Name) extends nsc.Global.Tree with Product with Serializable

    Represent a Name as a tree, including its position.

  7. case class NamedArgument(nameTree: (EnrichedTrees.this)#NameTree, rhs: nsc.Global.Tree) extends nsc.Global.SymTree with nsc.Global.RefTree with Product with Serializable

  8. class NotInstanceOf[T] extends AnyRef

  9. abstract class PlainText extends nsc.Global.Tree

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

  10. implicit class RichModifiers extends AnyRef

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

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

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

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

  13. class TemplateMethods extends AnyRef

  14. class TreeMethodsForPositions extends AnyRef

    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.

  15. case class SourceLayoutTree(kind: Kinds) extends nsc.Global.Tree with Product with Serializable

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

Value Members

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

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

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

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

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

    Definition Classes
    Any
  6. object ApplyExtractor

  7. object BlockExtractor

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

  8. object ModifierTree extends Serializable

    Extract the modifiers with their position from a Modifiers object.

  9. object NameTree extends Serializable

  10. object NoBlock extends (EnrichedTrees.this)#NotInstanceOf[nsc.Global.Block]

  11. object NoFunction extends (EnrichedTrees.this)#NotInstanceOf[nsc.Global.Function]

  12. object NoImportSelectorTree extends (EnrichedTrees.this)#NotInstanceOf[(EnrichedTrees.this)#ImportSelectorTree]

  13. object NoPackageDef extends (EnrichedTrees.this)#NotInstanceOf[nsc.Global.PackageDef]

  14. object PlainText

  15. object TemplateExtractor

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

  16. object ValOrDefDef

    Copy of scala.reflect.internal.Trees.ValOrDefDef of 2.

  17. implicit def additionalTemplateMethods(t: nsc.Global.Template): (EnrichedTrees.this)#TemplateMethods

  18. implicit def additionalTreeMethodsForPositions(t: nsc.Global.Tree): (EnrichedTrees.this)#TreeMethodsForPositions

  19. def ancestorSymbols(t: nsc.Global.Tree): List[nsc.Global.Symbol]

    returns

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

  20. final def asInstanceOf[T0]: T0

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

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

  22. def children: (nsc.Global.Tree) ⇒ List[nsc.Global.Tree]

    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.

  23. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. def endPositionAtEndOfSourceFile(pos: nsc.Global.Position, otherWise: Option[Int] = None): Int

    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.

  25. final def eq(arg0: AnyRef): Boolean

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

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

  28. def escapeScalaKeywordsForImport(n: nsc.Global.Name): String

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

  29. def finalize(): Unit

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

  31. def findOriginalTree: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

    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.

  32. def findSymbolForImportSelector(expr: nsc.Global.Tree, name: nsc.Global.Name): Option[nsc.Global.Symbol]

    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.

  33. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  35. def isClassTag(c: nsc.Global.Constant): Boolean

  36. def isEmptyTree(t: nsc.Global.Tree): Boolean

    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.

  37. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  38. def keepTree(t: nsc.Global.Tree): Boolean

  39. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  42. val originalLeftSibling: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

  43. val originalParentOf: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

  44. val originalRightSibling: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  46. def toString(): String

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

    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.

  48. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. object SourceLayouts

    Annotations
    @deprecated
    Deprecated

    (Since version 0.5.0) Use PlainText objects and its components

Inherited from AnyRef

Inherited from Any

Ungrouped