TypeReprMethods
Extension methods of TypeRepr
Attributes
- Source
- Quotes.scala
- Graph
-
- Supertypes
Members list
Extensions
Extensions
Is this type a subtype of that type?
Is self
type the same as that
type? This is the case iff self <:< that
and that <:< self
.
Is self
type the same as that
type? This is the case iff self <:< that
and that <:< self
.
Attributes
- Source
- Quotes.scala
The current type applied to given type arguments: this[targ]
The current type applied to given type arguments: this[targ0, ..., targN]
The current type applied to given type arguments: this[targ0, ..., targN]
Attributes
- Source
- Quotes.scala
Convert this TypeRepr
to an Type[?]
Convert this TypeRepr
to an Type[?]
Usage: scala //{ import scala.quoted._ def f(using Quotes) = { val q: Quotes = summon[Quotes] import q.reflect._ val typeRepr: TypeRepr = ??? //} typeRepr.asType match case '[t] => '{ val x: t = ??? } //{ } //}
Attributes
- Source
- Quotes.scala
The base classes of this type with the class itself as first element.
The base classes of this type with the class itself as first element.
Attributes
- Source
- Quotes.scala
The least type instance of given class which is a super-type of this type.
The least type instance of given class which is a super-type of this type. Example:
class D[T]
class C extends p.D[Int]
ThisType(C).baseType(D) = p.D[Int]
Attributes
- Source
- Quotes.scala
Attributes
- Source
- Quotes.scala
Follow aliases, annotated types until type is no longer alias type, annotated type.
Follow aliases, annotated types until type is no longer alias type, annotated type.
Attributes
- Source
- Quotes.scala
Is this type an instance of a non-bottom subclass of the given class cls
?
Is this type an instance of a non-bottom subclass of the given class cls
?
Attributes
- Source
- Quotes.scala
Is this type an context function type?
Is this type a dependent function type?
Is this type a function type with erased parameters?
Is this type a function type with erased parameters?
Attributes
- See also
-
isFunctionType
- Source
- Quotes.scala
Is this type a function type?
Is this type a function type?
Attributes
- Returns
-
true if the dealiased type of
self
without refinement isFunctionN[T1, T2, ..., Tn]
- Note
-
The function
-
returns true for
given Int => Int
anderased Int => Int
-
returns false for
List[Int]
, despite thatList[Int] <:< Int => Int
.
-
- Source
- Quotes.scala
Attributes
- Source
- Quotes.scala
Is this type a TupleN
type?
Is this type a TupleN
type?
Attributes
- Returns
-
true if the dealiased type of
self
isTupleN[T1, T2, ..., Tn]
- Source
- Quotes.scala
The type of member
as seen from prefix self
.
The type of member
as seen from prefix self
.
Also see typeRef
and termRef
Attributes
- Source
- Quotes.scala
The type <this .
Shows the type as a String
A simplified version of this type which is equivalent wrt =:= to this type.
A simplified version of this type which is equivalent wrt =:= to this type. Reduces typerefs, applied match types, and and or types.
Attributes
- Source
- Quotes.scala
Substitute all types that refer in their symbol attribute to one of the symbols in from
by the corresponding types in to
.
Substitute all types that refer in their symbol attribute to one of the symbols in from
by the corresponding types in to
.
Attributes
- Source
- Quotes.scala
Attributes
- Source
- Quotes.scala
The applied type arguments (empty if there is no such arguments)
Attributes
- Source
- Quotes.scala
Widen from singleton type to its underlying non-singleton base type by applying one or more underlying
dereferences, Also go from => T to T.
Widen from singleton type to its underlying non-singleton base type by applying one or more underlying
dereferences, Also go from => T to T. Identity for all other types. Example:
class Outer { class C ; val x: C } def o: Outer <o.x.type>.widen = o.C
Attributes
- Source
- Quotes.scala
Widen from ByName type to its result type.
Widen from TermRef to its underlying non-termref base type, while also skipping ByName types.
Widen from TermRef to its underlying non-termref base type, while also skipping ByName types.
Attributes
- Source
- Quotes.scala