Packages

trait ContextTrees extends AnyRef

Self Type
Global
Source
ContextTrees.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ContextTrees
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Context = (analyzer)#Context
  2. class ContextTree extends AnyRef

    A context tree contains contexts that are indexed by positions.

    A context tree contains contexts that are indexed by positions. It satisfies the following properties:

    1. All context come from compiling the same unit. 2. Child contexts have parent contexts in their outer chain. 3. The pos field of a context is the same as context.tree.pos, unless that position is transparent. In that case, pos equals the position of one of the solid descendants of context.tree. 4. Children of a context have non-overlapping increasing positions. 5. No context in the tree has a transparent position.
  3. type Contexts = ArrayBuffer[Global.ContextTree]

Value Members

  1. lazy val NoContext: (analyzer)#NoContext.type
  2. def addContext(contexts: Global.Contexts, context: Global.Context, cpos: Global.Position): Unit

    Insert a context with non-transparent position cpos at correct position into a buffer of context trees.

  3. def addContext(contexts: Global.Contexts, context: Global.Context): Unit

    Insert a context at correct position into a buffer of context trees.

    Insert a context at correct position into a buffer of context trees. If the context has a transparent position, add it multiple times at the positions of all its solid descendant trees.

  4. def locateContext(contexts: Global.Contexts, pos: Global.Position): Option[Global.Context]

    Returns the most precise context possible for the given pos.

    Returns the most precise context possible for the given pos.

    It looks for the finest ContextTree containing pos, and then look inside this ContextTree for a child ContextTree located immediately before pos. If such a child exists, returns its context, otherwise returns the context of the parent ContextTree.

    This is required to always return a context which contains the all the imports declared up to pos (see scala/bug#7280 for a test case).

    Can return None if pos is before any valid Scala code.

  5. def locateContextTree(contexts: Global.Contexts, pos: Global.Position): Option[Global.ContextTree]

    Returns the ContextTree containing pos, or the ContextTree positioned just before pos, or None if pos is located before all ContextTrees.