NAME
Salvation::Method::Signatures - Реализация сигнатур для методов
SYNOPSIS
package Some::Package;
use Salvation::Method::Signatures;
# use Test::More tests => 3;
method process( ArrayRef[ArrayRef[Str]] :flags!, ArrayRef[HashRef(Int :id!)] :data! ) {
# isa_ok( $self, 'Some::Package' );
# is_deeply( $flags, [ [ 'something' ] ] );
# is_deeply( $data, [ { id => 1 } ] );
...
}
package main;
Some::Package -> process(
flags => [ [ 'something' ] ],
data => [ { id => 1 } ],
);
DESCRIPTION
Делает то же, что делают другие реализации сигнатур: проверяет тип аргументов метода, само разбирает @_
и инжектит переменные в блок.
SEE ALSO
http://perlcabal.org/syn/S06.html#Signatures MooseX::Method::Signatures Method::Signatures
METHODS
type_system_class()
token_str()
self_var_name()
import()
Экспортирует магическое ключевое слово.
Подробнее: Devel::Declare.
strip_name()
Обёртка вокруг Devel::Declare#strip_name.
Делает всё то же самое, но дополнительно запоминает, в каком модуле какие методы были объявлены с использованием DirectMod::Method::Signatures.
Внутренний метод.
mark_methods_as_not_imported( Str class )
Маркирует все методы класса class
, объявленные с использованием DirectMod::Method::Signatures, как "не импортированные".
Внутренний метод.
parse_proto( Str $str )
Разбирает прототип метода, генерирует код и инжектит этот код в метод.
Подробнее: Devel::Declare.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 5:
Non-ASCII character seen before =encoding in 'Реализация'. Assuming UTF-8