summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2010-11-12 09:25:55 -0600
committerJesse Luehrs <doy@tozt.net>2010-11-12 09:25:55 -0600
commit34805376fa48a707b1a7f52f3a282ee5cacd2cf9 (patch)
tree024096cf644712dcd827aa87f373131235b01dd1 /lib
parent996a8db0046b5172fadd26b389f73030f00149eb (diff)
downloadpackage-stash-xs-34805376fa48a707b1a7f52f3a282ee5cacd2cf9.tar.gz
package-stash-xs-34805376fa48a707b1a7f52f3a282ee5cacd2cf9.zip
has_package_symbol
Diffstat (limited to 'lib')
-rw-r--r--lib/Package/Stash.pm33
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/Package/Stash.pm b/lib/Package/Stash.pm
index 51226ec..2015046 100644
--- a/lib/Package/Stash.pm
+++ b/lib/Package/Stash.pm
@@ -163,39 +163,6 @@ Removes all package variables with the given name, regardless of sigil.
Returns whether or not the given package variable (including sigil) exists.
-=cut
-
-sub has_package_symbol {
- my ($self, $variable) = @_;
-
- my ($name, $sigil, $type) = ref $variable eq 'HASH'
- ? @{$variable}{qw[name sigil type]}
- : $self->_deconstruct_variable_name($variable);
-
- my $namespace = $self->namespace;
-
- return unless exists $namespace->{$name};
-
- my $entry_ref = \$namespace->{$name};
- if (reftype($entry_ref) eq 'GLOB') {
- # XXX: assigning to any typeglob slot also initializes the SCALAR slot,
- # and saying that an undef scalar variable doesn't exist is probably
- # vaguely less surprising than a scalar variable popping into existence
- # without anyone defining it
- if ($type eq 'SCALAR') {
- return defined ${ *{$entry_ref}{$type} };
- }
- else {
- return defined *{$entry_ref}{$type};
- }
- }
- else {
- # a symbol table entry can be -1 (stub), string (stub with prototype),
- # or reference (constant)
- return $type eq 'CODE';
- }
-}
-
=method get_package_symbol $variable
Returns the value of the given package variable (including sigil).