Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sub _generateAccessor {
- CORE::state $check = compile(ClassName, HashRef);
- my ($class, $rParams) = $check->(@_);
- CORE::state $oocheck = compile_named_oo(
- accessorType => Str,
- accessorName => Str, { optional => 1, default => '' },
- passParams => Any, { optional => 1, default => undef },
- );
- my $arg = $oocheck->($rParams);
- my $fullname =
- "${class}::" . ($arg->accessorName() || $arg->accessorType());
- unless (defined &{$fullname}) {
- no strict 'refs';
- my $makeAccessorFunc =
- '_make_' . $arg->accessorType() . '_accessor';
- unless ($class->can($makeAccessorFunc)) {
- die "Accessor generator $makeAccessorFunc not defined.";
- }
- my $accessor = $class->$makeAccessorFunc($arg->passParams());
- subname($fullname, $accessor);
- *{$fullname} = $accessor;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement