trait Positions extends api.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
SymbolTable
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Positions
  2. Positions
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class ChildSolidDescendantsCollector extends SymbolTable.Traverser
  2. class DefaultPosAssigner extends SymbolTable.Traverser with SymbolTable.PosAssigner
    Attributes
    protected
  3. class Locator extends SymbolTable.Traverser

    A locator for trees with given positions.

    A locator for trees with given positions. Given a position pos, locator.apply returns the smallest tree that encloses pos.

  4. trait PosAssigner extends SymbolTable.Traverser
  5. type Position = util.Position

    Defines a universe-specific notion of positions.

    Defines a universe-specific notion of positions. The main documentation entry about positions is located at scala.reflect.api.Position.

    Definition Classes
    PositionsPositions
  6. class TypedLocator extends SymbolTable.Locator
  7. class ValidateException extends Exception

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val NoPosition: util.NoPosition.type

    A special "missing" position.

    A special "missing" position.

    Definition Classes
    PositionsPositions
  5. implicit val PositionTag: ClassTag[SymbolTable.Position]
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def atPos[T <: SymbolTable.Tree](pos: SymbolTable.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
    PositionsPositions
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. def ensureNonOverlapping(tree: SymbolTable.Tree, others: List[SymbolTable.Tree], focus: Boolean): Unit
  10. def ensureNonOverlapping(tree: SymbolTable.Tree, others: List[SymbolTable.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, assigning TransparentPositions to some of the nodes in tree or focusing on the position.

  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. lazy val posAssigner: SymbolTable.PosAssigner
    Attributes
    protected[this]
  21. def rangePos(source: SourceFile, start: Int, point: Int, end: Int): SymbolTable.Position
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. def useOffsetPositions: Boolean
  25. def validatePositions(tree: SymbolTable.Tree): Unit
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  29. def wrappingPos(trees: List[SymbolTable.Tree]): SymbolTable.Position

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

    A position that wraps the 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 non-synthetic, returns a range position enclosing the non-synthetic trees Otherwise returns a synthetic offset position to point.

    Definition Classes
    PositionsPositions
  30. def wrappingPos(default: SymbolTable.Position, trees: List[SymbolTable.Tree], focus: Boolean): SymbolTable.Position
  31. def wrappingPos(default: SymbolTable.Position, trees: List[SymbolTable.Tree]): SymbolTable.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 that is either focused or not.

    Definition Classes
    PositionsPositions

Inherited from api.Positions

Inherited from AnyRef

Inherited from Any

Positions

Ungrouped