MethodicType
tastyquery.Types.MethodicType
sealed abstract class MethodicType extends TypeOrMethodic
The type of a def
that has at least one (term or type) parameter list.
Partitioned into MethodType and PolyType.
Attributes
- Graph
-
- Supertypes
-
class TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class MethodTypeclass PolyType
Members list
Value members
Abstract methods
Concrete methods
Inherited methods
Attributes
- Inherited from:
- TypeOrMethodic
Is this type close enough to that type so that members with the two types would override each other?
Is this type close enough to that type so that members with the two types would override each other?
This means:
- Either both types are polytypes with the same number of type parameters and their result types match after renaming corresponding type parameters
- Or both types are method types with
=:=
-equivalent(*) parameter types and matching result types after renaming corresponding parameter types if the method types are dependent. - Or both types are
=:=
-equivalent - Or neither type takes term or type parameters.
(*) when matching with a Java method, we also regard Any and Object as equivalent parameter types. (TODO)
This function will always use unsafe-nulls semamtics to check the types. This is because we are using a relaxed rule (ignoring Null
types) to check overriding Java methods.
Attributes
- Inherited from:
- TypeOrMethodic
Attributes
- Inherited from:
- TypeMappable
Attributes
- Inherited from:
- TypeMappable
Attributes
- Inherited from:
- TypeMappable
Widens TermRef
s one level to their underlyingOrMethodic
type.
Widens TermRef
s one level to their underlyingOrMethodic
type.
- If this term type is a
TermRef
, returnsthis.underlyingOrMethodic
. - Otherwise, returns
this
.
Attributes
- Inherited from:
- TermType
In this article