scala.tools.refactoring.implementations

OrganizeImports

abstract class OrganizeImports extends MultiStageRefactoring with TreeFactory with TreeTraverser with UnusedImportsFinder with CompilationUnitDependencies with InteractiveScalaCompiler with TreeExtractors

A refactoring that recomputes and reorganizes import statements in a file.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. OrganizeImports
  2. TreeExtractors
  3. InteractiveScalaCompiler
  4. CompilationUnitDependencies
  5. CompilerApiAdapters
  6. CompilerApiExtensions
  7. UnusedImportsFinder
  8. CompilerAccess
  9. MultiStageRefactoring
  10. Refactoring
  11. SourceGenerator
  12. TreeChangesDiscoverer
  13. Formatting
  14. LayoutHelper
  15. ReusingPrinter
  16. Indentations
  17. PrettyPrinter
  18. AbstractPrinter
  19. CommonPrintUtils
  20. TreePrintingTraversals
  21. SilentTracing
  22. Tracing
  23. TreeTransformations
  24. TreeFactory
  25. Transformations
  26. Selections
  27. PimpedTrees
  28. TreeTraverser
  29. AnyRef
  30. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OrganizeImports()

Type Members

  1. class AddNewImports extends Participant

  2. implicit class AdditionalListMethods[T] extends AnyRef

    Replace the first sequence of elements with another sequence.

  3. implicit class AdditionalTreeListMethods extends AnyRef

    Definition Classes
    TreeTransformations
  4. case class AlwaysUseWildcards(imports: Set[String]) extends Participant with Product with Serializable

  5. trait BlockPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  6. trait ChangeSet extends AnyRef

    Definition Classes
    AbstractPrinter
  7. trait ClassModulePrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  8. case class CollapseSelectorsToWildcard(maxIndividualImports: Int = 2, exclude: Set[String] = ...) extends Participant with Product with Serializable

  9. implicit class CopyTypeFromOtherTree extends AnyRef

    Definition Classes
    TreeFactory
  10. implicit class DefDefMethods extends AnyRef

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

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

    Definition Classes
    TreeTraverser
  13. class FindNeededImports extends Participant

  14. trait FunctionPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  15. case class GroupImports(groups: List[String]) extends Participant with Product with Serializable

  16. trait IfPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  17. trait ImportPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  18. case class ImportSelectorTree(name: (PimpedTrees.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.

  19. implicit class ImportSelectorTreeExtractor extends AnyRef

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

  20. class Indentation extends AnyRef

    Definition Classes
    Indentations
  21. trait LiteralPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  22. trait MethodCallPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  23. trait MiscPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  24. case class ModifierTree(flag: Long) extends nsc.Global.Tree with Product with Serializable

    Represent a modifier as a tree, including its position.

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

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

    Represent a Name as a tree, including its position.

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

    Definition Classes
    PimpedTrees
  28. class NotInstanceOf[T] extends AnyRef

    Definition Classes
    PimpedTrees
  29. trait PackagePrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  30. trait Participant extends (List[nsc.interactive.Global.Import]) ⇒ List[nsc.interactive.Global.Import]

  31. trait PatternMatchingPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  32. abstract class PlainText extends nsc.Global.Tree

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

  33. case class PreparationError(cause: String) extends Product with Serializable

    Definition Classes
    MultiStageRefactoring
  34. class PreparationResult extends AnyRef

    Preparing a refactoring can either return a result or an instance of PreparationError, describing the cause why the refactoring cannot be performed.

  35. case class PrintingContext(ind: (AbstractPrinter.this)#Indentation, changeSet: (AbstractPrinter.this)#ChangeSet, parent: nsc.Global.Tree, file: Option[SourceFile]) extends Product with Serializable

    PrintingContext is passed around with all the print methods and contains the context or environment for the current printing.

  36. trait PrintingUtils extends AnyRef

    Definition Classes
    ReusingPrinter
  37. class RecomputeAndModifyUnused extends Participant

  38. case class RefactoringError(cause: String) extends Product with Serializable

    Definition Classes
    MultiStageRefactoring
  39. class RefactoringParameters extends AnyRef

    Imports that should be added are passed as tuples in the form ("package.

  40. class RemoveUnused extends Participant

  41. implicit class RichModifiers extends AnyRef

    Definition Classes
    PimpedTrees
  42. trait Selection extends AnyRef

    Definition Classes
    Selections
  43. case class SelfTypeTree(name: (PimpedTrees.this)#NameTree, tpt: nsc.Global.Tree) extends nsc.Global.Tree with Product with Serializable

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

  44. 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) ^^^^

  45. trait SuperPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  46. class TemplateMethods extends AnyRef

    Definition Classes
    PimpedTrees
  47. implicit class TraceAndReturn[T] extends AnyRef

    Definition Classes
    Tracing
  48. abstract class Transformation[X, Y] extends (X) ⇒ Option[Y]

    Definition Classes
    Transformations
  49. trait Traverser extends nsc.Global.Traverser

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

  50. trait TraverserWithFakedTrees extends nsc.Global.Traverser

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

  51. 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.

  52. trait TreePrinting extends AnyRef

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

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

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

    Definition Classes
    TreeTraverser
  56. trait TryThrowPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  57. trait TypePrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  58. trait ValDefDefPrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  59. trait WhilePrinters extends AnyRef

    Definition Classes
    ReusingPrinter
  60. 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.

Abstract Value Members

  1. abstract val global: Global

Concrete Value Members

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

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

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

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

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

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

    Definition Classes
    Any
  7. object AllTreesHaveChanged extends (SourceGenerator.this)#ChangeSet

    Definition Classes
    SourceGenerator
  8. object ApplyExtractor

    Definition Classes
    PimpedTrees
  9. object BlockExtractor

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

  10. object CollapseImports extends Participant

  11. def DefaultOptions: collection.immutable.List[Participant]

  12. object Dependencies extends Enumeration

  13. object DropScalaPackage extends Participant

  14. object ExpandImports extends Participant

  15. object FileSelection extends Serializable

    Definition Classes
    Selections
  16. object HasType

    An extractor that returns the name of a tree's type as a String.

  17. object Invisible extends nsc.Global.Position

    Definition Classes
    TreeFactory
  18. object ListExpr

    An extractor for the List constructor List or ::

  19. object MatchOnSomeAndNone

    An extractor that matches on a Some/None pattern match.

  20. object ModifierTree extends Serializable

    Extract the modifiers with their position from a Modifiers object.

  21. object NameTree extends Serializable

    Definition Classes
    PimpedTrees
  22. object Names

    Definition Classes
    TreeExtractors
  23. object NilExpr

    A boolean extractor for the Nil object.

  24. object NoBlock extends (PimpedTrees.this)#NotInstanceOf[nsc.Global.Block]

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

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

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

    Definition Classes
    PimpedTrees
  28. object NoneExpr

    A boolean extractor for the None constructor.

  29. object PlainText

    Definition Classes
    PimpedTrees
  30. object PrependScalaPackage extends Participant

  31. object RemoveDuplicates extends Participant

  32. object SimplifyWildcards extends Participant

  33. object SomeExpr

    An extractor for the Some constructor.

  34. object SortImportSelectors extends Participant

  35. object SortImports extends Participant

  36. 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.

  37. object UnitLit

    An extractor for the () literal tree.

  38. object ValOrDefDef

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

  39. def abstractFileToTree(file: AbstractFile): nsc.interactive.Global.Tree

    Definition Classes
    TreeTransformations
  40. def addImportTransformation(importsToAdd: Iterable[String]): Transformation[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Definition Classes
    TreeTransformations
  41. implicit def additionalTemplateMethods(t: nsc.interactive.Global.Template): TemplateMethods

    Definition Classes
    PimpedTrees
  42. implicit def additionalTreeMethodsForPositions(t: nsc.interactive.Global.Tree): TreeMethodsForPositions

    Definition Classes
    PimpedTrees
  43. def adjustedStartPosForSourceExtraction(t: nsc.interactive.Global.Tree, p: nsc.interactive.Global.Position): nsc.interactive.Global.Position

    When extracting source code from the file via a tree's position, it depends on the tree type whether we can use the position's start or point.

    When extracting source code from the file via a tree's position, it depends on the tree type whether we can use the position's start or point.

    t

    The tree that will be replaced.

    p

    The position to adapt. This does not have to be the position of t.

    Definition Classes
    CommonPrintUtils
  44. def allChildren(t: ⇒ T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    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
  45. def ancestorSymbols(t: nsc.interactive.Global.Tree): List[nsc.interactive.Global.Symbol]

    returns

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

    Definition Classes
    PimpedTrees
  46. def annotationInfoTree(info: nsc.interactive.Global.AnnotationInfo): nsc.interactive.Global.Tree

    Definition Classes
    CompilerApiAdapters
  47. final def asInstanceOf[T0]: T0

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

    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
  49. def askLoadedAndTypedTreeForFile(file: SourceFile): Either[nsc.interactive.Global.Tree, Throwable]

    Returns a fully loaded and typed Tree instance for the given SourceFile.

    Returns a fully loaded and typed Tree instance for the given SourceFile.

    Definition Classes
    InteractiveScalaCompiler
  50. def balanceBrackets(open: Char, close: Char)(f: Fragment): EmptyFragment { val center: scala.tools.refactoring.sourcegen.Layout{val asText: String} }

    Definition Classes
    CommonPrintUtils
  51. def balanceBracketsInLayout(open: Char, close: Char, l: Layout): Layout

    Definition Classes
    CommonPrintUtils
  52. def between(l: nsc.interactive.Global.Tree, r: nsc.interactive.Global.Tree): LayoutFromFile

    Definition Classes
    LayoutHelper
  53. def betweenEndAndPoint(t1: nsc.interactive.Global.Tree, t2: nsc.interactive.Global.Tree): LayoutFromFile

    Definition Classes
    LayoutHelper
  54. def betweenPointAndEnd(t1: nsc.interactive.Global.Tree): LayoutFromFile

    Definition Classes
    LayoutHelper
  55. def betweenStartAndEnd(t1: nsc.interactive.Global.Tree): LayoutFromFile

    Definition Classes
    LayoutHelper
  56. def betweenStartAndPoint(t1: nsc.interactive.Global.Tree): LayoutFromFile

    Definition Classes
    LayoutHelper
  57. def bottomup(t: ⇒ T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Definition Classes
    Transformations
  58. def children: (nsc.interactive.Global.Tree) ⇒ List[nsc.interactive.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.

    Definition Classes
    PimpedTrees
  59. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  60. def compilationUnitOfFile(f: AbstractFile): Option[nsc.interactive.Global.RichCompilationUnit]

  61. def computeDependentModules(unit: nsc.interactive.Global.CompilationUnit): collection.immutable.List[nsc.interactive.Global.Symbol]

    Definition Classes
    UnusedImportsFinder
  62. def computeDependentPackageObjectNames(unit: nsc.interactive.Global.CompilationUnit): HashSet[String]

    Definition Classes
    UnusedImportsFinder
  63. def constant(y: nsc.interactive.Global.Tree): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Creates a transformation that always returns the value x.

    Creates a transformation that always returns the value x.

    Definition Classes
    Transformations
  64. def context[T](name: String)(body: ⇒ T): T

    Definition Classes
    SilentTracingTracing
    Annotations
    @inline()
  65. def createChanges(ts: List[nsc.interactive.Global.Tree]): List[TextChange]

    Creates a list of TextChanges from a list of trees, regenerating only those trees that have changed.

    Creates a list of TextChanges from a list of trees, regenerating only those trees that have changed.

    Definition Classes
    SourceGenerator
  66. def createFragment(t: nsc.interactive.Global.Tree): Fragment

    Creates a fragment from a tree, regenerating only those trees that have changed.

    Creates a fragment from a tree, regenerating only those trees that have changed.

    Definition Classes
    SourceGenerator
  67. def createText(t: nsc.interactive.Global.Tree, sourceFile: Option[SourceFile] = None): String

    Creates a string from a tree, regenerating all trees.

    Creates a string from a tree, regenerating all trees.

    If the sourceFile parameter is passed, it will be used to figure out what kinds of newline separators we should generate. If None is passed, '\n' is used.

    Definition Classes
    SourceGenerator
  68. def defaultIndentationStep: String

    The characters that are used to indent changed code.

    The characters that are used to indent changed code.

    Definition Classes
    Formatting
  69. def dependencies(t: nsc.interactive.Global.Tree): List[nsc.interactive.Global.Select]

    Calculates all the external dependencies the given Tree has.

    Calculates all the external dependencies the given Tree has. Compared to neededImports, this function might also return trees that don't need to be explicitly imported, for example because they are defined in the same compilation unit.

    Definition Classes
    CompilationUnitDependencies
  70. def enclosingPackage(tree: nsc.interactive.Global.Tree, pos: nsc.interactive.Global.Position): nsc.interactive.Global.Tree

    Definition Classes
    CompilerApiExtensions
  71. def endPositionAtEndOfSourceFile(pos: nsc.interactive.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.

    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
  72. final def eq(arg0: AnyRef): Boolean

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

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

    Definition Classes
    PimpedTrees
  75. def escapeScalaKeywordsForImport(n: nsc.interactive.Global.Name): String

    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
  76. def fail[X]: T[X, X]

    Always fails, independent of the input.

    Always fails, independent of the input.

    Definition Classes
    Transformations
  77. def filter(f: PartialFunction[nsc.interactive.Global.Tree, Boolean]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

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

    Definition Classes
    TreeTraverser
  79. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  80. def findAllChangedTrees(t: nsc.interactive.Global.Tree): List[(nsc.interactive.Global.Tree, nsc.interactive.Global.Position, Set[nsc.interactive.Global.Tree])]

    Starting from a root tree, returns all children that have changed.

    Starting from a root tree, returns all children that have changed. The format of the result is a tuple of a top-level tree, a position of the range that should be replaced and a set of all trees that changed in the context of that top-level tree, including the top-level tree.

    Definition Classes
    TreeChangesDiscoverer
  81. val findAllTreesWithTheSamePosition: (nsc.interactive.Global.Tree) ⇒ Iterable[nsc.interactive.Global.Tree]

    Definition Classes
    PimpedTrees
  82. val findBestPackageForImports: T[nsc.interactive.Global.Tree, (nsc.interactive.Global.PackageDef, List[nsc.interactive.Global.Import], List[nsc.interactive.Global.Tree])]

    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
  83. def findDeepestNeededSelect(t: nsc.interactive.Global.Tree): Option[nsc.interactive.Global.Select]

    Finds the last "visible" (with a range position) select in some tree selection.

    Finds the last "visible" (with a range position) select in some tree selection.

    Selects are usually only partly written down in source code (except when we write down the full name to some identifier), so there exists a select at which the tree turns from being visible to being invisible. We need to find this tree to determine whether we need do make an import with the minimally required path.

    This function also already filters trees that we don't need to import, e.g. from the Predef or the scala package.

    Definition Classes
    CompilationUnitDependencies
  84. def findOriginalTree: (nsc.interactive.Global.Tree) ⇒ Option[nsc.interactive.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.

    Definition Classes
    PimpedTrees
  85. def findSymbolForImportSelector(expr: nsc.interactive.Global.Tree, name: nsc.interactive.Global.Name): Option[nsc.interactive.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.

    Definition Classes
    PimpedTrees
  86. def findTopLevelTrees(ts: List[nsc.interactive.Global.Tree]): collection.immutable.List[nsc.interactive.Global.Tree]

    Definition Classes
    TreeChangesDiscoverer
  87. def findUnusedImports(unit: nsc.interactive.Global.CompilationUnit): List[(String, Int)]

    Definition Classes
    UnusedImportsFinder
  88. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  89. def hasUnitType(t: nsc.interactive.Global.Tree): Boolean

    True if the tree's type is Unit

    True if the tree's type is Unit

    Definition Classes
    TreeExtractors
  90. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  91. def id[X]: T[X, X]

    Definition Classes
    Transformations
  92. def importSelectorImportsFromNeededPackageObject(unit: nsc.interactive.Global.CompilationUnit, t: nsc.interactive.Global.Tree): Boolean

    Definition Classes
    UnusedImportsFinder
  93. def indentation(implicit ctx: PrintingContext): String

    Definition Classes
    CommonPrintUtils
  94. def indentationString(tree: nsc.Global.Tree): String

    Definition Classes
    Indentations
  95. def indentedNewline(implicit ctx: PrintingContext): Requisite { def getLayout: scala.tools.refactoring.sourcegen.Layout{val asText: String} }

    Definition Classes
    CommonPrintUtils
  96. def isClassTag(c: nsc.interactive.Global.Constant): Boolean

    Definition Classes
    PimpedTrees
  97. def isEmptyTree(t: nsc.interactive.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.

    Definition Classes
    PimpedTrees
  98. def isImportReallyNeeded(t: nsc.interactive.Global.Select): Boolean

    Helper function to filter out trees that we don't need to import, for example because they come from Predef.

    Helper function to filter out trees that we don't need to import, for example because they come from Predef.

    Definition Classes
    CompilationUnitDependencies
  99. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  100. def isQualifierDefaultImported(t: nsc.interactive.Global.Tree): Boolean

    Definition Classes
    CompilationUnitDependencies
  101. def isWildcardImportNeeded(dependentModules: List[nsc.interactive.Global.Symbol], expr: nsc.interactive.Global.Tree): Boolean

    Definition Classes
    UnusedImportsFinder
  102. def keepTree(t: nsc.interactive.Global.Tree): Boolean

    Definition Classes
    PimpedTrees
  103. def layout(start: Int, end: Int)(implicit s: SourceFile): LayoutFromFile

    Definition Classes
    LayoutHelper
  104. def layoutForCompilationUnitRoot(t: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  105. def layoutForEnclosedChild(t: nsc.interactive.Global.Tree, left: nsc.interactive.Global.Tree, right: nsc.interactive.Global.Tree, parent: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  106. def layoutForLeftOuterChild(t: nsc.interactive.Global.Tree, parent: nsc.interactive.Global.Tree, right: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  107. def layoutForRightOuterChild(t: nsc.interactive.Global.Tree, parent: nsc.interactive.Global.Tree, left: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  108. def layoutForSingleChild(t: nsc.interactive.Global.Tree, p: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  109. def leadingLayoutForTree(t: nsc.interactive.Global.Tree): Layout

    Definition Classes
    LayoutHelper
  110. def locateIn(tree: nsc.interactive.Global.Tree, pos: nsc.interactive.Global.Position, p: (nsc.interactive.Global.Tree) ⇒ Boolean = t => true): nsc.interactive.Global.Tree

    Locate the smallest tree that encloses position.

    Locate the smallest tree that encloses position.

    tree

    The tree in which to search pos

    pos

    The position to look for

    p

    An additional condition to be satisfied by the resulting tree

    returns

    The innermost enclosing tree for which p is true, or EmptyTree if the position could not be found.

    Definition Classes
    CompilerApiExtensions
  111. def matchingChildren(t: T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    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
  112. def mkApply(mods: nsc.interactive.Global.Modifiers = NoMods, parameters: List[List[nsc.interactive.Global.Symbol]] = Nil :: Nil, body: List[nsc.interactive.Global.Tree], typeParameters: List[nsc.interactive.Global.TypeDef] = Nil): nsc.interactive.Global.DefDef

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

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

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

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

    Definition Classes
    TreeFactory
  117. def mkCanEqual(classSymbol: nsc.interactive.Global.Symbol): nsc.interactive.Global.DefDef

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

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

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

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

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

    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
  123. def mkFunctionCallWithZeroArgFunctionArgument(selector: nsc.interactive.Global.Tree, fun: String, body: nsc.interactive.Global.Tree): nsc.interactive.Global.Tree

    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
  124. def mkHashcode(classSymbol: nsc.interactive.Global.Symbol, classParamsForHashcode: List[nsc.interactive.Global.ValDef], callSuper: Boolean, prime: Int = 41): nsc.interactive.Global.DefDef

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

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

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

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

    Definition Classes
    TreeFactory
  129. def mkRenamedImportTree(t: ImportSelectorTree, name: String): ImportSelectorTree

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

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

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

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

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

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

    Definition Classes
    AnyRef
  136. def neededImportSelector(unit: nsc.interactive.Global.CompilationUnit, expr: nsc.interactive.Global.Tree, s: nsc.interactive.Global.ImportSelector): Boolean

    Definition Classes
    UnusedImportsFinder
  137. def neededImports(t: nsc.interactive.Global.Tree): List[nsc.interactive.Global.Select]

    Calculates a list of all needed imports for the given Tree.

    Calculates a list of all needed imports for the given Tree.

    Definition Classes
    CompilationUnitDependencies
  138. def newline(implicit ctx: PrintingContext): Requisite { def getLayout: scala.tools.refactoring.sourcegen.Layout{val asText: String} }

    Definition Classes
    CommonPrintUtils
  139. def newlineIndentedToChildren(implicit ctx: PrintingContext): Requisite { def getLayout: scala.tools.refactoring.sourcegen.Layout{val asText: String} }

    Definition Classes
    CommonPrintUtils
  140. def not[X](t: ⇒ T[X, X]): Transformation[X, X]

    Definition Classes
    Transformations
  141. final def notify(): Unit

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

    Definition Classes
    AnyRef
  143. def once[X <: AnyRef](t: T[X, X]): T[X, X]

    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
  144. val originalLeftSibling: (nsc.interactive.Global.Tree) ⇒ Option[nsc.interactive.Global.Tree]

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

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

    Definition Classes
    PimpedTrees
  147. def perform(selection: Selection, prepared: PreparationResult, params: RefactoringParameters): Either[RefactoringError, List[Change]]

    Definition Classes
    OrganizeImportsMultiStageRefactoring
  148. def postorder(t: ⇒ T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Definition Classes
    Transformations
  149. lazy val precedence: (nsc.interactive.Global.Name) ⇒ Int

    Definition Classes
    CommonPrintUtils
  150. def predicate[X](f: (X) ⇒ Boolean): T[X, X]

    Definition Classes
    Transformations
  151. def predicate[X](f: PartialFunction[X, Boolean]): T[X, X]

    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
  152. def preorder(t: ⇒ T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Definition Classes
    Transformations
  153. def prepare(s: Selection): Either[PreparationError, PreparationResult]

    Definition Classes
    OrganizeImportsMultiStageRefactoring
  154. object prettyPrinter extends (PrettyPrinter.this)#TreePrinting with (PrettyPrinter.this)#PrintingUtils with (PrettyPrinter.this)#MiscPrinters with (PrettyPrinter.this)#MethodCallPrinters with (PrettyPrinter.this)#WhilePrinters with (PrettyPrinter.this)#PatternMatchingPrinters with (PrettyPrinter.this)#TypePrinters with (PrettyPrinter.this)#FunctionPrinters with (PrettyPrinter.this)#ImportPrinters with (PrettyPrinter.this)#PackagePrinters with (PrettyPrinter.this)#TryThrowPrinters with (PrettyPrinter.this)#ClassModulePrinters with (PrettyPrinter.this)#IfPrinters with (PrettyPrinter.this)#ValDefDefPrinters with (PrettyPrinter.this)#SuperPrinters with (PrettyPrinter.this)#BlockPrinters with (PrettyPrinter.this)#LiteralPrinters

    Definition Classes
    PrettyPrinter
  155. def print(t: nsc.interactive.Global.Tree, ctx: PrintingContext): Fragment

    Definition Classes
    SourceGeneratorAbstractPrinter
  156. def refactor(changed: List[nsc.interactive.Global.Tree]): List[TextChange]

    Creates a list of changes from a list of (potentially changed) trees.

    Creates a list of changes from a list of (potentially changed) trees.

    returns

    A list of changes that can be applied to the source file.

    Definition Classes
    Refactoring
  157. def replaceTree(from: nsc.interactive.Global.Tree, to: nsc.interactive.Global.Tree): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Definition Classes
    TreeTransformations
  158. object reusingPrinter extends (ReusingPrinter.this)#TreePrinting with (ReusingPrinter.this)#PrintingUtils with (ReusingPrinter.this)#MiscPrinters with (ReusingPrinter.this)#MethodCallPrinters with (ReusingPrinter.this)#WhilePrinters with (ReusingPrinter.this)#PatternMatchingPrinters with (ReusingPrinter.this)#TypePrinters with (ReusingPrinter.this)#FunctionPrinters with (ReusingPrinter.this)#ImportPrinters with (ReusingPrinter.this)#PackagePrinters with (ReusingPrinter.this)#TryThrowPrinters with (ReusingPrinter.this)#ClassModulePrinters with (ReusingPrinter.this)#IfPrinters with (ReusingPrinter.this)#ValDefDefPrinters with (ReusingPrinter.this)#SuperPrinters with (ReusingPrinter.this)#BlockPrinters with (ReusingPrinter.this)#LiteralPrinters

    Definition Classes
    ReusingPrinter
  159. val setNoPosition: T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

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

    Definition Classes
    TreeTransformations
  161. def skipForExpressionTrees(t: nsc.interactive.Global.Tree): nsc.interactive.Global.Tree

    Definition Classes
    Selections
  162. def spacingAroundMultipleImports: String

    The characters that surround an import with multiple import selectors inside the braces:

    The characters that surround an import with multiple import selectors inside the braces:

    import a.{*name*}

    Definition Classes
    Formatting
  163. def splitLayoutBetweenLastChildAndParent(child: nsc.interactive.Global.Tree, parent: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  164. def splitLayoutBetweenParentAndFirstChild(child: nsc.interactive.Global.Tree, parent: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  165. def splitLayoutBetweenSiblings(parent: nsc.interactive.Global.Tree, left: nsc.interactive.Global.Tree, right: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  166. def succeed[X]: T[X, X]

    Always succeeds and returns the input unchanged.

    Always succeeds and returns the input unchanged.

    Definition Classes
    Transformations
  167. def surroundingLayoutFromParentsAndSiblings(t: nsc.interactive.Global.Tree): (Layout, Layout)

    Definition Classes
    LayoutHelper
  168. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  169. def toString(): String

    Definition Classes
    AnyRef → Any
  170. def topPackageDef(t: nsc.interactive.Global.PackageDef): nsc.interactive.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.

    Definition Classes
    PimpedTrees
  171. def topdown(t: ⇒ T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Definition Classes
    Transformations
  172. def trace(msg: ⇒ String): Unit

    Definition Classes
    SilentTracingTracing
    Annotations
    @inline()
  173. def trace(msg: ⇒ String, arg1: ⇒ Any, args: Any*): Unit

    Definition Classes
    SilentTracingTracing
    Annotations
    @inline()
  174. def trailingLayoutForTree(t: nsc.interactive.Global.Tree): Layout

    Definition Classes
    LayoutHelper
  175. def transform(f: PartialFunction[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Definition Classes
    TreeTransformations
  176. def transformFile(file: AbstractFile, transformations: List[Transformation[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]]): List[TextChange]

    Creates changes by applying several transformations to the root tree of an abstract file.

    Creates changes by applying several transformations to the root tree of an abstract file. Each transformation creates a new root tree that is used as input of the next transformation.

    Definition Classes
    Refactoring
  177. def transformFile(file: AbstractFile, transformation: Transformation[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): List[TextChange]

    Creates changes by applying a transformation to the root tree of an abstract file.

    Creates changes by applying a transformation to the root tree of an abstract file.

    Definition Classes
    Refactoring
  178. def transformation[X, Y](f: PartialFunction[X, Y]): T[X, Y]

    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
  179. def traverse(tree: nsc.interactive.Global.Tree, f: (nsc.interactive.Global.Tree) ⇒ nsc.interactive.Global.Tree): nsc.interactive.Global.Tree

    Definition Classes
    TreeTransformationsTransformations
  180. def traverseAndTransformAll(t: ⇒ T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    Definition Classes
    Transformations
  181. def typeToString(tree: nsc.interactive.Global.TypeTree, t: nsc.interactive.Global.Type)(implicit ctx: PrintingContext): String

    Definition Classes
    CommonPrintUtils
  182. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  185. def wildcardImport(i: nsc.interactive.Global.ImportSelector): Boolean

    Definition Classes
    UnusedImportsFinder
  186. def (t: ⇒ T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    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
  187. def (t: ⇒ T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]): T[nsc.interactive.Global.Tree, nsc.interactive.Global.Tree]

    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

    Definition Classes
    PimpedTrees
    Annotations
    @deprecated
    Deprecated

    (Since version 0.5.0) Use PlainText objects and its components

Inherited from TreeExtractors

Inherited from InteractiveScalaCompiler

Inherited from CompilerApiAdapters

Inherited from CompilerApiExtensions

Inherited from UnusedImportsFinder

Inherited from CompilerAccess

Inherited from MultiStageRefactoring

Inherited from Refactoring

Inherited from SourceGenerator

Inherited from TreeChangesDiscoverer

Inherited from Formatting

Inherited from LayoutHelper

Inherited from ReusingPrinter

Inherited from Indentations

Inherited from PrettyPrinter

Inherited from AbstractPrinter

Inherited from CommonPrintUtils

Inherited from TreePrintingTraversals

Inherited from SilentTracing

Inherited from Tracing

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