my $caller_pkg = caller();
# meta model helpers
*{$caller_pkg . '::class'} = \&class;
*{$caller_pkg . '::role'} = \&role;
# instance attribute access helpers
*{$caller_pkg . '::_'} = \&_;
# class attribute access helpers
*{$caller_pkg . '::__'} = \&__;
####
class 'Perl6::Object' => {
'class' => {
methods => {
# the default .new()
'new' => sub {
my ($class, %params) = @_;
return $class->bless(undef, %params);
},
....
....
## rest of the code
####
name is Perl6::Object params is $VAR1 = {
'class' => {
'methods' => {
'CREATE' => sub { "DUMMY" },
'bless' => sub { "DUMMY" },
'isa' => sub { "DUMMY" },
'new' => sub { "DUMMY" },
'can' => sub { "DUMMY" }
}
},
'instance' => {
'methods' => {
'isa' => $VAR1->{'class'}{'methods'}{'isa'},
'DESTROYALL' => sub { "DUMMY" },
'BUILDALL' => sub { "DUMMY" },
'can' => $VAR1->{'class'}{'methods'}{'can'}
},
'submethods' => {
'BUILD' => sub { "DUMMY" }
}
}
};