trait DestructureType[Node] extends (Global.Type) => Node
- Alphabetic
- By Inheritance
- DestructureType
- Function1
- AnyRef
- Any
- by UnliftOps
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def withLabel(node: Node, label: String): Node
- abstract def withType(node: Node, typeName: String): Node
- abstract def wrapAtom[U](value: U): Node
- abstract def wrapEmpty: Node
- abstract def wrapMono(in: Node, out: Node): Node
- abstract def wrapPoly(in: Node, out: Node): Node
- abstract def wrapProduct(nodes: List[Node]): Node
- abstract def wrapSequence(nodes: List[Node]): Node
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toany2stringadd[DestructureType[Node]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (DestructureType[Node], B)
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toArrowAssoc[DestructureType[Node]] performed by method ArrowAssoc in scala.Predef.This conversion will take place only if Node is a subclass of Option[Nothing] (Node <: Option[Nothing]).
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def andThen[A](g: (Node) => A): (Global.Type) => A
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def annotatedType(annotations: List[Global.AnnotationInfo], underlying: Global.Type): Node
- def annotation(ann: Global.AnnotationInfo): Node
- def apply(tp: Global.Type): Node
- Definition Classes
- DestructureType → Function1
- def apply(label: String, tp: Global.Type): Node
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def atom[U](label: String, value: U): Node
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compose[A](g: (A) => Global.Type): (A) => Node
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def constant(label: String, const: Global.Constant): Node
- def ensuring(cond: (DestructureType[Node]) => Boolean, msg: => Any): DestructureType[Node]
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toEnsuring[DestructureType[Node]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (DestructureType[Node]) => Boolean): DestructureType[Node]
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toEnsuring[DestructureType[Node]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): DestructureType[Node]
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toEnsuring[DestructureType[Node]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): DestructureType[Node]
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toEnsuring[DestructureType[Node]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def list(nodes: List[Node]): Node
- def monoFunction(params: List[Global.Symbol], restpe: Global.Type): Node
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def node(label: String, node: Node): Node
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def nullaryFunction(restpe: Global.Type): Node
- def parentList(tps: List[Global.Type]): Node
- def polyFunction(tparams: List[Global.Symbol], restpe: Global.Type): Node
- def prefix(pre: Global.Type): Node
- def product(typeName: String, nodes: Node*): Node
- def product(tp: Global.Type, nodes: Node*): Node
- def resultType(restpe: Global.Type): Node
- def scope(decls: Global.Scope): Node
- def symbolType(sym: Global.Symbol): String
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Function1 → AnyRef → Any
- def typeArgs(tps: List[Global.Type]): Node
- def typeBounds(lo0: Global.Type, hi0: Global.Type): Node
- def typeConstraint(constr: Global.TypeConstraint): Node
- def typeParams(tps: List[Global.Symbol]): Node
- def typeRef(tp: Global.TypeRef): Node
This imposes additional structure beyond that which is visible in the case class hierarchy.
This imposes additional structure beyond that which is visible in the case class hierarchy. In particular, (too) many different constructs are encoded in TypeRefs; here they are partitioned somewhat before being dispatched.
For example, a typical type parameter is encoded as TypeRef(NoPrefix, sym, Nil) with its upper and lower bounds stored in the info of the symbol. Viewing the TypeRef naively we are treated to both too much information (useless prefix, usually empty args) and too little (bounds hidden behind indirection.) So drop the prefix and promote the bounds.
- def typeRefType(sym: Global.Symbol): String
- def unlift: PartialFunction[Global.Type, B]
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toUnliftOps[Global.Type, B] performed by method UnliftOps in scala.Function1.This conversion will take place only if Node is a subclass of Option[B] (Node <: Option[B]).
- Definition Classes
- UnliftOps
- def valueParams(params: List[Global.Symbol]): Node
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def wrapSymbolInfo(sym: Global.Symbol): Node
- def wrapTree(tree: Global.Tree): Node
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toStringFormat[DestructureType[Node]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (DestructureType[Node], B)
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] toArrowAssoc[DestructureType[Node]] performed by method ArrowAssoc in scala.Predef.This conversion will take place only if Node is a subclass of Option[Nothing] (Node <: Option[Nothing]).
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
The Scala compiler and reflection APIs.