Scala Compiler2.12.3-1 < Back
 

# 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.

-  class RefCheckTransformer extends Global.Transformer
  Definition Classes
    RefChecks
- LevelInfo
- normalizeAll
- varianceValidator

o

scala.tools.nsc.typechecker.RefChecks.RefCheckTransformer

# varianceValidator 

###

#### object varianceValidator extends Global.VarianceValidator

Source
  RefChecks.scala

Linear Supertypes
Global.VarianceValidator, Global.Traverser, AnyRef, Any
 
Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. varianceValidator
2. VarianceValidator
3. Traverser
4. AnyRef
5. Any

1. Hide All
2. Show All

Visibility

1. Public
2. All

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##(): Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  def apply[T <: Global.Tree](tree: T): T
   Definition Classes
     Traverser
5.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
6.  def atOwner(owner: Global.Symbol)(traverse: ⇒ Unit): Unit
   Definition Classes
     Traverser
7.  final def checkForEscape(sym: Global.Symbol, site: Global.Symbol): Unit
   Definition Classes
     VarianceValidator
   Annotations
     @tailrec()
8.  def clone(): AnyRef
   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )
9.  var currentOwner: Global.Symbol
   Attributes
     protected[scala]
   Definition Classes
     Traverser
10.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
11.  def equals(arg0: Any): Boolean
    Definition Classes
      AnyRef → Any
12.  def finalize(): Unit
    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )
13.  final def getClass(): Class[_]
    Definition Classes
      AnyRef → Any
14.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
15.  def isExemptFromVariance(sym: Global.Symbol): Boolean
    Definition Classes
      VarianceValidator
16.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
17.  def issueVarianceError(base: Global.Symbol, sym: Global.Symbol, required: Variance): Unit
    Definition Classes
      varianceValidator → VarianceValidator
18.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
19.  final def notify(): Unit
    Definition Classes
      AnyRef
20.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
21.  def shouldFlip(sym: Global.Symbol, tvar: Global.Symbol): Boolean
    Definition Classes
      VarianceValidator
22.  final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
      AnyRef
23.  def toString(): String
    Definition Classes
      AnyRef → Any
24.  def traverse(tree: Global.Tree): Unit
    Definition Classes
      VarianceValidator → Traverser
25.  def traverseAnnotations(annots: List[Global.Tree]): Unit
    Definition Classes
      Traverser
26.  def traverseCases(cases: List[Global.CaseDef]): Unit
    Definition Classes
      Traverser
27.  def traverseConstant(c: Global.Constant): Unit
    Definition Classes
      Traverser
28.  def traverseGuard(guard: Global.Tree): Unit
    Definition Classes
      Traverser
29.  def traverseImportSelector(sel: Global.ImportSelector): Unit
    Definition Classes
      Traverser
30.  def traverseModifiers(mods: Global.Modifiers): Unit
    Definition Classes
      Traverser
31.  def traverseName(name: Global.Name): Unit
    Definition Classes
      Traverser
32.  def traverseParams(params: List[Global.Tree]): Unit
    Definition Classes
      Traverser
33.  def traverseParamss(vparamss: List[List[Global.Tree]]): Unit
    Definition Classes
      Traverser
34.  def traverseParents(parents: List[Global.Tree]): Unit
    Definition Classes
      Traverser
35.  def traversePattern(pat: Global.Tree): Unit
    Definition Classes
      Traverser
36.  def traverseSelfType(self: Global.ValDef): Unit
    Definition Classes
      Traverser
37.  def traverseStats(stats: List[Global.Tree], exprOwner: Global.Symbol): Unit
    Definition Classes
      Traverser
38.  def traverseTrees(trees: List[Global.Tree]): Unit
    Definition Classes
      Traverser
39.  def traverseTreess(treess: List[List[Global.Tree]]): Unit
    Definition Classes
      Traverser
40.  def traverseTypeArgs(args: List[Global.Tree]): Unit
    Definition Classes
      Traverser
41.  def traverseTypeAscription(tpt: Global.Tree): Unit
    Definition Classes
      Traverser
42.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
43.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
44.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Inherited from Global.VarianceValidator

### Inherited from Global.Traverser

### Inherited from AnyRef

### Inherited from Any

### Ungrouped