cvsuser 04/02/16 10:44:36
Modified: docs/pdds pdd15_objects.pod Log: Bit more done Revision Changes Path 1.16 +31 -0 parrot/docs/pdds/pdd15_objects.pod Index: pdd15_objects.pod =================================================================== RCS file: /cvs/public/parrot/docs/pdds/pdd15_objects.pod,v retrieving revision 1.15 retrieving revision 1.16 diff -u -w -r1.15 -r1.16 --- pdd15_objects.pod 16 Feb 2004 13:53:22 -0000 1.15 +++ pdd15_objects.pod 16 Feb 2004 18:44:36 -0000 1.16 @@ -390,7 +390,38 @@ =head2 Vtables +To make this work all PMCs must have the following vtable +entries. They may, for non-objects, throw an exception. +The catalog metadata for objects is considered to be attributes on the +class, so to get the offset for a class for an object, you fetch the +object's class then look up the offset attribute from it. (The class +attributes are detailed later) This is safe in general, since the only +code reasonably querying a class' attribute list is the class code +itself, and if a class doesn't know whether it's a ParrotClass-style +class or not you've got bigger problems. + +=over 4 + +=item find_method + +=item isa + +=item can + +=item does + +=item getattr + +=item setattr + +=item getclass + +=back + +Currently Parrot only supports mutating a class' metainformation for +ParrotClass classes. This is a restriction which will be lifted at +some point soon. =head2 Supporting code
