dotty.tools.dotc.typer

ProtoTypes

Related Doc: package typer

object ProtoTypes

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ProtoTypes
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait ApplyingProto extends Type with ProtoType

  2. class CachedSelectionProto extends SelectionProto

  3. class CachedViewProto extends ViewProto

  4. trait Compatibility extends AnyRef

    A trait defining an isCompatible method.

  5. case class FunProto(args: List[ast.untpd.Tree], resType: Type, typer: Typer)(implicit ctx: Context) extends UncachedGroundType with ApplyingProto with Product with Serializable

    A prototype for expressions that appear in function position

    A prototype for expressions that appear in function position

    [](args): resultType

  6. class FunProtoTyped extends FunProto

    A prototype for expressions that appear in function position

    A prototype for expressions that appear in function position

    [](args): resultType, where args are known to be typed

  7. case class IgnoredProto(ignored: Type) extends UncachedGroundType with MatchAlways with Product with Serializable

    A class marking ignored prototypes that can be revealed by deepenProto

  8. trait MatchAlways extends Type with ProtoType

    A trait for prototypes that match all types

  9. case class PolyProto(targs: List[Type], resType: Type) extends UncachedGroundType with ProtoType with Product with Serializable

    A prototype for expressions [] that are type-parameterized:

    A prototype for expressions [] that are type-parameterized:

    [] [targs] resultType

  10. abstract case class SelectionProto(name: Name, memberProto: Type, compat: Compatibility) extends CachedProxyType with ProtoType with ValueTypeOrProto with Product with Serializable

    A prototype for expressions [] that are part of a selection operation:

    A prototype for expressions [] that are part of a selection operation:

    [ ].name: proto

  11. class UnapplyFunProto extends FunProto

  12. class UnapplySelectionProto extends SelectionProto

    A prototype for selections in pattern constructors

  13. abstract case class ViewProto(argType: Type, resType: Type) extends CachedGroundType with ApplyingProto with Product with Serializable

    A prototype for implicitly inferred views:

    A prototype for implicitly inferred views:

    []: argType => resultType

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. object AnyFunctionProto extends UncachedGroundType with MatchAlways

    A prototype for expressions [] that are known to be functions:

    A prototype for expressions [] that are known to be functions:

    [] _

    Annotations
    @sharable()
  5. object AnySelectionProto extends SelectionProto

    A prototype for expressions [] that are in some unspecified selection operation

    A prototype for expressions [] that are in some unspecified selection operation

    [].?: ?

    Used to indicate that expression is in a context where the only valid operation is further selection. In this case, the expression need not be a value.

    Annotations
    @sharable()
    See also

    checkValue

  6. object AnyTypeConstructorProto extends UncachedGroundType with MatchAlways

    A prototype for type constructors that are followed by a type application

    A prototype for type constructors that are followed by a type application

    Annotations
    @sharable()
  7. object AssignProto extends UncachedGroundType with MatchAlways

    Annotations
    @sharable()
  8. object NoViewsAllowed extends Compatibility

  9. object SelectionProto extends Serializable

  10. object ViewProto extends Serializable

  11. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def constrained(pt: PolyType)(implicit ctx: Context): PolyType

    Same as constrained(pt, EmptyTree), but returns just the created polytype

  14. def constrained(pt: PolyType, owningTree: ast.untpd.Tree)(implicit ctx: Context): (PolyType, List[TypeVar])

    Add all parameters in given polytype pt to the constraint's domain.

    Add all parameters in given polytype pt to the constraint's domain. If the constraint contains already some of these parameters in its domain, make a copy of the polytype and add the copy's type parameters instead. Return either the original polytype, or the copy, if one was made. Also, if owningTree is non-empty, add a type variable for each parameter.

    returns

    The added polytype, and the list of created type variables.

  15. object dummyTreeOfType

    Dummy tree to be used as an argument of a FunProto or ViewProto type

  16. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  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: Type, pt: Type)(implicit ctx: Context): Type

    The normalized form of a type

    The normalized form of a type

    • unwraps polymorphic types, tracking their parameters in the current constraint
    • skips implicit parameters; if result type depends on implicit parameter, replace with Wildcard.
    • converts non-dependent method types to the corresponding function types
    • dereferences parameterless method types
    • dereferences nullary method types provided the corresponding function type is not a subtype of the expected type. Note: We need to take account of the possibility of inserting a () argument list in normalization. Otherwise, a type with a def toString(): String member would not count as a valid solution for ?{toString: String}. This would then lead to an implicit insertion, with a nice explosion of inference search because of course every implicit result has some sort of toString method. The problem is solved by dereferencing nullary method types if the corresponding function type is not compatible with the prototype.
  24. final def notify(): Unit

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

    Definition Classes
    AnyRef
  26. def selectionProto(name: Name, tp: Type, typer: Typer)(implicit ctx: Context): CachedType with TermType with Product with Serializable

    Create a selection proto-type, but only one level deep; treat constructors specially

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

    Definition Classes
    AnyRef
  28. def toString(): String

    Definition Classes
    AnyRef → Any
  29. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wildApprox(tp: Type, theMap: WildApproxMap = null)(implicit ctx: Context): Type

    Approximate occurrences of parameter types and uninstantiated typevars by wildcard types.

Inherited from AnyRef

Inherited from Any

Ungrouped