object intoNodes extends DestructureType[TypeNode]
- Source
- TypeStrings.scala
- Alphabetic
- By Inheritance
- intoNodes
- DestructureType
- Function1
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def andThen[A](g: (TypeNode) => A): (Global.Type) => A
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def annotatedType(annotations: List[Global.AnnotationInfo], underlying: Global.Type): TypeNode
- Definition Classes
- DestructureType
- def annotation(ann: Global.AnnotationInfo): TypeNode
- Definition Classes
- DestructureType
- def apply(tp: Global.Type): TypeNode
- Definition Classes
- DestructureType → Function1
- def apply(label: String, tp: Global.Type): TypeNode
- Definition Classes
- DestructureType
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def atom[U](label: String, value: U): TypeNode
- Definition Classes
- DestructureType
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compose[A](g: (A) => Global.Type): (A) => TypeNode
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def constant(label: String, const: Global.Constant): TypeNode
- Definition Classes
- DestructureType
- 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[TypeNode]): TypeNode
- Definition Classes
- DestructureType
- def monoFunction(params: List[Global.Symbol], restpe: Global.Type): TypeNode
- Definition Classes
- DestructureType
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def node(label: String, node: TypeNode): TypeNode
- Definition Classes
- DestructureType
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def nullaryFunction(restpe: Global.Type): TypeNode
- Definition Classes
- DestructureType
- def parentList(tps: List[Global.Type]): TypeNode
- Definition Classes
- DestructureType
- def polyFunction(tparams: List[Global.Symbol], restpe: Global.Type): TypeNode
- Definition Classes
- DestructureType
- def prefix(pre: Global.Type): TypeNode
- Definition Classes
- DestructureType
- def product(typeName: String, nodes: TypeNode*): TypeNode
- Definition Classes
- DestructureType
- def product(tp: Global.Type, nodes: TypeNode*): TypeNode
- Definition Classes
- DestructureType
- def resultType(restpe: Global.Type): TypeNode
- Definition Classes
- DestructureType
- def scope(decls: Global.Scope): TypeNode
- Definition Classes
- DestructureType
- def symbolType(sym: Global.Symbol): String
- Definition Classes
- DestructureType
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Function1 → AnyRef → Any
- def typeArgs(tps: List[Global.Type]): TypeNode
- Definition Classes
- DestructureType
- def typeBounds(lo0: Global.Type, hi0: Global.Type): TypeNode
- Definition Classes
- DestructureType
- def typeConstraint(constr: Global.TypeConstraint): TypeNode
- Definition Classes
- DestructureType
- def typeParams(tps: List[Global.Symbol]): TypeNode
- Definition Classes
- DestructureType
- def typeRef(tp: Global.TypeRef): TypeNode
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.
- Definition Classes
- DestructureType
- def typeRefType(sym: Global.Symbol): String
- Definition Classes
- DestructureType
- def valueParams(params: List[Global.Symbol]): TypeNode
- Definition Classes
- DestructureType
- 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 withLabel(node: TypeNode, label: String): TypeNode
- Definition Classes
- intoNodes → DestructureType
- def withType(node: TypeNode, typeName: String): TypeNode
- Definition Classes
- intoNodes → DestructureType
- def wrapAtom[U](value: U): TypeAtom[U]
- Definition Classes
- intoNodes → DestructureType
- def wrapEmpty: TypeEmpty
- Definition Classes
- intoNodes → DestructureType
- def wrapMono(in: TypeNode, out: TypeNode): TypeNode
- Definition Classes
- intoNodes → DestructureType
- def wrapPoly(in: TypeNode, out: TypeNode): PolyFunction
- Definition Classes
- intoNodes → DestructureType
- def wrapProduct(nodes: List[TypeNode]): TypeProduct
- Definition Classes
- intoNodes → DestructureType
- def wrapSequence(nodes: List[TypeNode]): TypeList
- Definition Classes
- intoNodes → DestructureType
- def wrapSymbolInfo(sym: Global.Symbol): TypeNode
- Definition Classes
- DestructureType
- def wrapTree(tree: Global.Tree): TypeNode
- Definition Classes
- DestructureType
The Scala compiler and reflection APIs.