return $self;
}
-sub _construct_instance {
- my $class = shift;
- my $params = @_ == 1 ? $_[0] : {@_};
- my $meta_instance = $class->get_meta_instance;
- # FIXME:
- # the code below is almost certainly incorrect
- # but this is foreign inheritance, so we might
- # have to kludge it in the end.
- my $instance = $params->{'__INSTANCE__'} || $meta_instance->create_instance();
- foreach my $attr ($class->get_all_attributes()) {
- $attr->initialize_instance_slot($meta_instance, $instance, $params);
- }
- return $instance;
-}
-
sub superclasses {
my $self = shift;
my @supers = @_;