scala.tools.refactoring.analysis.ScopeAnalysis

MemberScope

case class MemberScope(enclosing: nsc.Global.Tree, outerScope: Option[ScopeTree], knownSymbols: List[nsc.Global.Symbol] = immutable.this.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
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

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

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. def clone(): AnyRef

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

    Definition Classes
    MemberScopeScopeTree
  9. val enclosing: nsc.Global.Tree

    A tree that fully encloses this scope.

    A tree that fully encloses this scope.

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

    Definition Classes
    AnyRef
  11. def finalize(): Unit

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

    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
  13. def findScopeFor(t: nsc.Global.Tree): ScopeTree

    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
  14. final def getClass(): Class[_]

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

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

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

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

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

    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
  18. def nameCollisions(name: String): List[nsc.Global.Symbol]

    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
  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. val outerScope: Option[ScopeTree]

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

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

    Definition Classes
    MemberScopeScopeTree
  23. lazy val outermostScope: ScopeTree

    The outermost scope known.

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

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

    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
  25. def sees(s: nsc.Global.Symbol): Boolean

    Is s visible (and accessible) from this scope?

    Is s visible (and accessible) from this scope?

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

    Definition Classes
    AnyRef
  27. def toString(): String

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

    Definition Classes
    ScopeTree
  29. val visibleScopes: List[ScopeTree]

    Scopes that are visible from this scope.

    Scopes that are visible from this scope.

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

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

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

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

    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