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:
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. Example:
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 an erased function type?
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
.
- returns true for
- 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 . sym>, reduced if possible
Shows the type as a String
A simplified version of this type which is equivalent wrt =:= to this type. Reduces typerefs, applied match types, and and or types.
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. Identity for all other types. Example:
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