use Scalar::Util 'weaken', 'blessed';
-our $VERSION = '0.91';
+our $VERSION = '1.10';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
bless {}, $self->_class_name;
}
-# for compatibility
-sub bless_instance_structure {
- Carp::cluck('The bless_instance_structure method is deprecated.'
- . " It will be removed in a future release.\n");
-
- my ($self, $instance_structure) = @_;
- bless $instance_structure, $self->_class_name;
-}
-
sub clone_instance {
my ($self, $instance) = @_;
bless { %$instance }, $self->_class_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);
It returns a snippet of code that creates a new object for the
class. This is something like C< bless {}, $class_name >.
+=item B<< $metainstance->inline_get_is_lvalue >>
+
+Returns whether or not C<inline_get_slot_value> is a valid lvalue. This can be
+used to do extra optimizations when generating inlined methods.
+
=item B<< $metainstance->inline_slot_access($instance_variable, $slot_name) >>
=item B<< $metainstance->inline_get_slot_value($instance_variable, $slot_name) >>
=head1 COPYRIGHT AND LICENSE
-Copyright 2006-2009 by Infinity Interactive, Inc.
+Copyright 2006-2010 by Infinity Interactive, Inc.
L<http://www.iinteractive.com>