Types
Types in the Scala type system.
Every type from the Scala type system is represented in tasty-query as an instance of Type. That abstract class has a number of subtypes for all the possible "shapes" of types.
For example, a reference to the class scala.Int
is represented as
TypeRef(PackageRef("scala"), TypeName("Int"))
Type applications of the form C[T1, ..., Tn]
are represented as
AppliedType(typeForC, List(typeForT1, ..., typeForTn))
etc.
The type hierarchy is organized as follows:
TermType a type that can be the type of a term tree
|
+- PackageRef a reference to a package
|
+- TypeOrMethodic a type or a methodic type (e.g., the declared type of a term symbol)
|
+- MethodicType the type of a method with at least one parameter list
| +- MethodType `(termParams): resultType`
| +- PolyType `[TypeParams]: resultType`
|
+- Type
|
+- NamedType designator type
| +- TypeRef type selection of the form `prefix.T`
| +- TermRef term selection of the form `prefix.t`
|
+- AppliedType `C[T1, ..., Tn]`
+- ByNameType type of a by-name parameter `=> T`
+- ThisType `C.this`
+- OrType `A | B`
+- AndType `A & B`
+- TypeLambda `[T1, ..., Tn] => R`
+- TypeParamRef reference to a type parameter of an enclosing `TypeLambda` or `PolyType`
+- TermParamRef reference to a term parameter of an enclosing `MethodType`
+- AnnotatedType `T @annotation`
+- ConstantType literal singleton type, such as `42` or `"foo"`
+- MatchType `T match { case ... }`
|
+- RefinedType refined type
| +- TypeRefinement `P { type T >: L <: H }`
| +- TermRefinement `P { val/def t: T }`
|
+- RecType recursive type that introduces a recursive `this` binding
+- RecThis recursive reference to the `this` of a `RecType`
+- SuperType `super[mix]` (typically used as `prefix` of `NamedType`s)
In addition, Types
contains additional categories of things used inside other types:
Prefix prefix of a designator type
+- NoPrefix the empty prefix, for direct designators
+- NonEmptyPrefix
+- PackageRef a reference to a package, for designators of top-level symbols
+- Type a type, for named designators
TypeOrWildcard either a type or a wildcard, used in the type arguments of `AppliedType`
+- Type
+- WildcardTypeArg `? >: L <: H`
TermSelectionType the reference type of an `Ident` or `Select`
+- PackageRef
+- TermRef
All of the above types inherit from TypeMappable
, which represents things on which we apply type substitution.
Common shapes of types can be constructed with properties of Symbols.Symbol and with combinator methods on Type:
- typeSymbol.staticRef constructs a
TypeRef
to the given statictypeSymbol
- termSymbol.staticRef constructs a
TermRef
to the given statictermSymbol
- packageSymbol.packageRef constructs a
PackageRef
of the given package - classSymbol.thisType constructs the
ThisType
of the givenclassSymbol
- typeOrPackage.select(name or symbol) constructs a named designator type
- tpe1.appliedTo(tpe2) constructs the application
tpe1[tpe2]
(there is an overload that accepts a list of type arguments) - tpe1 | tpe2 constructs a union type
- tpe1 & tpe2 constructs an intersection type
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Types.type
Members list
Type members
Classlikes
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass TypeBoundsclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
class GroundTypeclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
typ @ annot
typ @ annot
Attributes
- Supertypes
-
class TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
class GroundTypeclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A type application C[T_1, ..., T_n]
Typebounds for wildcard application: C[_], C[?]
A type application C[T_1, ..., T_n]
Typebounds for wildcard application: C[_], C[?]
Attributes
- Supertypes
-
class TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A type that is bound to the identity of an enclosing TypeBinder
.
A type that is bound to the identity of an enclosing TypeBinder
.
Attributes
- Supertypes
-
class Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
A by-name parameter type of the form => T
.
A by-name parameter type of the form => T
.
Attributes
- Supertypes
-
class TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A constant type with single value
.
A constant type with single value
.
Attributes
- Supertypes
-
trait SingletonTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
- Self type
-
ContextualMethodType.type
Superclass for custom transient ground types used by custom algorithms.
Superclass for custom transient ground types used by custom algorithms.
When writing algorithms that manipulate Type
s, it is sometimes useful to temporarily store custom data in place of Type
s. This can be done by defining a subclass of CustomTransientGroundType
. At the end of the day, all CustomTransientGroundType
s should have been replaced by proper Type
s.
The methods of tasty-query
never expose instances of CustomTransientGroundType
, but you may use it for your own purposes.
When permorming an exhaustive match
on all possible Type
s, you should cover CustomTransientGroundType
in a case
that always throws (unless you are actually using it for some purposes):
val tpe: Type = ...
tpe match
case tpe: TypeRef => ...
...
case tpe: CustomTransientGroundType =>
throw AssertionError(s"Unexpected custom transient ground type $tpe")
end match
Attributes
- Supertypes
-
class GroundTypeclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- enum
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
ErasedTypeRef.type
Non-proxy types
Non-proxy types
Attributes
- Supertypes
-
class Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
Attributes
- Supertypes
- Self type
-
ImplicitMethodType.type
Attributes
- Supertypes
-
trait ParamRefBindertrait TypeBinderclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class MethodTypeCompanionobject ContextualMethodTypeobject ImplicitMethodTypeobject MethodTypeobject PolyTypeobject TypeLambdaShow all
selector match { cases }
selector match { cases }
Attributes
- Supertypes
-
class TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
case pattern
=> result
case pattern
=> result
Attributes
- Companion
- object
- Supertypes
-
trait TypeParamRefBindertrait ParamRefBindertrait TypeBinderclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
MatchTypeCase.type
Attributes
- Companion
- object
- Supertypes
-
trait TermLambdaTypetrait LambdaTypetrait ParamRefBindertrait TypeBinderclass MethodicTypeclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
- Self type
-
MethodType.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
The type of a def
that has at least one (term or type) parameter list.
The type of a def
that has at least one (term or type) parameter list.
Partitioned into MethodType and PolyType.
Attributes
- Supertypes
-
class TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class MethodTypeclass PolyType
Attributes
- Companion
- object
- Supertypes
-
class TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
Attributes
- Supertypes
- Self type
-
NoPrefix.type
Attributes
- Supertypes
- Known subtypes
-
class PackageReftrait TermReferenceTypeclass TermRefclass Typetrait BoundTypetrait ParamRefclass TermParamRefclass TypeParamRefclass RecThisclass GroundTypeclass AndTypeclass AnyKindTypeclass NothingTypeclass OrTypeclass TypeLambdaclass TypeProxyclass AnnotatedTypeclass AppliedTypeclass ByNameTypeclass ConstantTypeclass MatchTypeclass NamedTypeclass TypeRefclass RefinedOrRecTypeclass RecTypeclass RefinedTypeclass TermRefinementclass TypeRefinementclass RepeatedTypetrait SingletonTypeclass SkolemTypeclass SuperTypeclass ThisTypeShow all
Attributes
- Supertypes
-
class GroundTypeclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
class GroundTypeclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait TermReferenceTypetrait NonEmptyPrefixtrait Prefixclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A TypeParamRef
or TermParamRef
.
A TypeParamRef
or TermParamRef
.
Attributes
- Supertypes
-
trait BoundTypeclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class TermParamRefclass TypeParamRef
A type binder that binds ParamRef
s.
A type binder that binds ParamRef
s.
Attributes
- Supertypes
- Known subtypes
-
trait LambdaTypetrait TermLambdaTypeclass MethodTypetrait TypeLambdaTypeclass PolyTypeclass TypeLambdatrait TypeParamRefBinderclass MatchTypeCaseShow all
Attributes
- Companion
- object
- Supertypes
-
trait TypeLambdaTypetrait TypeParamRefBindertrait LambdaTypetrait ParamRefBindertrait TypeBinderclass MethodicTypeclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
Attributes
- Supertypes
- Known subtypes
-
object NoPrefixtrait NonEmptyPrefixclass PackageReftrait TermReferenceTypeclass TermRefclass Typetrait BoundTypetrait ParamRefclass TermParamRefclass TypeParamRefclass RecThisclass GroundTypeclass AndTypeclass AnyKindTypeclass NothingTypeclass OrTypeclass TypeLambdaclass TypeProxyclass AnnotatedTypeclass AppliedTypeclass ByNameTypeclass ConstantTypeclass MatchTypeclass NamedTypeclass TypeRefclass RefinedOrRecTypeclass RecTypeclass RefinedTypeclass TermRefinementclass TypeRefinementclass RepeatedTypetrait SingletonTypeclass SkolemTypeclass SuperTypeclass ThisTypeShow all
Attributes
- Supertypes
-
trait SingletonTypetrait BoundTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
trait TypeBinderclass RefinedOrRecTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
class TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
Attributes
- Supertypes
-
class RefinedOrRecTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class TermRefinementclass TypeRefinement
The type of a repeated parameter of the form T*
.
The type of a repeated parameter of the form T*
.
Attributes
- Supertypes
-
class TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A marker trait for types that are guaranteed to contain only a single non-null value (they might contain null in addition).
A marker trait for types that are guaranteed to contain only a single non-null value (they might contain null in addition).
Attributes
- Supertypes
-
class TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class ConstantTypeclass RecThisclass SkolemTypeclass SuperTypeclass TermParamRefclass TermRefclass ThisTypeShow all
A skolem type reference with underlying type tpe
.
A skolem type reference with underlying type tpe
.
For tasty-query, a skolem type is a singleton type of some unknown value of type tpe
.
Skolem types do not appear as the types of trees or symbols, but they may be used internally, notably for subtyping and member lookup purposes.
Note that care is needed when creating them, since not all types need to be inhabited.
A skolem is equal to itself and no other type.
Attributes
- Supertypes
-
trait SingletonTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
The type of a super reference cls.super where thistpe
is cls.this and supertpe
is the type of the value referenced by super
.
The type of a super reference cls.super where thistpe
is cls.this and supertpe
is the type of the value referenced by super
.
Attributes
- Supertypes
-
trait SingletonTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait LambdaTypetrait ParamRefBindertrait TypeBinderclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class MethodType
Attributes
- Supertypes
-
trait SingletonTypetrait ParamReftrait BoundTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
The singleton type for path prefix#myDesignator.
The singleton type for path prefix#myDesignator.
Attributes
- Companion
- object
- Supertypes
-
trait TermReferenceTypetrait SingletonTypeclass NamedTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
The type of term reference, i.e., of an Ident
or Select
.
The type of term reference, i.e., of an Ident
or Select
.
It is either a TermRef
or a PackageRef
.
Attributes
- Supertypes
-
trait NonEmptyPrefixtrait Prefixclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class PackageRefclass TermRef
A term refinement parent { val/def refinedName: refinedType }
.
A term refinement parent { val/def refinedName: refinedType }
.
Value parameters
- parent
-
The type being refined
- refinedName
-
The name of the refined term member
- refinedType
-
The refined type for the given term member
Attributes
- Supertypes
-
class RefinedTypeclass RefinedOrRecTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A marker trait for types that can be the type of a Trees.TermTree.
A marker trait for types that can be the type of a Trees.TermTree.
Partitioned into TypeOrMethodic and PackageRef.
Attributes
- Supertypes
- Known subtypes
-
class PackageReftrait TermReferenceTypeclass TermRefclass TypeOrMethodictrait LambdaTypetrait TermLambdaTypeclass MethodTypetrait TypeLambdaTypeclass PolyTypeclass TypeLambdaclass MethodicTypeclass Typetrait BoundTypetrait ParamRefclass TermParamRefclass TypeParamRefclass RecThisclass GroundTypeclass AndTypeclass AnyKindTypeclass NothingTypeclass OrTypeclass TypeProxyclass AnnotatedTypeclass AppliedTypeclass ByNameTypeclass ConstantTypeclass MatchTypeclass NamedTypeclass TypeRefclass RefinedOrRecTypeclass RecTypeclass RefinedTypeclass TermRefinementclass TypeRefinementclass RepeatedTypetrait SingletonTypeclass SkolemTypeclass SuperTypeclass ThisTypeShow all
Attributes
- Supertypes
-
trait SingletonTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A type in the Scala type system.
A type in the Scala type system.
Partitioned into GroundType and TypeProxy.
Attributes
- Supertypes
-
trait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait BoundTypetrait ParamRefclass TermParamRefclass TypeParamRefclass RecThisclass GroundTypeclass AndTypeclass AnyKindTypeclass NothingTypeclass OrTypeclass TypeLambdaclass TypeProxyclass AnnotatedTypeclass AppliedTypeclass ByNameTypeclass ConstantTypeclass MatchTypeclass NamedTypeclass TermRefclass TypeRefclass RefinedOrRecTypeclass RecTypeclass RefinedTypeclass TermRefinementclass TypeRefinementclass RepeatedTypetrait SingletonTypeclass SkolemTypeclass SuperTypeclass ThisTypeShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass TypeBoundsclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Something that binds inner BoundType
s to its identity.
Something that binds inner BoundType
s to its identity.
Unlike other Type
s, the reference identity of a TypeBinder
is relevant.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait ParamRefBindertrait LambdaTypetrait TermLambdaTypeclass MethodTypetrait TypeLambdaTypeclass PolyTypeclass TypeLambdatrait TypeParamRefBinderclass MatchTypeCaseclass RecTypeShow all
Attributes
- Supertypes
- Known subtypes
-
class AbstractTypeBoundsclass TypeAlias
A type parameter of a type constructor.
A type parameter of a type constructor.
Type parameters of polymorphic class types are Symbols.ClassTypeParamSymbols. For other type constructors, they are instances of an unspecified subclass.
See Type.typeParams.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class ClassTypeParamSymbol
Attributes
- Companion
- object
- Supertypes
-
trait TypeLambdaTypetrait TypeParamRefBindertrait LambdaTypetrait ParamRefBindertrait TypeBinderclass GroundTypeclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TypeLambda.type
Attributes
- Supertypes
-
trait TypeParamRefBindertrait LambdaTypetrait ParamRefBindertrait TypeBinderclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class PolyTypeclass TypeLambda
Attributes
- Supertypes
- Known subtypes
-
object PolyTypeobject TypeLambda
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Prefixobject NoPrefixtrait NonEmptyPrefixclass PackageReftrait TermReferenceTypeclass TermRefclass Typetrait BoundTypetrait ParamRefclass TermParamRefclass TypeParamRefclass RecThisclass GroundTypeclass AndTypeclass AnyKindTypeclass NothingTypeclass OrTypeclass TypeLambdaclass TypeProxyclass AnnotatedTypeclass AppliedTypeclass ByNameTypeclass ConstantTypeclass MatchTypeclass NamedTypeclass TypeRefclass RefinedOrRecTypeclass RecTypeclass RefinedTypeclass TermRefinementclass TypeRefinementclass RepeatedTypetrait SingletonTypeclass SkolemTypeclass SuperTypeclass ThisTypeclass TermTypeclass TypeOrMethodictrait LambdaTypetrait TermLambdaTypeclass MethodTypetrait TypeLambdaTypeclass PolyTypeclass MethodicTypeclass TypeBoundsclass AbstractTypeBoundsclass TypeAliastrait TypeOrWildcardclass WildcardTypeArgShow all
A type or a methodic type.
A type or a methodic type.
Partitioned into Type and MethodicType.
Attributes
- Supertypes
- Known subtypes
-
trait LambdaTypetrait TermLambdaTypeclass MethodTypetrait TypeLambdaTypeclass PolyTypeclass TypeLambdaclass MethodicTypeclass Typetrait BoundTypetrait ParamRefclass TermParamRefclass TypeParamRefclass RecThisclass GroundTypeclass AndTypeclass AnyKindTypeclass NothingTypeclass OrTypeclass TypeProxyclass AnnotatedTypeclass AppliedTypeclass ByNameTypeclass ConstantTypeclass MatchTypeclass NamedTypeclass TermRefclass TypeRefclass RefinedOrRecTypeclass RecTypeclass RefinedTypeclass TermRefinementclass TypeRefinementclass RepeatedTypetrait SingletonTypeclass SkolemTypeclass SuperTypeclass ThisTypeShow all
A type or a wildcard, as used in the type parameters of an AppliedType
.
A type or a wildcard, as used in the type parameters of an AppliedType
.
Partitioned into Type and WildcardTypeArg.
Attributes
- Supertypes
- Known subtypes
-
class Typetrait BoundTypetrait ParamRefclass TermParamRefclass TypeParamRefclass RecThisclass GroundTypeclass AndTypeclass AnyKindTypeclass NothingTypeclass OrTypeclass TypeLambdaclass TypeProxyclass AnnotatedTypeclass AppliedTypeclass ByNameTypeclass ConstantTypeclass MatchTypeclass NamedTypeclass TermRefclass TypeRefclass RefinedOrRecTypeclass RecTypeclass RefinedTypeclass TermRefinementclass TypeRefinementclass RepeatedTypetrait SingletonTypeclass SkolemTypeclass SuperTypeclass ThisTypeclass WildcardTypeArgShow all
Attributes
- Supertypes
-
trait ParamReftrait BoundTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A type binder that binds TypeParamRef
s.
A type binder that binds TypeParamRef
s.
Attributes
- Supertypes
- Known subtypes
Type proxies. Each implementation is expected to redefine the underlying
method.
Type proxies. Each implementation is expected to redefine the underlying
method.
Attributes
- Supertypes
-
class Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class AnnotatedTypeclass AppliedTypeclass ByNameTypeclass ConstantTypeclass MatchTypeclass NamedTypeclass TermRefclass TypeRefclass RefinedOrRecTypeclass RecTypeclass RefinedTypeclass TermRefinementclass TypeRefinementclass RepeatedTypetrait SingletonTypeclass RecThisclass SkolemTypeclass SuperTypeclass TermParamRefclass ThisTypeclass TypeParamRefShow all
Attributes
- Companion
- object
- Supertypes
-
class NamedTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
A type refinement parent { type refinedName <:> refinedBounds }
.
A type refinement parent { type refinedName <:> refinedBounds }
.
Value parameters
- parent
-
The type being refined
- refinedBounds
-
The refined bounds for the given type member
- refinedName
-
The name of the refined type member
Attributes
- Supertypes
-
class RefinedTypeclass RefinedOrRecTypeclass TypeProxyclass Typetrait TypeOrWildcardtrait NonEmptyPrefixtrait Prefixclass TypeOrMethodicclass TermTypeclass TypeMappableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
WildcardTypeArg.type