X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FTypeConstraint.pm;h=95e89deeb502c4ec0019a20c4678da6eafbba89a;hb=7142d232c25d135bf8c0751e78adbf892886d04b;hp=2d5bda17e5510e0286c6a07c7da344bae1995bcb;hpb=7c047a36d2be28fe82672471038c182d33144a9b;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/TypeConstraint.pm b/lib/Moose/Meta/TypeConstraint.pm index 2d5bda1..95e89de 100644 --- a/lib/Moose/Meta/TypeConstraint.pm +++ b/lib/Moose/Meta/TypeConstraint.pm @@ -425,8 +425,24 @@ the constraint fails. This is optional. A L object representing the coercions to the type. This is optional. +=item * inlined + +A subroutine which returns a string suitable for inlining this type +constraint. It will be called as a method on the type constraint object, and +will receive a single additional parameter, a variable name to be tested +(usually C<"$_"> or C<"$_[0]">. + +This is optional. + +=item * inline_environment + +A hash reference of variables to close over. The keys are variables names, and +the values are I to the variables. + =item * optimized +B + This is a variant of the C parameter that is somehow optimized. Typically, this means incorporating both the type's constraint and all of its parents' constraints into a single @@ -524,13 +540,23 @@ exists. Returns true if the type has a coercion. +=item B<< $constraint->can_be_inlined >> + +Returns true if this type constraint can be inlined. A type constraint which +subtypes an inlinable constraint and does not add an additional constraint +"inherits" its parent type's inlining. + =item B<< $constraint->hand_optimized_type_constraint >> +B + Returns the type's hand optimized constraint, as provided to the constructor via the C option. =item B<< $constraint->has_hand_optimized_type_constraint >> +B + Returns true if the type has an optimized constraint. =item B<< $constraint->create_child_type(%options) >>