TypeReprMethods

scala.quoted.Quotes.reflectModule.TypeReprMethods

Extension methods of TypeRepr

Attributes

Source:
Quotes.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Extensions

Extensions

extension (self: TypeRepr)
def <:<(that: TypeRepr): Boolean

Is this type a subtype of that type?

Is this type a subtype of that type?

Attributes

Source:
Quotes.scala
def =:=(that: TypeRepr): Boolean

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[targ]

Attributes

Source:
Quotes.scala

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
def asType: Type[_ <: AnyKind]

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 an context function type?

Attributes

See also:

isFunctionType

Source:
Quotes.scala

Is this type a dependent function type?

Is this type a dependent function type?

Attributes

See also:

isFunctionType

Source:
Quotes.scala

Is this type an erased function type?

Is this type an erased function type?

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 is FunctionN[T1, T2, ..., Tn]

Note:

The function

  • returns true for given Int => Int and erased Int => Int
  • returns false for List[Int], despite that List[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 is TupleN[T1, T2, ..., Tn]

Source:
Quotes.scala
def memberType(member: Symbol): TypeRepr

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

The type <this . sym>, reduced if possible

Attributes

Source:
Quotes.scala

Shows the type as a String

Shows the type as a String

Attributes

Source:
Quotes.scala

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)

The applied type arguments (empty if there is no such arguments)

Attributes

Source:
Quotes.scala

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 ByName type to its result type.

Attributes

Source:
Quotes.scala

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