Padre

 view release on metacpan or  search on metacpan

lib/Padre/DB/RecentlyUsed.pm  view on Meta::CPAN

package Padre::DB::RecentlyUsed;

# NOTE: This class is loaded automatically by Padre::DB, overlaying the
# code already auto-generated by Padre::DB. Do not load manually, as this
# module will not function standalone.

use 5.008;
use strict;
use warnings;
use Padre::Constant ();

our $VERSION = '1.02';





######################################################################
# Portability Support

if (Padre::Constant::PORTABLE) {
	require Padre::Portable;

	*new = sub {
		my $class = shift;
		my %param = @_;
		$param{name}  = Padre::Portable::freeze( $param{name} );
		$param{value} = Padre::Portable::freeze( $param{value} );
		$class->SUPER::new(%param);
		}
		if __PACKAGE__->can('new');

	*name = sub {
		Padre::Portable::thaw( shift->SUPER::name(@_) );
		}
		if __PACKAGE__->can('name');

	*value = sub {
		Padre::Portable::thaw( shift->SUPER::value(@_) );
		}
		if __PACKAGE__->can('value');

	*set = sub {
		my $self  = shift;
		my $name  = shift;
		my $value = shift;
		if ( $name and $name eq 'name' or $name eq 'value' ) {
			$value = Padre::Portable::freeze($value);
		}
		$self->SUPER::set( $name => $value );
		}
		if __PACKAGE__->can('set');

}

1;

__END__

=pod

=head1 NAME



( run in 2.176 seconds using v1.01-cache-2.11-cpan-8f98c5d2c55 )