scala.tools.nsc.typechecker

Typers

trait Typers extends Modes with Adaptations with Taggings with PatMatVirtualiser

This trait provides methods to assign types to trees.

Self Type
Analyzer
Source
Typers.scala
Version

1.0

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Typers
  2. PatMatVirtualiser
  3. TreeDSL
  4. Taggings
  5. Adaptations
  6. Modes
  7. AnyRef
  8. Any
Implicitly
  1. by any2stringfmt
  2. by any2stringadd
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait Adaptation extends AnyRef

  2. trait CodegenCore extends MatchMonadInterface

  3. trait CommonSubconditionElimination extends TreeMakerApproximation

  4. trait DeadCodeElimination extends TreeMakers

  5. trait MatchMonadInterface extends AnyRef

    Interface with user-defined match monad? if there's a match in scope, we use this as the match strategy, assuming it conforms to MatchStrategy as defined below:

  6. trait MatchOptimizations extends CommonSubconditionElimination with DeadCodeElimination with SwitchEmission with OptimizedCodegen

  7. trait MatchTranslation extends MatchMonadInterface

  8. trait OptimizedCodegen extends CodegenCore with TypedSubstitution with OptimizedMatchMonadInterface

  9. trait OptimizedMatchMonadInterface extends MatchMonadInterface

  10. class OptimizingMatchTranslator extends MatchTranslation with TreeMakers with MatchOptimizations

  11. trait PureCodegen extends CodegenCore with PureMatchMonadInterface

  12. trait PureMatchMonadInterface extends MatchMonadInterface

  13. class PureMatchTranslator extends MatchTranslation with TreeMakers with PureCodegen

  14. sealed abstract class SilentResult[+T] extends AnyRef

  15. case class SilentResultValue[+T](value: T) extends SilentResult[T] with Product with Serializable

  16. case class SilentTypeError(err: AbsTypeError) extends SilentResult[Nothing] with Product with Serializable

  17. trait SwitchEmission extends TreeMakers with OptimizedMatchMonadInterface

  18. trait Tagging extends AnyRef

  19. trait TreeMakerApproximation extends TreeMakers

  20. trait TreeMakers extends TypedSubstitution

  21. trait TypedSubstitution extends MatchMonadInterface

  22. abstract class Typer extends TyperDiagnostics with Adaptation with Tagging with TyperContextErrors

