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. def addVarargBridges(clazz: Global.Symbol): List[Global.Tree]

    Add bridges for vararg methods that extend Java vararg methods

  2. def atOwner[A](owner: Global.Symbol)(trans: ⇒ A): A
    Definition Classes
    Transformer
  3. def checkImplicitViewOptionApply(pos: Global.Position, fn: Global.Tree, args: List[Global.Tree]): Unit
  4. def checkInfiniteLoop(sym: Global.Symbol, rhs: Global.Tree): Unit
  5. def checkSensible(pos: Global.Position, fn: Global.Tree, args: List[Global.Tree]): Unit

    Sensibility check examines flavors of equals.

  6. var checkedCombinations: Set[collection.immutable.List[Global.Type]]
  7. var currentApplication: Global.Tree
  8. var inPattern: Boolean
  9. var localTyper: (analyzer)#Typer
  10. final def savingInPattern[A](body: ⇒ A): A
    Annotations
    @inline()
  11. def toConstructor(pos: Global.Position, tpe: Global.Type): Global.Tree
  12. def transform(tree: Global.Tree): Global.Tree
    Definition Classes
    RefCheckTransformer → Transformer
  13. def transformCaseDefs(trees: List[Global.CaseDef]): List[Global.CaseDef]
    Definition Classes
    Transformer
  14. def transformIdents(trees: List[Global.Ident]): List[Global.Ident]
    Definition Classes
    Transformer
  15. def transformMemberDefs(trees: List[Global.MemberDef]): List[Global.MemberDef]
    Definition Classes
    Transformer
  16. def transformModifiers(mods: Global.Modifiers): Global.Modifiers
    Definition Classes
    Transformer
  17. def transformStat(tree: Global.Tree, index: Int): List[Global.Tree]
  18. def transformStats(stats: List[Global.Tree], exprOwner: Global.Symbol): List[Global.Tree]
    Definition Classes
    RefCheckTransformer → Transformer
  19. def transformTemplate(tree: Global.Template): Global.Template
    Definition Classes
    Transformer
  20. def transformTrees(trees: List[Global.Tree]): List[Global.Tree]
    Definition Classes
    Transformer
  21. def transformTypeDefs(trees: List[Global.TypeDef]): List[Global.TypeDef]
    Definition Classes
    Transformer
  22. def transformUnit(unit: Global.CompilationUnit): Unit
    Definition Classes
    Transformer
  23. def transformValDef(tree: Global.ValDef): Global.ValDef
    Definition Classes
    Transformer
  24. def transformValDefs(trees: List[Global.ValDef]): List[Global.ValDef]
    Definition Classes
    Transformer
  25. def transformValDefss(treess: List[List[Global.ValDef]]): List[List[Global.ValDef]]
    Definition Classes
    Transformer
  26. val treeCopy: Global.TreeCopier
    Definition Classes
    Transformer
  27. object normalizeAll extends Global.TypeMap
  28. object varianceValidator extends Global.VarianceValidator