Class

scala.tools.refactoring.implementations.extraction

ExtractCode

Related Doc: package extraction

Permalink

abstract class ExtractCode extends MultiStageRefactoring with ExtractionRefactoring with AutoExtractions

General extraction refactoring that proposes different concrete extractions based on the current selection.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ExtractCode
  2. AutoExtractions
  3. ParameterExtractions
  4. ExtractorExtractions
  5. ValueExtractions
  6. MethodExtractions
  7. ImportAnalysis
  8. ExtractionRefactoring
  9. Extractions
  10. InsertionPositions
  11. TransformableSelections
  12. ScopeAnalysis
  13. CompilerAccess
  14. MultiStageRefactoring
  15. Refactoring
  16. SourceGenerator
  17. TreeChangesDiscoverer
  18. Formatting
  19. LayoutHelper
  20. ReusingPrinter
  21. CompilerApiAdapters
  22. Indentations
  23. PrettyPrinter
  24. AbstractPrinter
  25. CommonPrintUtils
  26. TreePrintingTraversals
  27. TreeTransformations
  28. TreeFactory
  29. Transformations
  30. Selections
  31. EnrichedTrees
  32. TreeTraverser
  33. SilentTracing
  34. Tracing
  35. AnyRef
  36. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExtractCode()

    Permalink

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. trait BlockPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  4. case class CasePatternExtraction(caseDef: nsc.Global.CaseDef, extractionSource: ExtractorExtractions.Selection, extractionTarget: ExtractorExtractions.ExtractionTarget, abstractionName: String = "Extracted") extends ExtractorExtraction with Product with Serializable

    Permalink

    Extracts an extractor based on a CaseDef.

    Extracts an extractor based on a CaseDef. Reuses its pattern and guard.

    Definition Classes
    ExtractorExtractions
  5. trait ChangeSet extends AnyRef

    Permalink
    Definition Classes
    AbstractPrinter
  6. trait ClassModulePrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  7. implicit class CopyTypeFromOtherTree extends AnyRef

    Permalink
    Definition Classes
    TreeFactory
  8. implicit class DefDefMethods extends AnyRef

    Permalink
    Definition Classes
    EnrichedTrees
  9. type ErrorMsg = String

    Permalink
    Definition Classes
    Extractions
  10. case class ExplicitImport(imp: nsc.Global.Import, selector: nsc.Global.ImportSelector, enclosing: nsc.Global.Tree, children: List[ImportTree]) extends ImportTree with Product with Serializable

    Permalink
    Definition Classes
    ImportAnalysis
  11. trait Extraction extends AnyRef

    Permalink

    A concrete and applicable extraction.

    A concrete and applicable extraction.

    Definition Classes
    Extractions
  12. trait ExtractionCollector[+E <: Extraction] extends AnyRef

    Permalink
    Definition Classes
    Extractions
  13. case class ExtractionTarget(scope: Extractions.ScopeTree, enclosing: nsc.Global.Tree, ip: Extractions.InsertionPosition) extends Product with Serializable

    Permalink

    Represents a target for extractions with the according scope for dependency lookups.

    Represents a target for extractions with the according scope for dependency lookups.

    Definition Classes
    Extractions
  14. sealed trait ExtractorExtraction extends Extraction

    Permalink

    Base trait of extractor extractions.

    Base trait of extractor extractions. Allows to create different extractors based on the selected pattern.

    Definition Classes
    ExtractorExtractions
  15. 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
  16. class FilterTreeTraverser extends nsc.Global.FilterTreeTraverser with (TreeTraverser.this)#Traverser with (TreeTraverser.this)#TraversalInstrumentation

    Permalink
    Definition Classes
    TreeTraverser
  17. trait FunctionPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  18. trait IfPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  19. trait ImportPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  20. case class ImportSelectorTree(name: (EnrichedTrees.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
    EnrichedTrees
  21. 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
    EnrichedTrees
  22. sealed trait ImportTree extends Traversable[ImportTree]

    Permalink

    Import trees represents a set of import statements and allows queries to determine if a symbol is imported at a certain position.

    Import trees represents a set of import statements and allows queries to determine if a symbol is imported at a certain position.

    Import trees are constructed with ImportTree.build().

    Definition Classes
    ImportAnalysis
  23. class Indentation extends AnyRef

    Permalink
    Definition Classes
    Indentations
  24. 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.

    A concrete position for tree insertions.

    Definition Classes
    InsertionPositions
  25. type InsertionPosition = PartialFunction[nsc.Global.Tree, 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.

    Definition Classes
    InsertionPositions
  26. trait LiteralPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  27. case class LocalScope(enclosing: nsc.Global.Tree, decls: List[nsc.Global.DefTree], outerScope: Option[ScopeTree], knownSymbols: List[nsc.Global.Symbol] = Nil) extends ScopeTree with Product with Serializable

    Permalink

    Declarations of values and types that are not class members are transformed to LocalScopes.

    Declarations of values and types that are not class members are transformed to LocalScopes. This also includes parameter lists and bindings in case statements.

    One LocalScope can also represent more than one declaration if it is constructed from parameter lists or bindings.

    Definition Classes
    ScopeAnalysis
  28. case class MemberScope(enclosing: nsc.Global.Tree, outerScope: Option[ScopeTree], knownSymbols: List[nsc.Global.Symbol] = Nil) extends ScopeTree with Product with Serializable

    Permalink

    Traits, classes, objects and packages are transformed to MemberScopes.

    Traits, classes, objects and packages are transformed to MemberScopes.

    MemberScopes are not structure sensitive. Therefore a member is also visible at positions before its definition.

    Definition Classes
    ScopeAnalysis
  29. trait MethodCallPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  30. case class MethodExtraction(extractionSource: MethodExtractions.Selection, extractionTarget: MethodExtractions.ExtractionTarget, abstractionName: String) extends Extraction with Product with Serializable

    Permalink
    Definition Classes
    MethodExtractions
  31. trait MiscPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  32. 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
    EnrichedTrees
  33. 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
    EnrichedTrees
  34. 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
    EnrichedTrees
  35. case class NamedArgument(nameTree: (EnrichedTrees.this)#NameTree, rhs: nsc.Global.Tree) extends nsc.Global.SymTree with nsc.Global.RefTree with Product with Serializable

    Permalink
    Definition Classes
    EnrichedTrees
  36. class NotInstanceOf[T] extends AnyRef

    Permalink
    Definition Classes
    EnrichedTrees
  37. trait PackagePrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  38. case class ParameterExtraction(extractionSource: ParameterExtractions.Selection, extractionTarget: ParameterExtractions.ExtractionTarget, abstractionName: String) extends Extraction with Product with Serializable

    Permalink
    Definition Classes
    ParameterExtractions
  39. case class PatternExtraction(pattern: nsc.Global.Tree, extractionSource: ExtractorExtractions.Selection, extractionTarget: ExtractorExtractions.ExtractionTarget, abstractionName: String = "Extracted") extends ExtractorExtraction with Product with Serializable

    Permalink

    Extracts an extractor based on a pattern.

    Extracts an extractor based on a pattern.

    Definition Classes
    ExtractorExtractions
  40. trait PatternMatchingPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  41. 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
    EnrichedTrees
  42. trait PlainTraversals extends nsc.Global.Traverser

    Permalink
    Attributes
    protected
    Definition Classes
    TreeTraverser
  43. case class PreparationError(cause: String) extends Product with Serializable

    Permalink
    Definition Classes
    MultiStageRefactoring
  44. case class PreparationResult(extractions: List[ExtractionRefactoring.Extraction]) extends Product with Serializable

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

    Permalink

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

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

    Definition Classes
    AbstractPrinter
  46. trait PrintingUtils extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  47. case class RefactoringError(cause: String) extends Product with Serializable

    Permalink
    Definition Classes
    MultiStageRefactoring
  48. type RefactoringParameters = Extraction

    Permalink

    Refactorings are parameterized by the user, and to keep them stateless, the result of the preparation step needs to be passed to the perform method.

    Refactorings are parameterized by the user, and to keep them stateless, the result of the preparation step needs to be passed to the perform method.

    The result can either be an error or a list of trees that contain changes.

    Definition Classes
    ExtractionRefactoringMultiStageRefactoring
  49. implicit class RichModifiers extends AnyRef

    Permalink
    Definition Classes
    EnrichedTrees
  50. case class Root(enclosing: nsc.Global.Tree, chs: List[ImportTree]) extends ImportTree with Product with Serializable

    Permalink
    Definition Classes
    ImportAnalysis
  51. sealed trait ScopeTree extends AnyRef

    Permalink

    Definition Classes
    ScopeAnalysis
  52. trait Selection extends AnyRef

    Permalink
    Definition Classes
    Selections
  53. implicit class SelectionDependentInsertionPoints extends AnyRef

    Permalink
    Definition Classes
    InsertionPositions
  54. case class SelfTypeTree(name: (EnrichedTrees.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
    EnrichedTrees
  55. 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
    EnrichedTrees
  56. trait SuperPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  57. class TemplateMethods extends AnyRef

    Permalink
    Definition Classes
    EnrichedTrees
  58. abstract class TraceAndReturn[T] extends AnyRef

    Permalink
    Attributes
    protected
    Definition Classes
    Tracing
  59. implicit class TransformableSelection extends AnyRef

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

    Permalink
    Definition Classes
    Transformations
  61. type TraversalInstrumentation = PlainTraversals

    Permalink

    Use TraversalTracing for debugging and PlainTraversals for production

    Use TraversalTracing for debugging and PlainTraversals for production

    Attributes
    protected
    Definition Classes
    TreeTraverser
  62. trait TraversalTracing extends nsc.Global.Traverser

    Permalink
    Attributes
    protected
    Definition Classes
    TreeTraverser
  63. 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
  64. trait TraverserWithFakedTrees extends nsc.Global.Traverser with (TreeTraverser.this)#TraversalInstrumentation

    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
  65. 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
    EnrichedTrees
  66. trait TreePrinting extends AnyRef

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

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

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

    Permalink
    Definition Classes
    TreeTraverser
  70. trait TryThrowPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  71. trait TypePrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  72. trait ValDefDefPrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  73. case class ValueExtraction(extractionSource: ValueExtractions.Selection, extractionTarget: ValueExtractions.ExtractionTarget, abstractionName: String) extends Extraction with Product with Serializable

    Permalink
    Definition Classes
    ValueExtractions
  74. trait WhilePrinters extends AnyRef

    Permalink
    Definition Classes
    ReusingPrinter
  75. case class WildcardImport(imp: nsc.Global.Import, enclosing: nsc.Global.Tree, children: List[ImportTree]) extends ImportTree with Product with Serializable

    Permalink
    Definition Classes
    ImportAnalysis
  76. 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
    EnrichedTrees
    Annotations
    @deprecated
    Deprecated

    (Since version 0.5.0) Use PlainText objects and its components

Abstract Value Members

  1. abstract def compilationUnitOfFile(f: AbstractFile): Option[nsc.Global.CompilationUnit]

    Permalink
    Definition Classes
    CompilerAccess
  2. abstract val global: Global

    Permalink
    Definition Classes
    CompilerAccess

Concrete Value Members

  1. def ![X](t: ⇒ T[X, X]): 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 AllTreesHaveChanged extends (SourceGenerator.this)#ChangeSet

    Permalink
    Definition Classes
    SourceGenerator
  6. object ApplyExtractor

    Permalink

    Extracts information from ApplyNodes

    Extracts information from ApplyNodes

    The main feature of this extractor is that reverses the desugarings the compiler performs for named arguments by creating scala.tools.refactoring.common.EnrichedTrees.NamedArgument instances as necessary. Apart from that, this object is meant to mimic the regular scala.reflect.api.Trees.ApplyExtractor.

    Definition Classes
    EnrichedTrees
  7. object AutoExtraction extends ExtractionCollector[Extraction]

    Permalink

    Proposes different kinds of extractions.

    Proposes different kinds of extractions.

    Definition Classes
    AutoExtractions
  8. 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.

    Note that this extractor is needed primarily for tree printing. The rename refactoring for example, that doesn't use tree printing, would work with

    object BlockExtractor {
      def unapply(t: Block) = {
        Some(t.expr :: t.stats)
      }
    }

    as well.

    Definition Classes
    EnrichedTrees
  9. object ExtractorExtraction extends ExtractionCollector[ExtractorExtraction]

    Permalink
    Definition Classes
    ExtractorExtractions
  10. object FileSelection extends Serializable

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

    Permalink
    Definition Classes
    TreeFactory
  12. object MethodExtraction extends ExtractionCollector[MethodExtraction] with Serializable

    Permalink
    Definition Classes
    MethodExtractions
  13. 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
    EnrichedTrees
  14. object NameTree extends Serializable

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

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

    Permalink
    Definition Classes
    EnrichedTrees
  17. object NoImportSelectorTree extends (EnrichedTrees.this)#NotInstanceOf[(EnrichedTrees.this)#ImportSelectorTree]

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

    Permalink
    Definition Classes
    EnrichedTrees
  19. object ParameterExtraction extends ExtractionCollector[ParameterExtraction] with Serializable

    Permalink
    Definition Classes
    ParameterExtractions
  20. object PlainText

    Permalink
    Definition Classes
    EnrichedTrees
  21. object ScopeTree

    Permalink
    Definition Classes
    ScopeAnalysis
  22. 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
    EnrichedTrees
  23. 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
    EnrichedTrees
  24. object ValueExtraction extends ExtractionCollector[ValueExtraction] with Serializable

    Permalink
    Definition Classes
    ValueExtractions
  25. def abstractFileToTree(file: AbstractFile): nsc.Global.Tree

    Permalink
    Definition Classes
    TreeTransformations
  26. def addImportTransformation(importsToAdd: Seq[String]): Transformation[nsc.Global.Tree, TextChange]

    Permalink
    Definition Classes
    TreeTransformations
  27. implicit def additionalTemplateMethods(t: nsc.Global.Template): TemplateMethods

    Permalink
    Definition Classes
    EnrichedTrees
  28. implicit def additionalTreeMethodsForPositions(t: nsc.Global.Tree): TreeMethodsForPositions

    Permalink
    Definition Classes
    EnrichedTrees
  29. def adjustedStartPosForSourceExtraction(t: nsc.Global.Tree, p: nsc.Global.Position): nsc.Global.Position

    Permalink

    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
  30. def allChildren(t: ⇒ T[nsc.Global.Tree, nsc.Global.Tree]): 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
  31. 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
    EnrichedTrees
  32. def annotationInfoTree(info: nsc.Global.AnnotationInfo): nsc.Global.Tree

    Permalink
    Definition Classes
    CompilerApiAdapters
  33. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  34. 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
    EnrichedTrees
  35. lazy val atBeginningOfCaseBody: InsertionPosition

    Permalink

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

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

    Definition Classes
    InsertionPositions
  36. lazy val atBeginningOfNewBlockInRhsOfVal: 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 }

    Definition Classes
    InsertionPositions
  37. lazy val atBeginningOfNewDefBody: InsertionPosition

    Permalink

    Inserts trees as the first statement in a method body.

    Inserts trees as the first statement in a method body.

    Definition Classes
    InsertionPositions
  38. lazy val atBeginningOfNewFunctionBody: 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.

    Definition Classes
    InsertionPositions
  39. lazy val atEndOfArgumentList: InsertionPosition

    Permalink

    Inserts a tree at the end of an argument list.

    Inserts a tree at the end of an argument list.

    Definition Classes
    InsertionPositions
  40. lazy val atEndOfValueParameterList: InsertionPosition

    Permalink

    Inserts ValDef trees at the end of a parameter list.

    Inserts ValDef trees at the end of a parameter list.

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

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

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

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

    Permalink
    Definition Classes
    LayoutHelper
  45. def betweenPointAndEnd(t1: nsc.Global.Tree): LayoutFromFile

    Permalink
    Definition Classes
    LayoutHelper
  46. def betweenStartAndEnd(t1: nsc.Global.Tree): LayoutFromFile

    Permalink
    Definition Classes
    LayoutHelper
  47. def betweenStartAndPoint(t1: nsc.Global.Tree): LayoutFromFile

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

    Permalink
    Definition Classes
    Transformations
  49. def buildImportTree(root: nsc.Global.Tree): ImportTree

    Permalink

    Creates an ImportTree over all import statements in root.

    Creates an ImportTree over all import statements in root.

    Definition Classes
    ImportAnalysis
  50. 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
    EnrichedTrees
  51. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. val collector: AutoExtraction.type

    Permalink
    Definition Classes
    ExtractCodeExtractionRefactoring
  53. def constant(y: nsc.Global.Tree): 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
  54. def context[T](name: String)(body: ⇒ T): T

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

    Permalink

    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
  56. def createFragment(t: nsc.Global.Tree): Fragment

    Permalink

    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
  57. def createText(t: nsc.Global.Tree, sourceFile: Option[SourceFile] = None): String

    Permalink

    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
  58. def defaultIndentationStep: String

    Permalink

    The characters that are used to indent changed code.

    The characters that are used to indent changed code.

    Definition Classes
    Formatting
  59. def dropScalaPackage: Boolean

    Permalink

    If set to true printer of import should drop scala. prefix:

    If set to true printer of import should drop scala. prefix:

    import scala.util.Try should be printed as

    import util.Try

    Definition Classes
    Formatting
  60. 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
    EnrichedTrees
  61. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    EnrichedTrees
  64. 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
    EnrichedTrees
  65. def fail[X]: T[X, X]

    Permalink

    Always fails, independent of the input.

    Always fails, independent of the input.

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

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

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

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

    Permalink

    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
  70. val findAllTreesWithTheSamePosition: (nsc.Global.Tree) ⇒ Iterable[nsc.Global.Tree]

    Permalink
    Definition Classes
    EnrichedTrees
  71. val findBestPackageForImports: 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
  72. 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
    EnrichedTrees
  73. 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
    EnrichedTrees
  74. def findTopLevelTrees(ts: List[nsc.Global.Tree]): collection.immutable.List[nsc.Global.Tree]

    Permalink
    Definition Classes
    TreeChangesDiscoverer
  75. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Transformations
  78. def indentation(implicit ctx: PrintingContext): String

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

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

    Permalink
    Definition Classes
    CommonPrintUtils
  81. def isClassTag(c: nsc.Global.Constant): Boolean

    Permalink
    Definition Classes
    EnrichedTrees
  82. 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
    EnrichedTrees
  83. def isImplementationArtifact(sym: nsc.Global.Symbol): Boolean

    Permalink
    Definition Classes
    CompilerApiAdapters
  84. final def isInstanceOf[T0]: Boolean

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

    Permalink
    Definition Classes
    InsertionPositions
  86. def keepTree(t: nsc.Global.Tree): Boolean

    Permalink
    Definition Classes
    EnrichedTrees
  87. def layout(start: Int, end: Int)(implicit s: SourceFile): LayoutFromFile

    Permalink
    Definition Classes
    LayoutHelper
  88. def layoutForCompilationUnitRoot(t: nsc.Global.Tree): (Layout, Layout)

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

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

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

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

    Permalink
    Definition Classes
    LayoutHelper
  93. def leadingLayoutForTree(t: nsc.Global.Tree): Layout

    Permalink
    Definition Classes
    LayoutHelper
  94. def matchingChildren(t: T[nsc.Global.Tree, nsc.Global.Tree]): 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
  95. 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
  96. def mkAssignmentToCall(call: nsc.Global.Tree, returns: List[nsc.Global.Symbol]): nsc.Global.Tree

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

    Permalink
    Definition Classes
    TreeFactory
  98. 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
  99. def mkCallValDef(name: String, returns: List[nsc.Global.Symbol] = Nil): nsc.Global.Tree

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

    Permalink
    Definition Classes
    TreeFactory
  101. 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
  102. 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
  103. 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
  104. def mkEquals(classSymbol: nsc.Global.Symbol, classParamsForEqual: List[nsc.Global.ValDef], callSuper: Boolean): nsc.Global.DefDef

    Permalink
    Definition Classes
    TreeFactory
  105. 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
  106. 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
  107. def mkHashcode(classSymbol: nsc.Global.Symbol, classParamsForHashcode: List[nsc.Global.ValDef], callSuper: Boolean, prime: Int = 41): nsc.Global.DefDef

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

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

    Permalink
    Definition Classes
    TreeFactory
  110. 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
  111. def mkParam(name: String, tpe: nsc.Global.Type, defaultVal: nsc.Global.Tree = EmptyTree): nsc.Global.ValDef

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

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

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

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

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

    Permalink
    Definition Classes
    TreeFactory
  117. 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
  118. final def ne(arg0: AnyRef): Boolean

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  124. def once[X <: AnyRef](t: T[X, X]): 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
  125. val originalLeftSibling: (nsc.Global.Tree) ⇒ Option[nsc.Global.Tree]

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

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

    Permalink
    Definition Classes
    EnrichedTrees
  128. def perform(s: Selection, prepared: PreparationResult, extraction: RefactoringParameters): util.Right[Nothing, List[TextChange]]

    Permalink
  129. def perform(selectedExtraction: Extraction): util.Right[Nothing, List[TextChange]]

    Permalink
    Definition Classes
    ExtractionRefactoring
  130. def postorder(t: ⇒ T[nsc.Global.Tree, nsc.Global.Tree]): T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    Transformations
  131. lazy val precedence: (nsc.Global.Name) ⇒ Int

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

    Permalink
    Definition Classes
    Transformations
  133. def predicate[X](f: PartialFunction[X, Boolean]): 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
  134. def preorder(t: ⇒ T[nsc.Global.Tree, nsc.Global.Tree]): T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    Transformations
  135. def prepare(s: Selection): Product with Serializable with util.Either[PreparationError, PreparationResult]

    Permalink
  136. 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

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

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

    Permalink

    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
  139. def replaceTree(from: nsc.Global.Tree, to: nsc.Global.Tree): T[nsc.Global.Tree, nsc.Global.Tree]

    Permalink
    Definition Classes
    TreeTransformations
  140. 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

    Permalink
    Definition Classes
    ReusingPrinter
  141. val setNoPosition: T[nsc.Global.Tree, nsc.Global.Tree]

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

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

    Permalink
    Definition Classes
    Selections
  144. def spacingAroundMultipleImports: String

    Permalink

    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
  145. def splitLayoutBetweenLastChildAndParent(child: nsc.Global.Tree, parent: nsc.Global.Tree): (Layout, Layout)

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

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

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

    Permalink

    Always succeeds and returns the input unchanged.

    Always succeeds and returns the input unchanged.

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  152. 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
    EnrichedTrees
  153. def topdown(t: ⇒ T[nsc.Global.Tree, nsc.Global.Tree]): T[nsc.Global.Tree, nsc.Global.Tree]

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

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

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

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

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

    Permalink

    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
  159. def transformFile(file: AbstractFile, transformation: Transformation[nsc.Global.Tree, nsc.Global.Tree]): List[TextChange]

    Permalink

    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
  160. def transformation[X, Y](f: PartialFunction[X, Y]): 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
  161. def traverse(tree: nsc.Global.Tree, f: (nsc.Global.Tree) ⇒ nsc.Global.Tree): nsc.Global.Tree

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

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

    Permalink
    Definition Classes
    CommonPrintUtils
  164. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  167. implicit final def wrapInTraceAndReturn[T](t: T): TraceAndReturn[T]

    Permalink
    Attributes
    protected
    Definition Classes
    SilentTracingTracing
  168. def (t: ⇒ T[nsc.Global.Tree, nsc.Global.Tree]): 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
  169. def (t: ⇒ T[nsc.Global.Tree, nsc.Global.Tree]): 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
    EnrichedTrees
    Annotations
    @deprecated
    Deprecated

    (Since version 0.5.0) Use PlainText objects and its components

Inherited from AutoExtractions

Inherited from ParameterExtractions

Inherited from ExtractorExtractions

Inherited from ValueExtractions

Inherited from MethodExtractions

Inherited from ImportAnalysis

Inherited from ExtractionRefactoring

Inherited from Extractions

Inherited from InsertionPositions

Inherited from TransformableSelections

Inherited from ScopeAnalysis

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 CompilerApiAdapters

Inherited from Indentations

Inherited from PrettyPrinter

Inherited from AbstractPrinter

Inherited from CommonPrintUtils

Inherited from TreePrintingTraversals

Inherited from TreeTransformations

Inherited from TreeFactory

Inherited from Transformations

Inherited from Selections

Inherited from EnrichedTrees

Inherited from TreeTraverser

Inherited from SilentTracing

Inherited from Tracing

Inherited from AnyRef

Inherited from Any

Ungrouped