package t::Object::Complete::Diamond;
use strict;
use warnings;
use base qw( t::Object::Complete::Sub t::Object::Complete::Sib );
use Object::LocalVars;

give_methods our $self;

our $_count : Class;

sub BUILD : Method {
   ++$_count; 
}

sub DEMOLISH : Method {
    --$_count;
}

sub get_diamondcount : Method { return $_count }

sub report_counts : Method {
    return { 
        grandparent => $self->get_count,
        leftparent  => $self->get_subcount,
        rightparent => $self->get_sibcount,
        diamond     => $self->get_diamondcount,
    };
};

1;
