scala.tools.refactoring.util.SourceWithMarker

Movement

trait Movement extends SimpleMovement

A context dependent, directional movement that can be applied to a SourceWithMarker

Overview

Movements can be combined similar to parser combinators and optionally applied backwards. They are meant to be used to perform minor tweaks in already parsed source code that might be necessary due to compiler bugs or compiler API limitations.

Why not use parser combinators?

Examples

scala> import scala.tools.refactoring.util.SourceWithMarker
scala> import scala.tools.refactoring.util.SourceWithMarker._
scala> import scala.tools.refactoring.util.SourceWithMarker.Movements._

scala> val src = SourceWithMarker("private val /*---*/x = 4".toCharArray)
src: scala.tools.refactoring.util.SourceWithMarker =

riv...
scala> val movement = ("private" | "protected") ~ commentsAndSpaces ~ "val" ~ commentsAndSpaces
scala> val srcAtx = src.moveMarker(movement)
srcAtx: scala.tools.refactoring.util.SourceWithMarker = ... <x> = ...
scala> val moveBackToVal = ("al" ~ commentsAndSpaces ~ "x").backward
scala> val srcAtVal = srcAtx.moveMarker(moveBackToVal)
srcAtVal:  scala.tools.refactoring.util.SourceWithMarker = ...te <v>al ...
Self Type
Movement
See also

Movements

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Movement
  2. SimpleMovement
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def apply(sourceWithMarker: SourceWithMarker): Option[Int]

    Definition Classes
    SimpleMovement
  2. abstract def backward: Movement

Concrete Value Members

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

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

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

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

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

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. final def atLeastOnce: Movement

    Definition Classes
    MovementSimpleMovement
  8. final def atMostNtimes(n: Int): Movement

    Definition Classes
    MovementSimpleMovement
  9. final def butNot(mvnt: Movement): Movement

  10. def butNot(other: SimpleMovement): SimpleMovement

    Definition Classes
    SimpleMovement
  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

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

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

    Definition Classes
    Any
  18. final def nTimes(n: Int): Movement

    Definition Classes
    MovementSimpleMovement
  19. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  22. final def optional: Movement

    Definition Classes
    MovementSimpleMovement
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  24. def toString(): String

    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def zeroOrMore: Movement

    Definition Classes
    MovementSimpleMovement
  29. final def |(other: Movement): Movement

  30. final def |(other: SimpleMovement): SimpleMovement

    Definition Classes
    SimpleMovement
  31. final def ~(other: Movement): Movement

  32. final def ~(other: SimpleMovement): SimpleMovement

    Definition Classes
    SimpleMovement

Inherited from SimpleMovement

Inherited from AnyRef

Inherited from Any

Ungrouped