Class

scala.tools.refactoring.analysis.ScopeAnalysis

MemberScope

Related Doc: package ScopeAnalysis

Permalink

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

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.

Linear Supertypes
Serializable, java.io.Serializable, Product, Equals, ScopeTree, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MemberScope
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ScopeTree
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MemberScope(enclosing: nsc.Global.Tree, outerScope: Option[ScopeTree], knownSymbols: List[nsc.Global.Symbol] = Nil)

    Permalink

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def copy(outerScope: Option[ScopeTree], knownSymbols: List[nsc.Global.Symbol]): MemberScope

    Permalink
    Definition Classes
    MemberScopeScopeTree
  7. val enclosing: nsc.Global.Tree

    Permalink

    A tree that fully encloses this scope.

    A tree that fully encloses this scope.

    Definition Classes
    MemberScopeScopeTree
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def findScopeFor(pos: nsc.Global.Position): ScopeTree

    Permalink

    Traverses the scope tree from inner to outer and returns the innermost scope, that is visible from pos.

    Traverses the scope tree from inner to outer and returns the innermost scope, that is visible from pos.

    Definition Classes
    MemberScopeScopeTree
  11. def findScopeFor(t: nsc.Global.Tree): ScopeTree

    Permalink

    Traverses the scope tree from inner to outer and returns the innermost scope, that is visible from t.

    Traverses the scope tree from inner to outer and returns the innermost scope, that is visible from t.

    Definition Classes
    ScopeTree
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def introducedInThisScope(s: nsc.Global.Symbol): Boolean

    Permalink

    Is s visible in this scope, but not in outerScope?

    Is s visible in this scope, but not in outerScope?

    Definition Classes
    MemberScopeScopeTree
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. val knownSymbols: List[nsc.Global.Symbol]

    Permalink

    Symbols from which we know that they are visible in this scope.

    Symbols from which we know that they are visible in this scope.

    Definition Classes
    MemberScopeScopeTree
  16. def nameCollisions(name: String): List[nsc.Global.Symbol]

    Permalink

    Returns a list of visible symbols whose name is equal to name.

    Returns a list of visible symbols whose name is equal to name. TODO: Handle symbols from other CUs

    Definition Classes
    ScopeTree
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  20. val outerScope: Option[ScopeTree]

    Permalink

    A scope that contains this scope in the "physical" structure.

    A scope that contains this scope in the "physical" structure.

    Definition Classes
    MemberScopeScopeTree
  21. lazy val outermostScope: ScopeTree

    Permalink

    The outermost scope known.

    The outermost scope known. Usually the package scope of the CU.

    Definition Classes
    ScopeTree
  22. def proposeName(preferred: String): String

    Permalink

    Returns a name based on preferred that does not collide with other visible symbols.

    Returns a name based on preferred that does not collide with other visible symbols.

    Definition Classes
    ScopeTree
  23. def sees(s: nsc.Global.Symbol): Boolean

    Permalink

    Is s visible (and accessible) from this scope?

    Is s visible (and accessible) from this scope?

    Definition Classes
    ScopeTree
  24. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    MemberScope → AnyRef → Any
  26. def toString(className: String, identName: String): String

    Permalink
    Definition Classes
    ScopeTree
  27. val visibleScopes: List[ScopeTree]

    Permalink

    Scopes that are visible from this scope.

    Scopes that are visible from this scope.

    Definition Classes
    ScopeTree
  28. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. def withKnownSymbols(syms: List[nsc.Global.Symbol]): ScopeTree

    Permalink

    Returns a copy of this scope with syms registered as known symbols.

    Returns a copy of this scope with syms registered as known symbols. Also propagates all symbols of syms, that are not introduces in this scope to outerScope.

    Register symbols as known symbols increases the performance of sees(s) and helps to reduce the number of false negatives. This is because it is easier to determine if a symbol is introduced by a scope than if it is not introduced by it.

    Definition Classes
    ScopeTree

Inherited from Serializable

Inherited from java.io.Serializable

Inherited from Product

Inherited from Equals

Inherited from ScopeTree

Inherited from AnyRef

Inherited from Any

Ungrouped