From: Jesse Luehrs Date: Fri, 22 Apr 2011 22:46:48 +0000 (-0500) Subject: document the new anon stuff in ::Package X-Git-Tag: 2.0100~201 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5727267788b643fba31198b6b3753c21e27a85b6;p=gitmo%2FMoose.git document the new anon stuff in ::Package --- diff --git a/lib/Class/MOP/Package.pm b/lib/Class/MOP/Package.pm index 92e555e..2aada01 100644 --- a/lib/Class/MOP/Package.pm +++ b/lib/Class/MOP/Package.pm @@ -259,13 +259,14 @@ looking at and changing that namespace's symbol table. =over 4 -=item B<< Class::MOP::Package->initialize($package_name) >> +=item B<< Class::MOP::Package->initialize($package_name, %options) >> This method creates a new C instance which represents specified package. If an existing metaclass object exists -for the package, that will be returned instead. +for the package, that will be returned instead. No options are valid at the +package level. -=item B<< Class::MOP::Package->reinitialize($package) >> +=item B<< Class::MOP::Package->reinitialize($package, %options) >> This method forcibly removes any existing metaclass for the package before calling C. In contrast to C, you may @@ -274,6 +275,31 @@ a package name as C<$package>. Do not call this unless you know what you are doing. +=item B<< Class::MOP::Package->create($package, %options) >> + +Creates a new C instance which represents the specified +package, and also does some initialization of that package. Currently, this +just does the same thing as C, but is overridden in subclasses, +such as C. + +=item B<< Class::MOP::Package->create_anon(%options) >> + +Creates a new anonymous package. Valid keys for C<%options> are: + +=over 4 + +=item C + +If this is true (the default), the instance stored in C's metaclass +cache will be weakened, so that the anonymous package will be garbage collected +when the returned instance goes out of scope. + +=back + +=item B<< $metapackage->is_anon >> + +Returns true if the package is an anonymous package. + =item B<< $metapackage->name >> This is returns the package's name, as passed to the constructor.