Here are some notes which I have made which may prove useful in the
refactoring of Parrot::Distribution. I hope that I have grepped and
acked accurately, but I'm not guaranteeing 100% accuracy.
kid51
NAME
Parrot::Distribution refactoring notes
ANALYSIS OF PACKAGE
* used by:
* packages:
* Parrot::Docs::POD2HTML
* Parrot::Docs::Section::C
* Parrot::Docs::Section::Compilers
* Parrot::Docs::Section::Config
* Parrot::Docs::Section::Parrot
* Parrot::Docs::Section::PMCs
* tests:
* t/codingstd/c_code_coda.t
* t/codingstd/c_indent.t
* t/codingstd/c_parens.t
* t/codingstd/c_struct.t
* t/codingstd/cppcomments.t
* t/codingstd/cuddled_else.t
* t/codingstd/fixme.t
* t/codingstd/perlcritic.t
* t/codingstd/tabs.t
* t/codingstd/trailing_space.t
* t/distro/manifest_skip.t
* t/perl/Parrot_Distribution.t
* tools
* tools/dev/gen_manifest_skip.pl
ANALYSIS OF PACKAGES IN INHERITANCE TREE
Parrot::Docs::Directory
* inherits from:
* Parrot::IO::Directory
* uses:
* Parrot::Docs::File
There are no current calls to this package. It's only mentioned
inside the currently unused file_class() subroutine.
* used by:
* packages:
* Parrot::Distribution
* Parrot::Docs::Item
* Parrot::Docs::Section
* tests:
* t/perl/Parrot_Distribution.t
* t/perl/Parrot_Docs.t
* tools
* tools/docs/pod_errors.pl
* comments:
* Has two apparently unused subroutines: file_class() and
directory_class(). These are not methods, are not listed in any
@EXPORT (there is none), and are not called elsewhere within the
package. Why retain them?
* Has no constructor of its own, so it must use
Parrot::IO::Directory (or one of that package's ancestors).
* Has only one method: files_of_type(), which takes one argument.
This method calls methods from other packages, including:
* files()
* is_of_type()
* directories()
* name()
* directories()
* files_of_type()
Parrot::Docs::File
* inherits from:
* Parrot::IO::File
* uses:
* Pod::Simple::Checker
One fully qualified call to Pod::Simple::Checker::new inside
check_pod().
* Parrot::Docs::POD2HTML
One fully qualified call to Parrot::Docs::POD2HTML::new inside
pod_as_html().
* methods:
* type_for_suffix()
* type_for_name()
* type()
* is_of_type()
* check_pod()
* contains_pod()
* num_pod_errors()
* pod_errors()
* pod_as_html()
* is_docs_link()
* title()
* short_description()
* used by
* packages:
* Parrot::Docs::Directory
* tests:
* t/perl/Parrot_Docs.t
Parrot::Docs::POD2HTML
* inherits from:
* Pod::Simple::HTML
* uses:
* Parrot::Docs::HTMLPage
One fully qualified call to each of
Parrot::Docs::HTMLPage::header and ::footer.
* methods:
* type_for_suffix()
* type_for_name()
* type()
* is_of_type()
* check_pod()
* contains_pod()
* num_pod_errors()
* pod_errors()
* pod_as_html()
* is_docs_link()
* title()
* short_description()
* used by:
* packages:
* Parrot::Docs::File
* Parrot::Docs::HTMLPage
* Parrot::Docs::Item
* tests
* t/perl/Parrot_Docs.t
Parrot::Docs::HTMLPage
* inherits from:
Does not inherit -- but doesn't have its own constructor, either!
* methods
* header()
* footer()
* used by:
* packages:
* Parrot::Docs::POD2HTML
* Parrot::Docs::Section
* comment
There is no current rationale for these functions to be methods.
They could simply be functions exported by this package and imported
by other packages on request.
Parrot::IO::Directory
* inherits from:
* Parrot::IO::Path
* uses:
* Parrot::IO::File
Imports_unspecified, but file_with_class calls
Parrot::IO::File::new().
* methods:
* directory_with_path()
* file_with_path()
* tmp_directory()
* instance methods:
* create_path()
* relative_path()
* parent()
* file_and_directory_names()
* file_and_directory_paths()
* file_paths()
* directory_paths()
* file_exists_with_name()
* directory_exists_with_name()
* files()
* directories()
* file_suffixes()
* files_with_suffix()
* path_for_directory_with_name()
* path_for_file_with_name()
* directory_with_name()
* file_with_name()
* existing_directory_with_name()
* existing_file_with_name()
* path_for_directory_with_relative_path()
* path_for_file_with_relative_path()
* relative_path_is_directory()
* relative_path_is_file()
* directory_with_relative_path()
* file_with_relative_path()
* delete()
* delete_contents()
* used by:
* packages:
* Parrot::Docs::Directory
* Parrot::IO::File
* tests:
* t/perl/Parrot_IO.t
* comments:
* Two subroutines used internally for on-the-fly generation of new
methods:
* directory_class()
* file_class()
* Has constructor, which takes one argument ($path). The
constructor calls SUPER::new.
Parrot::IO::Path
* inherits from:
does not inherit; uses some Perl 5 core modules
* methods:
* new()
* create_path()
* path()
* name()
* name_without_suffix()
* suffix()
* has_suffix()
* parent_path()
* stat()
* delete()
* used by:
* packages:
* Parrot::IO::Directory
* Parrot::IO::File
* tests:
* t/perl/Parrot_IO.t
Parrot::IO::File
* inherits from:
* Parrot::IO::Path
* uses:
* Parrot::IO::Directory
one fully qualified call to Parrot::IO::Directory::new() inside
parent()
* comments:
* has constructor, which takes one argument ($path); the
constructor calls SUPER::new
* methods:
* tmp_file()
* new()
* create_path()
* parent()
* read()
* write()
* append()
* is_executable()
* modified_since()
* svn_id()
* has_svn_id()
* svn_version()
* is_hidden()
* is_generated()
* delete()
* used by:
* packages:
* Parrot::Docs::File
* Parrot::IO::Directory
* tests:
* t/perl/Parrot_IO.t