Abstract Value Members

  1. abstract val global: Global

    Definition Classes
    TreeDSL

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. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from Typers to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (Typers, B)

    Implicit information
    This member is added by an implicit conversion from Typers to ArrowAssoc[Typers] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. final val ALTmode: Int(8192)

    ALTmode is set when we are under a pattern alternative.

    ALTmode is set when we are under a pattern alternative.

    Definition Classes
    Modes
  9. final val BYVALmode: Int(32768)

    BYVALmode is set when we are typing an expression that occurs in a by-value position.

    BYVALmode is set when we are typing an expression that occurs in a by-value position. An expression e1 is in by-value position within expression e2 iff it will be reduced to a value at that position during the evaluation of e2. Examples are by-value function arguments or the conditional of an if-then-else clause. This mode has been added to support continuations.

    Definition Classes
    Modes
  10. object CODE extends AnyRef

  11. final val EXPRmode: Int(1)

    Definition Classes
    Modes
  12. final val FUNmode: Int(16)

    FUNmode is orthogonal to above.

    FUNmode is orthogonal to above. When set we are looking for a method or constructor.

    Definition Classes
    Modes
  13. final val HKmode: Int(16384)

    HKmode is set when we are typing a higher-kinded type.

    HKmode is set when we are typing a higher-kinded type. adapt should then check kind-arity based on the prototypical type's kind arity. Type arguments should not be inferred.

    Definition Classes
    Modes
  14. final val LHSmode: Int(1024)

    LHSmode is set for the left-hand side of an assignment.

    LHSmode is set for the left-hand side of an assignment.

    Definition Classes
    Modes
  15. object MatchTranslator extends AnyRef

  16. final val NOmode: Int(0)

    NOmode, EXPRmode and PATTERNmode are mutually exclusive.

    NOmode, EXPRmode and PATTERNmode are mutually exclusive.

    Definition Classes
    Modes
  17. final val PATTERNmode: Int(2)

    Definition Classes
    Modes
  18. final val POLYmode: Int(32)

    POLYmode is orthogonal to above.

    POLYmode is orthogonal to above. When set expression types can be polymorphic.

    Definition Classes
    Modes
  19. final val QUALmode: Int(64)

    QUALmode is orthogonal to above.

    QUALmode is orthogonal to above. When set expressions may be packages and Java statics modules.

    Definition Classes
    Modes
  20. final val SCCmode: Int(8)

    SCCmode is orthogonal to above.

    SCCmode is orthogonal to above. When set we are in the this or super constructor call of a constructor.

    Definition Classes
    Modes
  21. final val SNDTRYmode: Int(512)

    SNDTRYmode indicates that an application is typed for the 2nd time.

    SNDTRYmode indicates that an application is typed for the 2nd time. In that case functions may no longer be coerced with implicit views.

    Definition Classes
    Modes
  22. final val STARmode: Int(4096)

    STARmode is set when star patterns are allowed.

    STARmode is set when star patterns are allowed. (This was formerly called REGPATmode.)

    Definition Classes
    Modes
  23. final val SUPERCONSTRmode: Int(256)

    SUPERCONSTRmode is set for the super in a superclass constructor call super.

    SUPERCONSTRmode is set for the super in a superclass constructor call super.<init>.

    Definition Classes
    Modes
  24. val SYNTH_CASE: Int

    Definition Classes
    PatMatVirtualiser
  25. final val TAPPmode: Int(128)

    TAPPmode is set for the function/type constructor part of a type application.

    TAPPmode is set for the function/type constructor part of a type application. When set we do not decompose PolyTypes.

    Definition Classes
    Modes
  26. final val TYPEPATmode: Int(65536)

    TYPEPATmode is set when we are typing a type in a pattern.

    TYPEPATmode is set when we are typing a type in a pattern.

    Definition Classes
    Modes
  27. final val TYPEmode: Int(4)

    TYPEmode needs a comment.

    TYPEmode needs a comment. <-- XXX.

    Definition Classes
    Modes
  28. object UnTyper extends Traverser

  29. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  30. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  31. def ensuring(cond: (Typers) ⇒ Boolean, msg: ⇒ Any): Typers

    Implicit information
    This member is added by an implicit conversion from Typers to Ensuring[Typers] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  32. def ensuring(cond: (Typers) ⇒ Boolean): Typers

    Implicit information
    This member is added by an implicit conversion from Typers to Ensuring[Typers] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  33. def ensuring(cond: Boolean, msg: ⇒ Any): Typers

    Implicit information
    This member is added by an implicit conversion from Typers to Ensuring[Typers] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  34. def ensuring(cond: Boolean): Typers

    Implicit information
    This member is added by an implicit conversion from Typers to Ensuring[Typers] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  35. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  38. final def forArgMode(fun: Tree, mode: Int): Int

  39. final def forFunMode(mode: Int): Int

    Definition Classes
    Modes
  40. final def forTypeMode(mode: Int): Int

    Definition Classes
    Modes
  41. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from Typers to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  42. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  44. final def inAllModes(mode: Int, required: Int): Boolean

    Definition Classes
    Modes
  45. final def inAnyMode(mode: Int, required: Int): Boolean

    Definition Classes
    Modes
  46. final def inExprModeButNot(mode: Int, prohibited: Int): Boolean

    Definition Classes
    Modes
  47. final def inFunMode(mode: Int): Boolean

    Definition Classes
    Modes
  48. final def inHKMode(mode: Int): Boolean

    Definition Classes
    Modes
  49. final def inNoModes(mode: Int, prohibited: Int): Boolean

    Definition Classes
    Modes
  50. final def inPatternMode(mode: Int): Boolean

    Definition Classes
    Modes
  51. final def inPolyMode(mode: Int): Boolean

    Definition Classes
    Modes
  52. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  53. def modeString(mode: Int): String

    Definition Classes
    Modes
  54. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  55. def newTyper(context: Context): Typer

  56. final def notify(): Unit

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

    Definition Classes
    AnyRef
  58. final def onlyStickyModes(mode: Int): Int

    Definition Classes
    Modes
  59. def resetTyper(): Unit

  60. val self: Any

    Implicit information
    This member is added by an implicit conversion from Typers to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
  61. val self: Any

    Implicit information
    This member is added by an implicit conversion from Typers to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  62. final val shortenImports: Boolean(false)

  63. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  64. def toString(): String

    Definition Classes
    AnyRef → Any
  65. val transformed: HashMap[Tree, Tree]

  66. object vpmName extends AnyRef

  67. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  70. def [B](y: B): (Typers, B)

    Implicit information
    This member is added by an implicit conversion from Typers to ArrowAssoc[Typers] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. def x: Typers

    Implicit information
    This member is added by an implicit conversion from Typers to ArrowAssoc[Typers] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: Typers

    Implicit information
    This member is added by an implicit conversion from Typers to Ensuring[Typers] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from PatMatVirtualiser

Inherited from TreeDSL

Inherited from Taggings

Inherited from Adaptations

Inherited from Modes

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringfmt from Typers to StringFormat

Inherited by implicit conversion any2stringadd from Typers to StringAdd

Inherited by implicit conversion any2ArrowAssoc from Typers to ArrowAssoc[Typers]

Inherited by implicit conversion any2Ensuring from Typers to Ensuring[Typers]