trait DestructureType[Node] extends (Global.Type) ⇒ Node
- Alphabetic
- By Inheritance
- DestructureType
- Function1
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
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] to any2stringadd[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] to ArrowAssoc[DestructureType[Node]] performed by method ArrowAssoc in scala.Predef.
- 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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] to Ensuring[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] to Ensuring[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] to Ensuring[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] to Ensuring[DestructureType[Node]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] to StringFormat[DestructureType[Node]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
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
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- 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 valueParams(params: List[Global.Symbol]): Node
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def wrapSymbolInfo(sym: Global.Symbol): Node
- def wrapTree(tree: Global.Tree): Node
-
def
→[B](y: B): (DestructureType[Node], B)
- Implicit
- This member is added by an implicit conversion from DestructureType[Node] to ArrowAssoc[DestructureType[Node]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
The Scala compiler and reflection APIs.