diff options
author | Jesse Luehrs <doy@tozt.net> | 2010-11-11 23:08:45 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2010-11-12 03:20:44 -0600 |
commit | 194acf4760e6124a8787c2f1c6b7b76015ad5e33 (patch) | |
tree | fca5d45859b2e488ef5308f3b7babc78410c6876 /Stash.xs | |
parent | 59017825dd984a30f69bec25890d1ffceaf30e04 (diff) | |
download | package-stash-xs-194acf4760e6124a8787c2f1c6b7b76015ad5e33.tar.gz package-stash-xs-194acf4760e6124a8787c2f1c6b7b76015ad5e33.zip |
accessors
Diffstat (limited to 'Stash.xs')
-rw-r--r-- | Stash.xs | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -24,3 +24,29 @@ new(class, package_name) RETVAL = sv_bless(newRV((SV*)instance), gv_stashpv(class, 0)); OUTPUT: RETVAL + +SV* +name(self) + SV *self + INIT: + SV **slot; + CODE: + if (!sv_isobject(self)) + croak("Can't call name as a class method"); + slot = hv_fetch((HV*)SvRV(self), "name", 4, 0); + RETVAL = slot ? SvREFCNT_inc(*slot) : &PL_sv_undef; + OUTPUT: + RETVAL + +SV* +namespace(self) + SV *self + INIT: + SV **slot; + CODE: + if (!sv_isobject(self)) + croak("Can't call namespace as a class method"); + slot = hv_fetch((HV*)SvRV(self), "namespace", 9, 0); + RETVAL = slot ? SvREFCNT_inc(*slot) : &PL_sv_undef; + OUTPUT: + RETVAL |