my $self = bless {
# from our superclass
- body => undef,
+ '&!body' => undef,
# specific to this subclass
- attribute => $options{attribute},
- is_inline => ($options{is_inline} || 0),
- accessor_type => $options{accessor_type},
+ '$!attribute' => $options{attribute},
+ '$!is_inline' => ($options{is_inline} || 0),
+ '$!accessor_type' => $options{accessor_type},
} => $class;
# we don't want this creating
# a cycle in the code, if not
# needed
- weaken($self->{attribute});
+ weaken($self->{'$!attribute'});
$self->intialize_body;
## accessors
-sub associated_attribute { (shift)->{attribute} }
-sub accessor_type { (shift)->{accessor_type} }
-sub is_inline { (shift)->{is_inline} }
+sub associated_attribute { (shift)->{'$!attribute'} }
+sub accessor_type { (shift)->{'$!accessor_type'} }
+sub is_inline { (shift)->{'$!is_inline'} }
## factory
($self->is_inline ? 'inline' : ())
);
- eval { $self->{body} = $self->$method_name() };
+ eval { $self->{'&!body'} = $self->$method_name() };
die $@ if $@;
}