Packages

  • package root

    The Scala compiler and reflection APIs.

    The Scala compiler and reflection APIs.

    Definition Classes
    root
  • package scala
    Definition Classes
    root
  • package tools
    Definition Classes
    scala
  • package nsc
    Definition Classes
    tools
  • package typechecker
    Definition Classes
    nsc
  • abstract class RefChecks extends SubComponent with Transform

    Post-attribution checking and transformation.

    Post-attribution checking and transformation.

    This phase performs the following checks.

    • All overrides conform to rules.
    • All type arguments conform to bounds.
    • All type variable uses conform to variance annotations.
    • No forward reference to a term symbol extends beyond a value definition.

    It performs the following transformations.

    • Local modules are replaced by variables and classes
    • Calls to case factory methods are replaced by new's.
    • Eliminate branches in a conditional if the condition is a constant
    Definition Classes
    typechecker
    Version

    1.0

    To do

    Check whether we always check type parameter bounds.

  • Phase
  • RefCheckTransformer
  • StdPhase
c

scala.tools.nsc.typechecker.RefChecks

RefCheckTransformer

class RefCheckTransformer extends Global.Transformer

Source
RefChecks.scala
Linear Supertypes
Global.Transformer, Global.Transformer, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RefCheckTransformer
  2. Transformer
  3. Transformer
  4. AnyRef
  5. 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

Instance Constructors

  1. new RefCheckTransformer(unit: Global.CompilationUnit)

Type Members

  1. class LevelInfo extends AnyRef

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from RefCheckTransformer to any2stringadd[RefCheckTransformer] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (RefCheckTransformer, B)
    Implicit
    This member is added by an implicit conversion from RefCheckTransformer to ArrowAssoc[RefCheckTransformer] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def addVarargBridges(clazz: Global.Symbol): List[Global.Tree]

    Add bridges for vararg methods that extend Java vararg methods

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def atOwner[A](owner: Global.Symbol)(trans: ⇒ A): A
    Definition Classes
    Transformer
  9. def checkImplicitViewOptionApply(pos: Global.Position, fn: Global.Tree, args: List[Global.Tree]): Unit
  10. def checkInfiniteLoop(sym: Global.Symbol, rhs: Global.Tree): Unit
  11. def checkSensible(pos: Global.Position, fn: Global.Tree, args: List[Global.Tree]): Unit

    Sensibility check examines flavors of equals.

  12. var checkedCombinations: Set[collection.immutable.List[Global.Type]]
  13. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. var currentApplication: Global.Tree
  15. def currentClass: Global.Symbol
    Attributes
    protected
    Definition Classes
    Transformer
  16. def currentMethod: Global.Symbol
    Attributes
    protected
    Definition Classes
    Transformer
  17. var currentOwner: Global.Symbol
    Attributes
    protected[scala]
    Definition Classes
    Transformer
  18. def ensuring(cond: (RefCheckTransformer) ⇒ Boolean, msg: ⇒ Any): RefCheckTransformer
    Implicit
    This member is added by an implicit conversion from RefCheckTransformer to Ensuring[RefCheckTransformer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: (RefCheckTransformer) ⇒ Boolean): RefCheckTransformer
    Implicit
    This member is added by an implicit conversion from RefCheckTransformer to Ensuring[RefCheckTransformer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: Boolean, msg: ⇒ Any): RefCheckTransformer
    Implicit
    This member is added by an implicit conversion from RefCheckTransformer to Ensuring[RefCheckTransformer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. def ensuring(cond: Boolean): RefCheckTransformer
    Implicit
    This member is added by an implicit conversion from RefCheckTransformer to Ensuring[RefCheckTransformer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  24. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from RefCheckTransformer to StringFormat[RefCheckTransformer] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  26. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  28. var inPattern: Boolean
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. var localTyper: (analyzer)#Typer
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  34. final def savingInPattern[A](body: ⇒ A): A
    Annotations
    @inline()
  35. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  36. def toConstructor(pos: Global.Position, tpe: Global.Type): Global.Tree
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. def transform(tree: Global.Tree): Global.Tree
    Definition Classes
    RefCheckTransformer → Transformer
  39. def transformCaseDefs(trees: List[Global.CaseDef]): List[Global.CaseDef]
    Definition Classes
    Transformer
  40. def transformIdents(trees: List[Global.Ident]): List[Global.Ident]
    Definition Classes
    Transformer
  41. def transformMemberDefs(trees: List[Global.MemberDef]): List[Global.MemberDef]
    Definition Classes
    Transformer
  42. def transformModifiers(mods: Global.Modifiers): Global.Modifiers
    Definition Classes
    Transformer
  43. def transformStat(tree: Global.Tree, index: Int): List[Global.Tree]
  44. def transformStats(stats: List[Global.Tree], exprOwner: Global.Symbol): List[Global.Tree]
    Definition Classes
    RefCheckTransformer → Transformer
  45. def transformTemplate(tree: Global.Template): Global.Template
    Definition Classes
    Transformer
  46. def transformTrees(trees: List[Global.Tree]): List[Global.Tree]
    Definition Classes
    Transformer
  47. def transformTypeDefs(trees: List[Global.TypeDef]): List[Global.TypeDef]
    Definition Classes
    Transformer
  48. def transformUnit(unit: Global.CompilationUnit): Unit
    Definition Classes
    Transformer
  49. def transformValDef(tree: Global.ValDef): Global.ValDef
    Definition Classes
    Transformer
  50. def transformValDefs(trees: List[Global.ValDef]): List[Global.ValDef]
    Definition Classes
    Transformer
  51. def transformValDefss(treess: List[List[Global.ValDef]]): List[List[Global.ValDef]]
    Definition Classes
    Transformer
  52. val treeCopy: Global.TreeCopier
    Definition Classes
    Transformer
  53. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. def [B](y: B): (RefCheckTransformer, B)
    Implicit
    This member is added by an implicit conversion from RefCheckTransformer to ArrowAssoc[RefCheckTransformer] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
  57. object normalizeAll extends Global.TypeMap
  58. object varianceValidator extends Global.VarianceValidator

Inherited from Global.Transformer

Inherited from Global.Transformer

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from RefCheckTransformer to any2stringadd[RefCheckTransformer]

Inherited by implicit conversion StringFormat from RefCheckTransformer to StringFormat[RefCheckTransformer]

Inherited by implicit conversion Ensuring from RefCheckTransformer to Ensuring[RefCheckTransformer]

Inherited by implicit conversion ArrowAssoc from RefCheckTransformer to ArrowAssoc[RefCheckTransformer]

Ungrouped