scala.tools.nsc.interactive

RangePositions

trait RangePositions extends Trees with Positions

Handling range positions atPos, the main method in this trait, will add positions to a tree, and will ensure the following properties:

  1. All nodes between the root of the tree and nodes that already have positions will be assigned positions. 2. No node which already has a position will be assigned a different range; however a RangePosition might become a TransparentPosition. 3. The position of each assigned node includes the positions of each of its children. 4. The positions of all solid descendants of children of an assigned node are mutually non-overlapping.

Here, the solid descendant of a node are:

If the node has a TransparentPosition, the solid descendants of all its children Otherwise, the singleton consisting of the node itself.

Self Type
RangePositions with Global
Source
RangePositions.scala
Linear Supertypes
Positions, Positions, Positions, Trees, Trees, Trees, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RangePositions
  2. Positions
  3. Positions
  4. Positions
  5. Trees
  6. Trees
  7. Trees
  8. AnyRef
  9. Any
Implicitly
  1. by any2stringfmt
  2. by any2stringadd
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class ChangeOwnerTraverser extends Traverser

  2. class DefaultPosAssigner extends Traverser with PosAssigner

    Attributes
    protected
  3. case class DocDef(comment: DocComment, definition: Tree) extends Tree with Product with Serializable

    Documented definition, eliminated by analyzer

  4. class ForeachPartialTreeTraverser extends Traverser

  5. case class InjectDerivedValue(arg: Tree) extends Tree with SymTree with Product with Serializable

    Derived value class injection (equivalent to: new C(arg) after easure); only used during erasure The class C is stored as the symbol of the tree node.

  6. class LazyTreeCopier extends LazyTreeCopier with TreeCopier

    Definition Classes
    Trees → Trees
  7. class Locator extends Traverser

    A locator for trees with given positions.

  8. case class Modifiers(flags: Long, privateWithin: Name, annotations: List[Tree]) extends AbsModifiers with HasFlags with Product with Serializable

  9. case class Parens(args: List[Tree]) extends Tree with Product with Serializable

    Only used during parsing

  10. trait PosAssigner extends Traverser

  11. type Position = Position

    Definition Classes
    Positions → Positions
  12. class PostfixSelect extends Select

  13. case class Range(pos: Position, tree: Tree) extends Product with Serializable

  14. case class SelectFromArray(qualifier: Tree, name: Name, erasure: Type) extends Tree with TermTree with RefTree with Product with Serializable

    Array selection <qualifier> .

  15. class StrictTreeCopier extends StrictTreeCopier with TreeCopier

    Definition Classes
    Trees → Trees
  16. class ThisSubstituter extends Transformer

    Substitute clazz.

  17. class Transformer extends Transformer

    Definition Classes
    Trees → Trees
  18. trait TreeCopier extends TreeCopierOps

    Definition Classes
    Trees → Trees
  19. implicit class TreeOps extends AnyRef

  20. class TreeSubstituter extends Transformer

  21. class TreeSymSubstTraverser extends TypeMapTreeSubstituter

  22. class TreeSymSubstituter extends Transformer

    Substitute symbols in from with symbols in to.

  23. class TreeTypeSubstituter extends TypeMapTreeSubstituter

  24. class TypeMapTreeSubstituter extends Traverser

  25. case class TypeTreeWithDeferredRefCheck(check: () ⇒ TypeTree) extends Tree with TypTree with Product with Serializable

    emitted by typer, eliminated by refchecks

  26. class TypedLocator extends Locator

  27. class ValidateException extends Exception

  28. class ValidatingPosAssigner extends Traverser with PosAssigner

