NAME

Tangence::Meta::Type - structure representing one Tangence value type

DESCRIPTION

This data structure object represents information about a type, such as a method or event argument, a method return value, or a property element type.

Due to their simple contents and immutable nature, these objects may be implemented as singletons. Repeated calls to the constructor method for the same type name will yield the same instance.

CONSTRUCTOR

make

   $type = Tangence::Meta::Type->make( $primitive )

Returns an instance to represent the given primitive type signature.

   $type = Tangence::Meta::Type->make( $aggregate => $member_type )

Returns an instance to represent the given aggregation of the given type instance.

make _from_sig

   $type = Tangence::Meta::Type->make_from_sig( $sig )

Parses the given full Tangence type signature and returns an instance to represent it.

ACCESSORS

aggregate

   $agg = $type->aggregate

Returns "prim" for primitive types, or the aggregation name for list and dict aggregate types.

member_type

   $member_type = $type->member_type

Returns the member type for aggregation types. Throws an exception for primitive types.

sig

   $sig = $type->sig

Returns the Tangence type signature for the type.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>