The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#line 1
package Method::Signatures::Simple;
BEGIN {
  $Method::Signatures::Simple::VERSION = '0.06';
}

use warnings;
use strict;

#line 17

use base q/Devel::Declare::MethodInstaller::Simple/;

sub import {
    my $class = shift;
    my %opts  = @_;
    $opts{into}     ||= caller;
    $opts{invocant} ||= '$self';

    $class->install_methodhandler(
      name => 'method',
      %opts,
    );
}

sub parse_proto {
    my $self = shift;
    my ($proto) = @_;
    $proto ||= '';
    $proto =~ s/[\r\n]//g;
    my $invocant = $self->{invocant};

    $invocant = $1 if $proto =~ s{^(\$\w+):\s*}{};

    my $inject = "my ${invocant} = shift;";
    $inject .= "my ($proto) = \@_;" if defined $proto and length $proto;

    return $inject;
}


#line 228

1; # End of Method::Signatures::Simple