trait Infer extends Checkable

This trait contains methods related to type parameter inference.

Self Type
Analyzer
Source
Infer.scala
Version

1.0

Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Infer
  2. Checkable
  3. AnyRef
  4. 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

Type Members

  1. trait InferCheckable extends AnyRef
    Definition Classes
    Checkable
  2. abstract class Inferencer extends Analyzer.InferencerContextErrors with Analyzer.InferCheckable

    The context-dependent inferencer part

  3. class NoInstance extends Throwable with ControlThrowable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Infer to any2stringadd[Infer] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Infer, B)
    Implicit
    This member is added by an implicit conversion from Infer to ArrowAssoc[Infer] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def ensuring(cond: (Infer) ⇒ Boolean, msg: ⇒ Any): Infer
    Implicit
    This member is added by an implicit conversion from Infer to Ensuring[Infer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (Infer) ⇒ Boolean): Infer
    Implicit
    This member is added by an implicit conversion from Infer to Ensuring[Infer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: ⇒ Any): Infer
    Implicit
    This member is added by an implicit conversion from Infer to Ensuring[Infer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): Infer
    Implicit
    This member is added by an implicit conversion from Infer to Ensuring[Infer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  14. final def falseIfNoInstance(body: ⇒ Boolean): Boolean
    Annotations
    @inline()
  15. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def formalTypes(formals: List[Global.Type], numArgs: Int, removeByName: Boolean = true, removeRepeated: Boolean = true): List[Global.Type]

    The formal parameter types corresponding to formals.

    The formal parameter types corresponding to formals. If formals has a repeated last parameter, a list of (numArgs - numFormals + 1) copies of its type is appended to the other formals. By-name types are replaced with their underlying type.

    removeByName

    allows keeping ByName parameters. Used in NamesDefaults.

    removeRepeated

    allows keeping repeated parameter (if there's one argument). Used in NamesDefaults.

  17. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Infer to StringFormat[Infer] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  18. def freshVar(tparam: Global.Symbol): Global.TypeVar

    A fresh type variable with given type parameter as origin.

  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def normalize(tp: Global.Type): Global.Type

    Automatically perform the following conversions on expression types: A method type becomes the corresponding function type.

    Automatically perform the following conversions on expression types: A method type becomes the corresponding function type. A nullary method type becomes its result type. Implicit parameters are skipped. This method seems to be performance critical.

  24. final def notify(): Unit
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  26. def propagateKnownTypes(from: Global.Type, to: Global.Symbol): Global.Type

    The applied type of class 'to' after inferring anything possible from the knowledge that 'to' must also be of the type given in 'from'.

    The applied type of class 'to' after inferring anything possible from the knowledge that 'to' must also be of the type given in 'from'.

    Definition Classes
    Checkable
  27. def skipImplicit(tp: Global.Type): Global.Type
  28. def solvedTypes(tvars: List[Global.TypeVar], tparams: List[Global.Symbol], variances: List[Variance], upper: Boolean, depth: Depth): List[Global.Type]

    Solve constraint collected in types tvars.

    Solve constraint collected in types tvars.

    tvars

    All type variables to be instantiated.

    tparams

    The type parameters corresponding to tvars

    variances

    The variances of type parameters; need to reverse solution direction for all contravariant variables.

    upper

    When true search for max solution else min.

    Exceptions thrown
  29. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. def [B](y: B): (Infer, B)
    Implicit
    This member is added by an implicit conversion from Infer to ArrowAssoc[Infer] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
  35. object instantiate extends Global.TypeMap

    Map every TypeVar to its constraint.inst field.

    Map every TypeVar to its constraint.inst field. throw a NoInstance exception if a NoType or WildcardType is encountered.

Inherited from Checkable

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Infer to any2stringadd[Infer]

Inherited by implicit conversion StringFormat from Infer to StringFormat[Infer]

Inherited by implicit conversion Ensuring from Infer to Ensuring[Infer]

Inherited by implicit conversion ArrowAssoc from Infer to ArrowAssoc[Infer]

Ungrouped