NAME
Clownfish::Hierarchy - A class hierarchy.
DESCRIPTION
A Clownfish::Hierarchy consists of all the classes defined in files within a source directory and its subdirectories.
There may be more than one tree within the Hierarchy, since all "inert" classes are root nodes, and since Clownfish does not officially define any core classes itself from which all instantiable classes must descend.
METHODS
new
my $hierarchy = Clownfish::Hierarchy->new(
source => undef, # required
dest => undef, # required
);
source - The directory we begin reading files from.
dest - The directory where the autogenerated files will be written.
build
$hierarchy->build;
Parse every Clownfish header file which can be found under source
, building up the object hierarchy.
ordered_classes
my @classes = $hierarchy->ordered_classes;
Return all Classes as a list with the property that every parent class will precede all of its children.
propagate_modified
$hierarchy->propagate_modified($modified);
Visit all File objects in the hierarchy. If a parent node is modified, mark all of its children as modified.
If the supplied argument is true, mark all Files as modified.
get_source get_dest
Accessors.
COPYRIGHT AND LICENSE
Copyright 2006-2011 Marvin Humphrey
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.