Value Members

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

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

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

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from RangePositions to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (RangePositions, B)

    Implicit information
    This member is added by an implicit conversion from RangePositions to ArrowAssoc[RangePositions] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  8. def Apply(sym: Symbol, args: Tree*): Tree

    Definition Classes
    Trees → Trees
  9. def Bind(sym: Symbol, body: Tree): Bind

    Definition Classes
    Trees → Trees
  10. def Block(stats: Tree*): Block

    Block factory that flattens directly nested blocks.

    Block factory that flattens directly nested blocks.

    Definition Classes
    Trees → Trees
  11. def CaseDef(pat: Tree, body: Tree): CaseDef

    casedef shorthand

    casedef shorthand

    Definition Classes
    Trees → Trees
  12. def ClassDef(sym: Symbol, constrMods: Modifiers, vparamss: List[List[ValDef]], argss: List[List[Tree]], body: List[Tree], superPos: Position): ClassDef

    Construct class definition with given class symbol, value parameters, supercall arguments and template body.

    Construct class definition with given class symbol, value parameters, supercall arguments and template body.

    sym

    the class symbol

    constrMods

    the modifiers for the class constructor, i.e. as in class C private (...)

    vparamss

    the value parameters -- if they have symbols they should be owned by sym

    argss

    the supercall arguments

    body

    the template statements without primary constructor and value parameter fields.

    Definition Classes
    Trees
  13. def ClassDef(sym: Symbol, impl: Template): ClassDef

    sym

    the class symbol

    returns

    the implementation template

    Definition Classes
    Trees → Trees
  14. def DefDef(sym: Symbol, rhs: (List[List[Symbol]]) ⇒ Tree): DefDef

    Definition Classes
    Trees → Trees
  15. def DefDef(sym: Symbol, rhs: Tree): DefDef

    Definition Classes
    Trees → Trees
  16. def DefDef(sym: Symbol, mods: Modifiers, rhs: Tree): DefDef

    Definition Classes
    Trees → Trees
  17. def DefDef(sym: Symbol, vparamss: List[List[ValDef]], rhs: Tree): DefDef

    Definition Classes
    Trees → Trees
  18. def DefDef(sym: Symbol, mods: Modifiers, vparamss: List[List[ValDef]], rhs: Tree): DefDef

    Definition Classes
    Trees → Trees
  19. lazy val EmptyTreeTypeSubstituter: TreeTypeSubstituter

    Definition Classes
    Trees
  20. def Ident(sym: Symbol): Ident

    Definition Classes
    Trees → Trees
  21. def Ident(name: String): Ident

    Definition Classes
    Trees → Trees
  22. def LabelDef(sym: Symbol, params: List[Symbol], rhs: Tree): LabelDef

    Definition Classes
    Trees → Trees
  23. def Modifiers(mods: Set[Modifier], privateWithin: Name, annotations: List[Tree]): Modifiers

    Definition Classes
    Trees → Trees
  24. def Modifiers(flags: Long): Modifiers

    Definition Classes
    Trees
  25. def Modifiers(flags: Long, privateWithin: Name): Modifiers

    Definition Classes
    Trees
  26. def ModuleDef(sym: Symbol, impl: Template): ModuleDef

    sym

    the class symbol

    impl

    the implementation template

    Definition Classes
    Trees → Trees
  27. def New(sym: Symbol, args: Tree*): Tree

    Definition Classes
    Trees → Trees
  28. def New(tpe: Type, args: Tree*): Tree

    0-1 argument list new, based on a type.

    0-1 argument list new, based on a type.

    Definition Classes
    Trees → Trees
  29. def New(tpt: Tree, argss: List[List[Tree]]): Tree

    Factory method for object creation new tpt(args_1)...(args_n) A New(t, as) is expanded to: (new t).<init>(as)

    Factory method for object creation new tpt(args_1)...(args_n) A New(t, as) is expanded to: (new t).<init>(as)

    Definition Classes
    Trees → Trees
  30. lazy val NoMods: Modifiers

    Definition Classes
    Trees → Trees
  31. val NoPosition: tools.nsc.util.NoPosition.type

    Definition Classes
    Positions → Positions
  32. def Select(qualifier: Tree, sym: Symbol): Select

    Definition Classes
    Trees → Trees
  33. def Select(qualifier: Tree, name: String): Select

    Definition Classes
    Trees → Trees
  34. def Super(sym: Symbol, mix: TypeName): Tree

    Definition Classes
    Trees → Trees
  35. def Template(parents: List[Tree], self: ValDef, constrMods: Modifiers, vparamss: List[List[ValDef]], argss: List[List[Tree]], body: List[Tree], superPos: Position): Template

    Generates a template with constructor corresponding to

    Generates a template with constructor corresponding to

    constrmods (vparams1_) ... (vparams_n) preSuper { presupers } extends superclass(args_1) ... (args_n) with mixins { self => body }

    This gets translated to

    extends superclass with mixins { self => presupers' // presupers without rhs vparamss // abstract fields corresponding to value parameters def <init>(vparamss) { presupers super.<init>(args) } body }

    Definition Classes
    Trees
  36. def This(sym: Symbol): Tree

    Definition Classes
    Trees → Trees
  37. def Throw(tpe: Type, args: Tree*): Throw

    Definition Classes
    Trees → Trees
  38. def Try(body: Tree, cases: (Tree, Tree)*): Try

    Definition Classes
    Trees → Trees
  39. def TypeDef(sym: Symbol): TypeDef

    A TypeDef node which defines abstract type or type parameter for given sym

    A TypeDef node which defines abstract type or type parameter for given sym

    Definition Classes
    Trees → Trees
  40. def TypeDef(sym: Symbol, rhs: Tree): TypeDef

    A TypeDef node which defines given sym with given tight hand side rhs.

    A TypeDef node which defines given sym with given tight hand side rhs.

    Definition Classes
    Trees → Trees
  41. def TypeTree(tp: Type): TypeTree

    Definition Classes
    Trees
  42. def ValDef(sym: Symbol): ValDef

    Definition Classes
    Trees → Trees
  43. def ValDef(sym: Symbol, rhs: Tree): ValDef

    Definition Classes
    Trees → Trees
  44. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  45. def atPos[T <: Tree](pos: Position)(tree: T): T

    Position a tree.

    Position a tree. This means: Set position of a node and position all its unpositioned children.

    Definition Classes
    RangePositionsPositions → Positions
  46. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  47. def copyClassDef(tree: Tree)(mods: Modifiers, name: Name, tparams: List[TypeDef], impl: Template): ClassDef

    Definition Classes
    Trees
  48. def copyDefDef(tree: Tree)(mods: Modifiers, name: Name, tparams: List[TypeDef], vparamss: List[List[ValDef]], tpt: Tree, rhs: Tree): DefDef

    Definition Classes
    Trees
  49. def copyValDef(tree: Tree)(mods: Modifiers, name: Name, tpt: Tree, rhs: Tree): ValDef

    Definition Classes
    Trees
  50. def deriveCaseDef(cdef: Tree)(applyToBody: (Tree) ⇒ Tree): CaseDef

    Definition Classes
    Trees
  51. def deriveClassDef(cdef: Tree)(applyToImpl: (Template) ⇒ Template): ClassDef

    Definition Classes
    Trees
  52. def deriveDefDef(ddef: Tree)(applyToRhs: (Tree) ⇒ Tree): DefDef

    Definition Classes
    Trees
  53. def deriveLabelDef(ldef: Tree)(applyToRhs: (Tree) ⇒ Tree): LabelDef

    Definition Classes
    Trees
  54. def deriveModuleDef(mdef: Tree)(applyToImpl: (Template) ⇒ Template): ModuleDef

    Definition Classes
    Trees
  55. def deriveTemplate(templ: Tree)(applyToBody: (List[Tree]) ⇒ List[Tree]): Template

    Definition Classes
    Trees
  56. def deriveValDef(vdef: Tree)(applyToRhs: (Tree) ⇒ Tree): ValDef

    Definition Classes
    Trees
  57. def duplicateTree(tree: Tree): Tree

    Attributes
    protected[scala]
    Definition Classes
    Trees → Trees
  58. object emptyValDef extends ValDef

    Definition Classes
    Trees → Trees
  59. def ensureNonOverlapping(tree: Tree, others: List[Tree]): Unit

    Ensure that given tree has no positions that overlap with any of the positions of others.

    Ensure that given tree has no positions that overlap with any of the positions of others. This is done by shortening the range or assigning TransparentPositions to some of the nodes in tree.

    Definition Classes
    RangePositionsPositions → Positions
  60. def ensuring(cond: (RangePositions) ⇒ Boolean, msg: ⇒ Any): RangePositions

    Implicit information
    This member is added by an implicit conversion from RangePositions to Ensuring[RangePositions] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  61. def ensuring(cond: (RangePositions) ⇒ Boolean): RangePositions

    Implicit information
    This member is added by an implicit conversion from RangePositions to Ensuring[RangePositions] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  62. def ensuring(cond: Boolean, msg: ⇒ Any): RangePositions

    Implicit information
    This member is added by an implicit conversion from RangePositions to Ensuring[RangePositions] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  63. def ensuring(cond: Boolean): RangePositions

    Implicit information
    This member is added by an implicit conversion from RangePositions to Ensuring[RangePositions] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  64. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  66. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  67. def findOverlapping(cts: List[Tree]): List[(Tree, Tree)]

    Does given list of trees have mutually non-overlapping positions? pre: None of the trees is transparent

  68. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from RangePositions to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  69. final def getClass(): Class[_]

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

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

    Definition Classes
    Any
  72. def isReferenceToAnyVal(t: Tree): Boolean

    Definition Classes
    Trees
  73. def isReferenceToPredef(t: Tree): Boolean

    Is the tree Predef, scala.

    Is the tree Predef, scala.Predef, or _root_.scala.Predef?

    Definition Classes
    Trees
  74. def isReferenceToScalaMember(t: Tree, Id: Name): Boolean

    Definition Classes
    Trees
  75. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  76. def newLazyTreeCopier: TreeCopier

    Definition Classes
    Trees → Trees
  77. def newStrictTreeCopier: TreeCopier

    Definition Classes
    Trees → Trees
  78. final def notify(): Unit

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

    Definition Classes
    AnyRef
  80. lazy val posAssigner: PosAssigner

    Attributes
    protected[this]
    Definition Classes
    PositionsPositions
  81. def rangePos(source: SourceFile, start: Int, point: Int, end: Int): RangePosition

    Definition Classes
    RangePositionsPositions
  82. def resetAllAttrs[A <: Tree](x: A, leaveAlone: (Tree) ⇒ Boolean): A

    resets symbol and tpe fields in a tree, @see ResetAttrs

    resets symbol and tpe fields in a tree, @see ResetAttrs

    Definition Classes
    Trees
  83. def resetLocalAttrs[A <: Tree](x: A, leaveAlone: (Tree) ⇒ Boolean): A

    Definition Classes
    Trees
  84. def resetLocalAttrsKeepLabels[A <: Tree](x: A, leaveAlone: (Tree) ⇒ Boolean): A

    Definition Classes
    Trees
  85. object resetPos extends Traverser

  86. val self: Any

    Implicit information
    This member is added by an implicit conversion from RangePositions to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
  87. val self: Any

    Implicit information
    This member is added by an implicit conversion from RangePositions to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  88. def solidDescendants(tree: Tree): List[Tree]

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

    Definition Classes
    AnyRef
  90. def toString(): String

    Definition Classes
    AnyRef → Any
  91. val treeCopy: TreeCopier

    Definition Classes
    Trees
  92. object treeInfo extends TreeInfo

  93. def treeLine(t: Tree): String

    Definition Classes
    Trees
  94. lazy val treePrinter: TreePrinter

    Definition Classes
    Trees
  95. def treeStatus(t: Tree, enclosingTree: Tree = null): String

    Definition Classes
    Trees
  96. def treeSymStatus(t: Tree): String

    Definition Classes
    Trees
  97. def validatePositions(tree: Tree): Unit

    Definition Classes
    RangePositionsPositions
  98. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  101. def wrappingPos(trees: List[Tree]): Position

    A position that wraps a non-empty set of trees.

    A position that wraps a non-empty set of trees. The point of the wrapping position is the point of the first trees' position. If some of the trees are ranges, returns a range position enclosing all ranges Otherwise returns first tree's position.

    Definition Classes
    RangePositionsPositions → Positions
  102. def wrappingPos(default: Position, trees: List[Tree]): Position

    A position that wraps a set of trees.

    A position that wraps a set of trees. The point of the wrapping position is the point of the default position. If some of the trees are ranges, returns a range position enclosing all ranges Otherwise returns default position.

    Definition Classes
    RangePositionsPositions → Positions
  103. def xtransform(transformer: Transformer, tree: Tree): Tree

    Attributes
    protected
    Definition Classes
    Trees → Trees
  104. def xtraverse(traverser: Traverser, tree: Tree): Unit

    Attributes
    protected
    Definition Classes
    Trees → Trees
  105. def [B](y: B): (RangePositions, B)

    Implicit information
    This member is added by an implicit conversion from RangePositions to ArrowAssoc[RangePositions] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. def x: RangePositions

    Implicit information
    This member is added by an implicit conversion from RangePositions to ArrowAssoc[RangePositions] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: RangePositions

    Implicit information
    This member is added by an implicit conversion from RangePositions to Ensuring[RangePositions] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from Positions

Inherited from Positions

Inherited from Positions

Inherited from Trees

Inherited from Trees

Inherited from Trees

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringfmt from RangePositions to StringFormat

Inherited by implicit conversion any2stringadd from RangePositions to StringAdd

Inherited by implicit conversion any2ArrowAssoc from RangePositions to ArrowAssoc[RangePositions]

Inherited by implicit conversion any2Ensuring from RangePositions to Ensuring[RangePositions]