com.opendatagroup.hadrian.signature

Sig

case class Sig(params: Seq[(String, Pattern)], ret: Pattern, lifespan: Lifespan = ...) extends Signature with Product with Serializable

PFA function signature for a single pattern.

This class can either be used directly as a function's only signature or it may be contained within a Sigs.

params

patterns for each argument (in order)

ret

pattern for the return type

lifespan

validity range for this signature; default is eternal (existing from the beginning of time to the end of time)

Linear Supertypes
Serializable, Serializable, Product, Equals, Signature, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Sig
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Signature
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Sig(params: Seq[(String, Pattern)], ret: Pattern, lifespan: Lifespan = ...)

    params

    patterns for each argument (in order)

    ret

    pattern for the return type

    lifespan

    validity range for this signature; default is eternal (existing from the beginning of time to the end of time)

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. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  6. def accepts(args: Seq[Type], version: PFAVersion): Option[(Sig, Seq[Type], AvroType)]

    Determine if this signature accepts the given arguments for a given PFA version number.

    Determine if this signature accepts the given arguments for a given PFA version number.

    args

    arguments to match against the signature pattern

    version

    PFA version number in which to interpret the pattern

    returns

    Some(self, resolved argument types, resolved return type) if this signature accepts the arguments; None otherwise

    Definition Classes
    SigSignature
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def assign(pat: Pattern, arg: Type, assignments: Map[String, Type]): Type

    Apply the label assignments (e.

    Apply the label assignments (e.g. "A" matched to "int", "B" matched to "string", etc.) to each parameter of the signature.

    returns

    resolved type for one parameter of the signature

  9. def assignRet(pat: Pattern, assignments: Map[String, Type]): AvroType

    Apply the label assignments (e.

    Apply the label assignments (e.g. "A" matched to "int", "B" matched to "string", etc.) to the return pattern.

    assignments

    assigned types to apply

    returns

    resolved type for the return value of the signature

  10. def check(pat: Pattern, arg: Type, labelData: Map[String, LabelData], strict: Boolean, reversed: Boolean): Boolean

    Determine if a single slot in the parameter pattern reaches a single argument's type.

    Determine if a single slot in the parameter pattern reaches a single argument's type.

    pat

    pattern for a type that can include wildcards, etc.

    arg

    supplied argument type that may or may not fit the pattern

    labelData

    label associations made so far (so that repeated label letters are forced to resolve to the same types)

    strict

    if true, don't allow subtypes to match supertypes

    reversed

    if true, match structures contravariantly instead of covariantly (for instance, when matching arguments of functions passed as arguments)

    returns

    true if arg matches pat; false otherwise

  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

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

    Definition Classes
    Any
  16. val lifespan: Lifespan

    validity range for this signature; default is eternal (existing from the beginning of time to the end of time)

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

    Definition Classes
    AnyRef
  18. final def notify(): Unit

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

    Definition Classes
    AnyRef
  20. val params: Seq[(String, Pattern)]

    patterns for each argument (in order)

  21. val ret: Pattern

    pattern for the return type

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

    Definition Classes
    AnyRef
  23. def toString(): String

    Definition Classes
    Sig → AnyRef → Any
  24. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Signature

Inherited from AnyRef

Inherited from Any

Ungrouped