Subclass of Application for applicability tests with type arguments and value argument trees.
Subclass of Application for applicability tests with type arguments and value argument trees.
Subclass of Application for applicability tests with value argument types.
the type of arguments, could be tpd.Tree, untpd.Tree, or Type
Subclass of Application for type checking an Apply node with typed arguments.
Subclass of Application for type checking an Apply node with untyped arguments.
Subclass of Application for the cases where we are interested only in a "can/cannot apply" answer, without needing to construct trees or issue error messages.
Subclass of Application for type checking an Apply node, where types of arguments are either known or unknown.
Is there an implicit conversion from tp
to pt
?
Is there an implicit conversion from tp
to pt
?
If app
is a this(...)
constructor call, the this-call argument context,
otherwise the current context.
Check that the result type of the current method fits the given expected result type.
Check that the result type of the current method fits the given expected result type.
Rewrite new Array[T](....)
if T is an unbounded generic to calls to newGenericArray.
Rewrite new Array[T](....)
if T is an unbounded generic to calls to newGenericArray.
It is performed during typer as creation of generic arrays needs a classTag.
we rely on implicit search to find one.
Overridden in ReTyper to handle primitive operations that can be generated after erasure
Overridden in ReTyper to handle primitive operations that can be generated after erasure
If trees
all have numeric value types, and they do not have all the same type,
pick a common numeric supertype and convert all trees to this type.
If all types
are numeric value types, and they are not all the same type,
pick a common numeric supertype and return it instead of every original type.
Is given type applicable to argument types args
, possibly after inserting an apply
?
Is given type applicable to argument types args
, possibly after inserting an apply
?
The expected result type of the application
Is given type applicable to type arguments targs
and argument trees args
,
possibly after inserting an apply
?
Is given type applicable to type arguments targs
and argument trees args
,
possibly after inserting an apply
?
The expected result type of the application
Is given method reference applicable to argument types args
?
Is given method reference applicable to argument types args
?
The expected result type of the application
Is given method reference applicable to type arguments targs
and argument trees args
?
Is given method reference applicable to type arguments targs
and argument trees args
?
The expected result type of the application
In a set of overloaded applicable alternatives, is alt1
at least as good as
alt2
? alt1
and alt2
are non-overloaded references.
A type tp
is compatible with a type pt
if one of the following holds:
A type tp
is compatible with a type pt
if one of the following holds:
tp
is a subtype of pt
2. pt
is by name parameter type, and tp
is compatible with its underlying type
3. there is an implicit conversion from tp
to pt
.
4. tp
is a numeric subtype of pt
(this case applies even if implicit conversions are disabled)
Is given method reference applicable to type arguments targs
and argument trees args
without inferring views?
Is given method reference applicable to type arguments targs
and argument trees args
without inferring views?
The expected result type of the application
Test compatibility after normalization in a fresh typerstate.
Test compatibility after normalization in a fresh typerstate.
Resolve overloaded alternative alts
, given expected type pt
and
possibly also type argument targs
that need to be applied to each alternative
to form the method type.
Resolve overloaded alternative alts
, given expected type pt
and
possibly also type argument targs
that need to be applied to each alternative
to form the method type.
todo: use techniques like for implicits to pick candidates quickly?
A typed unapply hook, can be overridden by re any-typers between frontend and pattern matcher.