package HeaderDoc::Group;
use HeaderDoc::Utilities qw(findRelativePath safeName getAPINameAndDisc printArray printHash validTag);
use HeaderDoc::HeaderElement;
use HeaderDoc::MinorAPIElement;
use HeaderDoc::APIOwner;
@ISA = qw( HeaderDoc::HeaderElement );
use strict;
use vars qw($VERSION @ISA);
$HeaderDoc::Group::VERSION = '$Revision: 1.5 $';
sub new {
my($param) = shift;
my($class) = ref($param) || $param;
my $self = {};
bless($self, $class);
$self->_initialize();
return($self);
}
sub _initialize {
my($self) = shift;
$self->SUPER::_initialize();
$self->{CLASS} = "HeaderDoc::Group";
}
sub clone {
my $self = shift;
my $clone = undef;
if (@_) {
$clone = shift;
} else {
$clone = HeaderDoc::Group->new();
}
$self->SUPER::clone($clone);
return $clone;
}
sub processComment {
my $self = shift;
my $fieldref = shift;
my @fields = @{$fieldref};
my $first = 1;
foreach my $field (@fields) {
if ($first) { $first = 0; next; }
SWITCH: {
($field =~ s/^(group|name|functiongroup|methodgroup)\s+//si) && do {
my ($name, $desc, $is_nameline_disc) = getAPINameAndDisc($field);
if ($is_nameline_disc) { $name .= " ".$desc; $desc = ""; }
$self->discussion($desc);
}
}
}
}
sub printObject {
my $self = shift;
print STDERR "Enum\n";
$self->SUPER::printObject();
print STDERR "Constants:\n";
}
1;