1#line 1 "inc/Module/Install/Base.pm - /usr/local/lib/perl5/site_perl/5.8.7/Module/Install/Base.pm" 2package Module::Install::Base; 3 4# Suspend handler for "redefined" warnings 5BEGIN { my $w = $SIG{__WARN__}; $SIG{__WARN__} = sub { $w } }; 6 7#line 30 8 9sub new { 10 my ($class, %args) = @_; 11 12 foreach my $method (qw(call load)) { 13 *{"$class\::$method"} = sub { 14 +shift->_top->$method(@_); 15 } unless defined &{"$class\::$method"}; 16 } 17 18 bless(\%args, $class); 19} 20 21#line 48 22 23sub AUTOLOAD { 24 my $self = shift; 25 goto &{$self->_top->autoload}; 26} 27 28#line 59 29 30sub _top { $_[0]->{_top} } 31 32#line 70 33 34sub admin { 35 my $self = shift; 36 $self->_top->{admin} or Module::Install::Base::FakeAdmin->new; 37} 38 39sub is_admin { 40 my $self = shift; 41 $self->admin->VERSION; 42} 43 44sub DESTROY {} 45 46package Module::Install::Base::FakeAdmin; 47 48my $Fake; 49sub new { $Fake ||= bless(\@_, $_[0]) } 50sub AUTOLOAD {} 51sub DESTROY {} 52 531; 54 55# Restore warning handler 56BEGIN { $SIG{__WARN__} = $SIG{__WARN__}->() }; 57 58__END__ 59 60#line 117 61