Finance-FITF
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
inc/Class/MOP/Instance.pm view on Meta::CPAN
$self->set_slot_value($instance, $RESERVED_MOP_SLOT, $value);
}
sub _clear_mop_slot {
my ($self, $instance) = @_;
$self->deinitialize_slot($instance, $RESERVED_MOP_SLOT);
}
# inlinable operation snippets
sub is_inlinable { 1 }
sub inline_create_instance {
my ($self, $class_variable) = @_;
'bless {} => ' . $class_variable;
}
sub inline_slot_access {
my ($self, $instance, $slot_name) = @_;
sprintf q[%s->{"%s"}], $instance, quotemeta($slot_name);
}
sub inline_get_is_lvalue { 1 }
sub inline_get_slot_value {
my ($self, $instance, $slot_name) = @_;
$self->inline_slot_access($instance, $slot_name);
}
sub inline_set_slot_value {
my ($self, $instance, $slot_name, $value) = @_;
$self->inline_slot_access($instance, $slot_name) . " = $value",
}
sub inline_initialize_slot {
my ($self, $instance, $slot_name) = @_;
return '';
}
sub inline_deinitialize_slot {
my ($self, $instance, $slot_name) = @_;
"delete " . $self->inline_slot_access($instance, $slot_name);
}
sub inline_is_slot_initialized {
my ($self, $instance, $slot_name) = @_;
"exists " . $self->inline_slot_access($instance, $slot_name);
}
sub inline_weaken_slot_value {
my ($self, $instance, $slot_name) = @_;
sprintf "Scalar::Util::weaken( %s )", $self->inline_slot_access($instance, $slot_name);
}
sub inline_strengthen_slot_value {
my ($self, $instance, $slot_name) = @_;
$self->inline_set_slot_value($instance, $slot_name, $self->inline_slot_access($instance, $slot_name));
}
sub inline_rebless_instance_structure {
my ($self, $instance, $class_variable) = @_;
"bless $instance => $class_variable";
}
sub _inline_get_mop_slot {
my ($self, $instance) = @_;
$self->inline_get_slot_value($instance, $RESERVED_MOP_SLOT);
}
sub _inline_set_mop_slot {
my ($self, $instance, $value) = @_;
$self->inline_set_slot_value($instance, $RESERVED_MOP_SLOT, $value);
}
sub _inline_clear_mop_slot {
my ($self, $instance) = @_;
$self->inline_deinitialize_slot($instance, $RESERVED_MOP_SLOT);
}
1;
# ABSTRACT: Instance Meta Object
#line 495
__END__
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.877 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )