return $class->$orig( $name, $options );
};
-around attach_to_class => sub {
- my $orig = shift;
+after attach_to_class => sub {
my $self = shift;
my $meta = shift;
- $self->$orig($meta);
-
$self->_initialize($meta)
unless $self->is_lazy();
};
-around detach_from_class => sub {
- my $orig = shift;
+before detach_from_class => sub {
my $self = shift;
my $meta = shift;
$self->clear_value($meta);
-
- $self->$orig($meta);
};
sub _initialize {
my $self = shift;
return $self->associated_class()
- ->inline_get_class_slot_value( $self->slots() );
+ ->_inline_get_class_slot_value( $self->slots() );
};
around inline_set => sub {
my $meta = $self->associated_class();
my $code
- = $meta->inline_set_class_slot_value( $self->slots(), $value )
+ = $meta->_inline_set_class_slot_value( $self->slots(), $value )
. ";";
$code
- .= $meta->inline_weaken_class_slot_value( $self->slots(), $value )
+ .= $meta->_inline_weaken_class_slot_value( $self->slots(), $value )
. " if ref $value;"
if $self->is_weak_ref();
my $self = shift;
return $self->associated_class()
- ->inline_is_class_slot_initialized( $self->slots() );
+ ->_inline_is_class_slot_initialized( $self->slots() );
};
around inline_clear => sub {
my $self = shift;
return $self->associated_class()
- ->inline_deinitialize_class_slot( $self->slots() );
+ ->_inline_deinitialize_class_slot( $self->slots() );
};
}
else {
my $self = shift;
return $self->associated_class()
- ->inline_get_class_slot_value( $self->slots() );
+ ->_inline_get_class_slot_value( $self->slots() );
};
around _inline_instance_set => sub {
my $value = shift;
return $self->associated_class()
- ->inline_set_class_slot_value( $self->slots(), $value );
+ ->_inline_set_class_slot_value( $self->slots(), $value );
};
around _inline_instance_has => sub {
my $self = shift;
return $self->associated_class()
- ->inline_is_class_slot_initialized( $self->slots() );
+ ->_inline_is_class_slot_initialized( $self->slots() );
};
around _inline_instance_clear => sub {
my $self = shift;
return $self->associated_class()
- ->inline_deinitialize_class_slot( $self->slots() );
+ ->_inline_deinitialize_class_slot( $self->slots() );
};
around _inline_weaken_value => sub {
return unless $self->is_weak_ref();
return (
- $self->associated_class->inline_weaken_class_slot_value(
+ $self->associated_class->_inline_weaken_class_slot_value(
$self->slots(), $value
),
'if ref ' . $value . ';',