tagged release 0.7.1
[parrot.git] / src / dynpmc / foo.pmc
blob42d133f84203e9d43a2aafd5d4ad26109ed441c0
1 /*
2  * $Id$
3  * Copyright (C) 2003-2007, The Perl Foundation.
4  */
6 /*
7  * Sample Foo class used to verify dynamic loading and
8  * proper inheritance - used for testing only
9  */
11 pmclass Foo dynpmc provides scalar extends Integer {
13     VTABLE INTVAL get_integer() {
14         return 42;
15     }
17     PMC* subtract(PMC* value, PMC* dest) {
18 MMD_Integer: {
19         if (!dest)
20             dest = pmc_new(interp, SELF->vtable->base_type);
21         VTABLE_set_integer_native(interp, dest, 144);
22         return dest;
23         }
24 MMD_DEFAULT: {
25         if (!dest)
26             dest = pmc_new(interp, SELF->vtable->base_type);
27         VTABLE_set_integer_native(interp, dest, 244);
28         return dest;
29         }
30     }
35  * Local variables:
36  *   c-file-style: "parrot"
37  * End:
38  * vim: expandtab shiftwidth=4:
39  */