scala.tools.nsc.typechecker

SuperAccessors

abstract class SuperAccessors extends SubComponent with Transform with TypingTransformers

This phase adds super accessors for all super calls that either appear in a trait or have as a target a member of some outer class. It also replaces references to parameter accessors with aliases by super references to these aliases. The phase also checks that symbols accessed from super are not abstract, or are overridden by an abstract override. Finally, the phase also mangles the names of class-members which are private up to an enclosing non-package class, in order to avoid overriding conflicts.

Source
SuperAccessors.scala
Version

1.0

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. SuperAccessors
  2. TypingTransformers
  3. Transform
  4. SubComponent
  5. AnyRef
  6. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SuperAccessors()

Type Members

  1. class Phase extends StdPhase

    The phase defined by this transform

  2. abstract class StdPhase extends GlobalPhase

    A standard phase template

  3. class SuperAccTransformer extends TypingTransformer

  4. abstract class TypingTransformer extends Transformer

Abstract Value Members

  1. abstract val global: Global

    Definition Classes
    TypingTransformers
  2. abstract val runsAfter: List[String]

    List of phase names, this phase should run after

    List of phase names, this phase should run after

    Definition Classes
    SubComponent
  3. abstract val runsRightAfter: Option[String]

    Phase name this phase will attach itself to, not allowing any phase to come between it and the phase name declared

    Phase name this phase will attach itself to, not allowing any phase to come between it and the phase name declared

    Definition Classes
    SubComponent

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

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

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

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

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

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

    SubComponent are added to a HashSet and two phases are the same if they have the same name

    SubComponent are added to a HashSet and two phases are the same if they have the same name

    Definition Classes
    SubComponent → AnyRef → Any
  13. val internal: Boolean

    Internal flag to tell external from internal phases

    Internal flag to tell external from internal phases

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

    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. def newPhase(prev: Phase): StdPhase

    Create a new phase which applies transformer

    Create a new phase which applies transformer

    Definition Classes
    TransformSubComponent
  17. def newTransformer(unit: CompilationUnit): Transformer

    The transformer factory

    The transformer factory

    Attributes
    protected
    Definition Classes
    SuperAccessorsTransform
  18. final def notify(): Unit

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

    Definition Classes
    AnyRef
  20. def ownPhase: Phase

    The phase corresponding to this subcomponent in the current compiler run

    The phase corresponding to this subcomponent in the current compiler run

    Definition Classes
    SubComponent
  21. val phaseName: String

    the following two members override abstract members in Transform

    the following two members override abstract members in Transform

    Definition Classes
    SuperAccessorsSubComponent
  22. def phaseNewFlags: Long

    New flags defined by the phase which are not valid before

    New flags defined by the phase which are not valid before

    Definition Classes
    SubComponent
  23. def phaseNextFlags: Long

    New flags defined by the phase which are not valid until immediately after it

    New flags defined by the phase which are not valid until immediately after it

    Definition Classes
    SubComponent
  24. val runsBefore: List[String]

    List of phase names, this phase should run before

    List of phase names, this phase should run before

    Definition Classes
    SubComponent
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  26. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from TypingTransformers

Inherited from Transform

Inherited from SubComponent

Inherited from AnyRef

Inherited from Any