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