Author: jnthn
Date: 2009-05-06 15:36:27 +0200 (Wed, 06 May 2009)
New Revision: 26700

Modified:
   docs/Perl6/Spec/S12-objects.pod
Log:
[spec] Rename ^isa() to get list of parents to ^parents so there's no confusion 
with .^isa(Foo) and consistency with .^does(Foo) and .^roles(). Also fill out 
the introspection specification a little more.

Modified: docs/Perl6/Spec/S12-objects.pod
===================================================================
--- docs/Perl6/Spec/S12-objects.pod     2009-05-06 12:14:10 UTC (rev 26699)
+++ docs/Perl6/Spec/S12-objects.pod     2009-05-06 13:36:27 UTC (rev 26700)
@@ -1821,7 +1821,7 @@
     subject       optics, boxes
     language      ja_JP
     licensed      Artistic|GPL
-    isa           list of parent classes
+    parents       list of parent classes
     roles         list of roles
     disambig      how to deal with ambiguous method names from roles
     layout        P6opaque, P6hash, P5hash, P5array, PyDict, Cstruct, etc.
@@ -1836,6 +1836,12 @@
 prototype objects, in which case stringification is not likely to
 produce something of interest to non-gurus.)
 
+The C<.^parents> method by default returns a flattened list of all
+parents sorted in MRO (dispatch) order. Other options are:
+
+    :local              just returns the immediate parents
+    :hierarchical       the inheritance heirarchy as nested arrays
+
 The C<.^methods> method returns method-descriptors containing:
 
     name                the name of the method
@@ -1848,6 +1854,10 @@
 specify whether you want to see a flattened or hierarchical view,
 whether you're interested in private methods, and so forth.
 
+    :local              only methods defined in the current class
+    :hierarchical       methods by class structure (inheritance hierarchy)
+    :private            include private methods
+
 The C<.^attributes> method returns a list of attribute descriptors
 that have traits like these:
 
@@ -1860,6 +1870,11 @@
     build
     readonly
 
+It also takes the parameters:
+
+    :local              only methods defined in the current class
+    :hierarchical       attributes by class structure (inheritance hierarchy)
+
 Strictly speaking, metamethods like C<.isa()>, C<.does()>, and C<.can()>
 should be called through the meta object:
 

Reply via email to