dotty.tools.dotc.transform

TreeChecker

Related Doc: package transform

class TreeChecker extends DotClass with Phase with SymTransformer

Run by -Ycheck option after a given phase, this class retypes all syntax trees and verifies that the type of each tree node so obtained conforms to the type found in the tree node. It also performs the following checks:

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TreeChecker
  2. SymTransformer
  3. DenotTransformer
  4. Phase
  5. DotClass
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TreeChecker()

Type Members

  1. class Checker extends ReTyper

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def <=(that: Phase): Boolean

    Definition Classes
    Phase
  4. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  5. val NoSuperClass: FlagSet

  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def check(phasesToRun: Seq[Phase], ctx: Context): ast.tpd.Tree

  8. def checkCompanion(symd: SymDenotation)(implicit ctx: Context): Unit

  9. def checkPostCondition(tree: ast.tpd.Tree)(implicit ctx: Context): Unit

    Check what the phase achieves, to be called at any point after it is finished.

    Check what the phase achieves, to be called at any point after it is finished.

    Definition Classes
    Phase
  10. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def description: String

    Definition Classes
    Phase
  12. def end: PhaseId

    Definition Classes
    Phase
  13. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  15. final def erasedTypes: Boolean

    Definition Classes
    Phase
  16. def exists: Boolean

    Definition Classes
    Phase
  17. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. final def flatClasses: Boolean

    Definition Classes
    Phase
  19. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  20. final def hasNext: Boolean

    Definition Classes
    Phase
  21. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  22. def id: Int

    The sequence position of this phase in the given context where 0 is reserved for NoPhase and the first real phase is at position 1.

    The sequence position of this phase in the given context where 0 is reserved for NoPhase and the first real phase is at position 1. -1 if the phase is not installed in the context.

    Definition Classes
    Phase
  23. def init(base: ContextBase, id: Int): Unit

    Attributes
    protected[dotty.tools.dotc.core.Phases]
    Definition Classes
    Phase
  24. def init(base: ContextBase, start: Int, end: Int): Unit

    Attributes
    protected[dotty.tools.dotc.core.Phases]
    Definition Classes
    Phase
  25. def isCheckable: Boolean

    Output should be checkable by TreeChecker

    Output should be checkable by TreeChecker

    Definition Classes
    Phase
  26. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  27. def isTyper: Boolean

    Is this phase the standard typerphase? True for FrontEnd, but not for other first phases (such as FromTasty).

    Is this phase the standard typerphase? True for FrontEnd, but not for other first phases (such as FromTasty). The predicate is tested in some places that perform checks and corrections. It's different from isAfterTyper (and cheaper to test).

    Definition Classes
    Phase
  28. def isValidJVMMethodName(name: Name): Boolean

  29. def isValidJVMName(name: Name): Boolean

  30. final def iterator: Iterator[Phase]

    Definition Classes
    Phase
  31. final def labelsReordered: Boolean

    Definition Classes
    Phase
  32. def lastPhaseId(implicit ctx: Context): Int

    The last phase during which the transformed denotations are valid

    The last phase during which the transformed denotations are valid

    Definition Classes
    DenotTransformer
  33. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  34. final def next: Phase

    Definition Classes
    Phase
  35. final def notify(): Unit

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

    Definition Classes
    AnyRef
  37. def period: Period

    Definition Classes
    Phase
  38. def phaseName: String

    Definition Classes
    TreeCheckerPhase
  39. final def prev: Phase

    Definition Classes
    Phase
  40. def printError(str: String)(implicit ctx: Context): Unit

  41. final def refChecked: Boolean

    Definition Classes
    Phase
  42. def relaxedTyping: Boolean

    If set, allow missing or superfluous arguments in applications and type applications.

    If set, allow missing or superfluous arguments in applications and type applications.

    Definition Classes
    Phase
  43. def run(implicit ctx: Context): Unit

    Definition Classes
    TreeCheckerPhase
  44. def runOn(units: List[CompilationUnit])(implicit ctx: Context): List[CompilationUnit]

    Definition Classes
    Phase
  45. def runsAfter: Set[Class[_ <: Phase]]

    List of names of phases that should precede this phase

    List of names of phases that should precede this phase

    Definition Classes
    Phase
  46. def start: Int

    Definition Classes
    Phase
  47. final def symbolicRefs: Boolean

    Definition Classes
    Phase
  48. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  49. def testDuplicate(sym: Symbol, registry: Map[String, Symbol], typ: String)(implicit ctx: Context): Unit

  50. def toString(): String

    Definition Classes
    Phase → AnyRef → Any
  51. def transform(ref: SingleDenotation)(implicit ctx: Context): SingleDenotation

    The transformation method

    The transformation method

    Definition Classes
    SymTransformerDenotTransformer
  52. def transformSym(symd: SymDenotation)(implicit ctx: Context): SymDenotation

    Definition Classes
    TreeCheckerSymTransformer
  53. def unsupported(methodName: String): Nothing

    Throws an UnsupportedOperationException with the given method name.

    Throws an UnsupportedOperationException with the given method name.

    Definition Classes
    DotClass
  54. def validFor(implicit ctx: Context): Period

    The validity period of the transformer in the given context

    The validity period of the transformer in the given context

    Definition Classes
    DenotTransformer
  55. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from SymTransformer

Inherited from DenotTransformer

Inherited from Phase

Inherited from DotClass

Inherited from AnyRef

Inherited from Any

Ungrouped