scala.tools.nsc.typechecker.DestructureTypes

DestructureType

trait DestructureType[Node] extends (Type) ⇒ Node

Source
DestructureTypes.scala
Linear Supertypes
(Type) ⇒ Node, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. DestructureType
  2. Function1
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringfmt
  2. by any2stringadd
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def withLabel(node: Node, label: String): Node

  2. abstract def withType(node: Node, typeName: String): Node

  3. abstract def wrapAtom[U](value: U): Node

  4. abstract def wrapEmpty: Node

  5. abstract def wrapMono(in: Node, out: Node): Node

  6. abstract def wrapPoly(in: Node, out: Node): Node

  7. abstract def wrapProduct(nodes: List[Node]): Node

  8. abstract def wrapSequence(nodes: List[Node]): Node

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (DestructureType[Node], B)

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to ArrowAssoc[DestructureType[Node]] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. def andThen[A](g: (Node) ⇒ A): (Type) ⇒ A

    Definition Classes
    Function1
  9. def annotatedType(annotations: List[AnnotationInfo], underlying: Type): Node

  10. def annotation(ann: AnnotationInfo): Node

  11. def apply(tp: Type): Node

    Definition Classes
    DestructureType → Function1
  12. def apply(label: String, tp: Type): Node

  13. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  14. def atom[U](label: String, value: U): Node

  15. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  16. def compose[A](g: (A) ⇒ Type): (A) ⇒ Node

    Definition Classes
    Function1
  17. def const[T](named: (String, T)): Node

  18. def constant(label: String, const: Constant): Node

  19. def ensuring(cond: (DestructureType[Node]) ⇒ Boolean, msg: ⇒ Any): DestructureType[Node]

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to Ensuring[DestructureType[Node]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: (DestructureType[Node]) ⇒ Boolean): DestructureType[Node]

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to Ensuring[DestructureType[Node]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. def ensuring(cond: Boolean, msg: ⇒ Any): DestructureType[Node]

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to Ensuring[DestructureType[Node]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  22. def ensuring(cond: Boolean): DestructureType[Node]

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to Ensuring[DestructureType[Node]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  23. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  25. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  26. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  27. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  28. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  29. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  30. def list(nodes: List[Node]): Node

  31. def monoFunction(params: List[Symbol], restpe: Type): Node

  32. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  33. def node(label: String, node: Node): Node

  34. final def notify(): Unit

    Definition Classes
    AnyRef
  35. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  36. def nullaryFunction(restpe: Type): Node

  37. def parentList(tps: List[Type]): Node

  38. def polyFunction(tparams: List[Symbol], restpe: Type): Node

  39. def prefix(pre: Type): Node

  40. def product(typeName: String, nodes: Node*): Node

  41. def product(tp: Type, nodes: Node*): Node

  42. def resultType(restpe: Type): Node

  43. def scope(decls: Scope): Node

  44. val self: Any

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
  45. val self: Any

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  46. def symbolType(sym: Symbol): String

  47. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  48. def toString(): String

    Definition Classes
    Function1 → AnyRef → Any
  49. def typeArgs(tps: List[Type]): Node

  50. def typeBounds(lo0: Type, hi0: Type): Node

  51. def typeConstraint(constr: TypeConstraint): Node

  52. def typeParams(tps: List[Symbol]): Node

  53. def typeRef(tp: 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.

  54. def typeRefType(sym: Symbol): String

  55. def valueParams(params: List[Symbol]): Node

  56. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  57. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  58. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  59. def wrapInfo(sym: Symbol): Node

  60. def wrapSymbol(label: String, sym: Symbol): Node

  61. def wrapSymbolInfo(sym: Symbol): Node

  62. def wrapTree(tree: Tree): Node

  63. def [B](y: B): (DestructureType[Node], B)

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to ArrowAssoc[DestructureType[Node]] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. def x: DestructureType[Node]

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to ArrowAssoc[DestructureType[Node]] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: DestructureType[Node]

    Implicit information
    This member is added by an implicit conversion from DestructureType[Node] to Ensuring[DestructureType[Node]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from (Type) ⇒ Node

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringfmt from DestructureType[Node] to StringFormat

Inherited by implicit conversion any2stringadd from DestructureType[Node] to StringAdd

Inherited by implicit conversion any2ArrowAssoc from DestructureType[Node] to ArrowAssoc[DestructureType[Node]]

Inherited by implicit conversion any2Ensuring from DestructureType[Node] to Ensuring[DestructureType[Node]]