# New Ticket Created by Patrick R. Michaud # Please include the string: [perl #54520] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=54520 >
Methods defined in superclasses of PMCs aren't inherited by PIR subclasses. For example, suppose A and B are PMC classes, with B extending A. If in PIR we create a subclass of B, then B's methods will appear in the subclass but A's methods will not. Here's a test script to illustrate (in this example, String is a PMC class and CodeString is a PMC class that extends String): $ cat x.pir .sub main :main ## check that 'to_int' method works for String $P0 = new 'String' $P0 = '01010000' say $P0 $P1 = $P0.'to_int'(2) say $P1 ## check that 'to_int' method works for PIR subclass of String $P99 = subclass 'String', 'MyString' $P0 = new 'MyString' $P0 = '01010001' say $P0 $P1 = $P0.'to_int'(2) say $P1 ## check that 'to_int' method works for CodeString (extends String) $P0 = new 'CodeString' $P0 = '01010010' say $P0 $P1 = $P0.'to_int'(2) say $P1 ## check that 'to_int' method works for PIR subclass of CodeString $P99 = subclass 'CodeString', 'MyCodeString' $P0 = new 'MyCodeString' $P0 = '01010011' say $P0 $P1 = $P0.'to_int'(2) say $P1 .end $ ./parrot x.pir 01010000 80 01010001 81 01010010 82 01010011 Method 'to_int' not found for invocant of class 'MyCodeString' current instr.: 'main' pc 153 (x.pir:29) $ Pm