ProtoTypes
Attributes
- Graph
-
- Supertypes
- Self type
-
ProtoTypes.type
Members list
Type members
Classlikes
A prototype for expressions [] that are known to be functions:
A prototype for expressions [] that are known to be functions:
[] _
Attributes
- Supertypes
-
trait MatchAlwaystrait ProtoTypeclass UncachedGroundTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Self type
-
AnyFunctionProto.type
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.
Attributes
- See also
-
checkValue
- Supertypes
-
class SelectionPrototrait Serializabletrait Producttrait Equalstrait ValueTypeOrPrototrait TermTypetrait ProtoTypeclass CachedProxyTypetrait CachedTypeclass TypeProxyclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Self type
-
AnySelectionProto.type
A prototype for type constructors that are followed by a type application
A prototype for type constructors that are followed by a type application
Attributes
- Supertypes
-
trait MatchAlwaystrait ProtoTypeclass UncachedGroundTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Self type
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
-
class IgnoredPrototrait Serializabletrait Producttrait Equalstrait MatchAlwaystrait ProtoTypeclass CachedGroundTypetrait CachedTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
class SelectionPrototrait Serializabletrait Producttrait Equalstrait ValueTypeOrPrototrait TermTypetrait ProtoTypeclass CachedProxyTypetrait CachedTypeclass TypeProxyclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
class ViewPrototrait Serializabletrait Producttrait Equalstrait ApplyingPrototrait ProtoTypeclass CachedGroundTypetrait CachedTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
A trait defining an isCompatible
method.
A trait defining an isCompatible
method.
Attributes
- Supertypes
- Known subtypes
-
trait Applicationsclass Typerclass ReTyperclass InlineTyperclass Typerclass Checkerclass LocalCheckerobject NoViewsAllowedShow all
A prototype for expressions that appear in function position
Value parameters
- applyKind
-
The kind of application (regular/using/tupled infix operand)
- args
-
The untyped arguments to which the function is applied
- constrainResultDeep
-
A flag to indicate that constrainResult on this prototype should typecheck and compare the arguments.
- resType
-
The expeected result type
- state
-
The state object to use for tracking the changes to this prototype
- typer
-
The typer to use for typing the arguments
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait FunOrPolyPrototrait ApplyingPrototrait ProtoTypeclass UncachedGroundTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class FunProtoTyped
Attributes
- Supertypes
A prototype for expressions that appear in function position
A prototype for expressions that appear in function position
Attributes
- Supertypes
-
class FunPrototrait Serializabletrait Producttrait Equalstrait FunOrPolyPrototrait ApplyingPrototrait ProtoTypeclass UncachedGroundTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
A class marking ignored prototypes that can be revealed by deepenProto
A class marking ignored prototypes that can be revealed by deepenProto
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait MatchAlwaystrait ProtoTypeclass CachedGroundTypetrait CachedTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class CachedIgnoredProto
Attributes
- Companion
- class
- Supertypes
- Self type
-
IgnoredProto.type
Attributes
- Supertypes
-
trait MatchAlwaystrait ProtoTypeclass UncachedGroundTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Self type
-
LhsProto.type
A trait for prototypes that match all types
A trait for prototypes that match all types
Attributes
- Supertypes
- Known subtypes
-
object AnyFunctionProtoobject AnyTypeConstructorProtoclass IgnoredProtoclass CachedIgnoredProtoobject LhsProto
Attributes
- Supertypes
- Self type
-
NoViewsAllowed.type
A prototype for expressions [] that are type-parameterized:
A prototype for expressions [] that are type-parameterized:
[] [targs] resultType
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait FunOrPolyPrototrait ProtoTypeclass UncachedGroundTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
A prototype for expressions [] that are part of a selection operation:
A prototype for expressions [] that are part of a selection operation:
[ ].name: proto
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ValueTypeOrPrototrait TermTypetrait ProtoTypeclass CachedProxyTypetrait CachedTypeclass TypeProxyclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
object AnySelectionProtoclass CachedSelectionProtoobject SingletonTypeProtoclass UnapplySelectionProto
Attributes
- Companion
- class
- Supertypes
- Self type
-
SelectionProto.type
Attributes
- Supertypes
-
class SelectionPrototrait Serializabletrait Producttrait Equalstrait ValueTypeOrPrototrait TermTypetrait ProtoTypeclass CachedProxyTypetrait CachedTypeclass TypeProxyclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Self type
-
SingletonTypeProto.type
Attributes
- Supertypes
-
class FunPrototrait Serializabletrait Producttrait Equalstrait FunOrPolyPrototrait ApplyingPrototrait ProtoTypeclass UncachedGroundTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
A prototype for selections in pattern constructors
A prototype for selections in pattern constructors
Attributes
- Supertypes
-
class SelectionPrototrait Serializabletrait Producttrait Equalstrait ValueTypeOrPrototrait TermTypetrait ProtoTypeclass CachedProxyTypetrait CachedTypeclass TypeProxyclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
A prototype for implicitly inferred views:
A prototype for implicitly inferred views:
[]: argType => resultType
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ApplyingPrototrait ProtoTypeclass CachedGroundTypetrait CachedTypeclass Typetrait Showabletrait Hashableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class CachedViewProto
Dummy tree to be used as an argument of a FunProto or ViewProto type
Dummy tree to be used as an argument of a FunProto or ViewProto type
Attributes
- Supertypes
- Self type
-
dummyTreeOfType.type
Value members
Concrete methods
Add all parameters of given type lambda tl
to the constraint's domain. If the constraint contains already some of these parameters in its domain, make a copy of the type lambda and add the copy's type parameters instead. Return either the original type lambda, or the copy, if one was made. Also, if owningTree
is non-empty or alwaysAddTypeVars
is true, add a type variable for each parameter.
Add all parameters of given type lambda tl
to the constraint's domain. If the constraint contains already some of these parameters in its domain, make a copy of the type lambda and add the copy's type parameters instead. Return either the original type lambda, or the copy, if one was made. Also, if owningTree
is non-empty or alwaysAddTypeVars
is true, add a type variable for each parameter.
Attributes
- Returns
-
The added type lambda, and the list of created type variables.
Same as constrained(tl, EmptyTree, alwaysAddTypeVars = true)
, but returns just the created type vars.
Same as constrained(tl, EmptyTree, alwaysAddTypeVars = true)
, but returns just the created type vars.
Attributes
Instantiate tl
with fresh type variables added to the constraint.
Instantiate tl
with fresh type variables added to the constraint.
Attributes
Create a new TypeVar that represents a dependent method parameter singleton ref
Create a new TypeVar that represents a dependent method parameter singleton ref
Attributes
A fresh type variable added to the current constraint.
A fresh type variable added to the current constraint.
Value parameters
- bounds
-
The initial bounds of the variable
- name
-
The name of the variable, defaults a fresh
DepParamName
- nestingLevel
-
See
TypeVar#nestingLevel
- represents
-
If it exists, a ParamRef that this TypeVar represents, to be retrieved using
representedParamRef
. in the substitution generated byresultTypeApprox
Ifrepresents
exists, it is stored in the result type of the PolyType that backs the TypeVar, to be retrieved byrepresentedParamRef
.
Attributes
The normalized form of a type
The normalized form of a type
- instantiate polymorphic types with fresh type variables in the current constraint
- skips implicit parameters of methods and functions; if result type depends on implicit parameter, replace with wildcard.
- converts non-dependent method types to the corresponding function types unless the expected type is an ApplyingProto or IgnoredProto.
- 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.
Attributes
If param
was created using newTypeVar(..., represents = X)
, returns X. This is used in:
If param
was created using newTypeVar(..., represents = X)
, returns X. This is used in:
Inferencing#constrainIfDependentParamRef
to retrieve the dependent function parameter for which the variable was substituted.ConstraintHandling#LevelAvoidMap#legalVar
to retrieve the type variable that was avoided in a previous call tolegalVar
.
Attributes
The result type of mt
, where all references to parameters of mt
are replaced by either wildcards or TypeParamRefs.
The result type of mt
, where all references to parameters of mt
are replaced by either wildcards or TypeParamRefs.
Attributes
Create a selection proto-type, but only one level deep; treat constructors specially
Create a selection proto-type, but only one level deep; treat constructors specially