scala.tools.nsc.typechecker

# Typers

#### trait Typers extends Modes with Adaptations with Tags

This trait provides methods to assign types to trees.

Self Type
  Analyzer
Version

  1.0

Linear Supertypes
Tags, Adaptations, Modes, AnyRef, Any
Known Subclasses
Analyzer, Duplicator, Duplicators, Erasure, SpecializationDuplicator, TreeCheckers, erasure, treeChecker
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. Typers
2. Tags
3. Adaptations
4. Modes
5. AnyRef
6. Any

Implicitly

1. by any2stringadd
2. by any2stringfmt
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

   Definition Classes
     Adaptations

2. #### sealed abstract class SilentResult [+T] extends AnyRef

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

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

5. #### trait Tag extends AnyRef

   Definition Classes
     Tags

6. #### abstract class Typer extends Analyzer.TyperDiagnostics with Analyzer.Adaptation with Analyzer.Tag with Analyzer.TyperContextErrors

### 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. #### final val EXPRmode: Int(1)

    Definition Classes
      Modes

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

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

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

14. #### final val NOmode: Int(0)

    NOmode, EXPRmode and PATTERNmode are mutually exclusive.

    NOmode, EXPRmode and PATTERNmode are mutually exclusive.

    Definition Classes
      Modes

15. #### final val PATTERNmode: Int(2)

    Definition Classes
      Modes

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

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

18. #### final val RETmode: Int(131072)

    RETmode is set when we are typing a return expression.

    RETmode is set when we are typing a return expression.

    Definition Classes
      Modes

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

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

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

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

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

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

25. #### final val TYPEmode: Int(4)

    TYPEmode needs a comment.

    TYPEmode needs a comment. <-- XXX.

    Definition Classes
      Modes

26. #### object UnTyper extends Global.Traverser

27. #### final def asInstanceOf[T0]: T0

    Definition Classes
      Any

28. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

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

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

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

33. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

34. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

35. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

36. #### final def forArgMode(fun: Global.Tree, mode: Int): Int

37. #### final def forFunMode(mode: Int): Int

    Definition Classes
      Modes

38. #### final def forTypeMode(mode: Int): Int

    Definition Classes
      Modes

39. #### 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()

40. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

41. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

42. #### final def inAllModes(mode: Int, required: Int): Boolean

    Definition Classes
      Modes

43. #### final def inAnyMode(mode: Int, required: Int): Boolean

    Definition Classes
      Modes

44. #### final def inExprModeButNot(mode: Int, prohibited: Int): Boolean

    Definition Classes
      Modes

45. #### final def inExprModeOr(mode: Int, others: Int): Boolean

    Definition Classes
      Modes

46. #### final def inFunMode(mode: Int): Boolean

    Definition Classes
      Modes

47. #### final def inHKMode(mode: Int): Boolean

    Definition Classes
      Modes

48. #### final def inNoModes(mode: Int, prohibited: Int): Boolean

    Definition Classes
      Modes

49. #### final def inPatternMode(mode: Int): Boolean

    Definition Classes
      Modes

50. #### final def inPolyMode(mode: Int): Boolean

    Definition Classes
      Modes

51. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

52. #### var lastTreeToTyper: Global.Tree

53. #### def modeString(mode: Int): String

    Definition Classes
      Modes

54. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

55. #### def newTyper(context: Analyzer.Context): Analyzer.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. #### final val shortenImports: Boolean(false)

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

    Definition Classes
      AnyRef

62. #### def toString(): String

    Definition Classes
      AnyRef → Any

63. #### val transformed: HashMap[Global.Tree, Global.Tree]

64. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

65. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

66. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

### Shadowed Implicit Value Members

1. #### val self: Any

   Implicit information
     This member is added by an implicit conversion from Typers to StringAdd performed by method any2stringadd in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (typers: StringAdd).self

   Definition Classes
     StringAdd

2. #### val self: Any

   Implicit information
     This member is added by an implicit conversion from Typers to StringFormat performed by method any2stringfmt in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (typers: StringFormat).self

   Definition Classes
     StringFormat

### 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.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (typers: ArrowAssoc[Typers]).x

   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.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (typers: Ensuring[Typers]).x

   Definition Classes
     Ensuring
   Annotations
     @deprecated
   Deprecated

     (Since version 2.10.0) Use `resultOfEnsuring`instead``

### Inherited from Tags

### Inherited from Adaptations

### Inherited from Modes

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from Typers to StringAdd

### Inherited by implicit conversion any2stringfmt from Typers to StringFormat

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

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

### Ungrouped