tagged release 0.6.4
[parrot.git] / languages / pipp / src / pmc / phpboolean.pmc
blobc708281c6334a768b923f0faa0e86b60f8f36c17
1 /*
2 Copyright (C) 2008, The Perl Foundation.
3 $Id$
5 =head1 NAME
7 pmc/phpboolean.pmc - PHP Boolean
9 =head1 DESCRIPTION
11 =head2 Methods
13 =over 4
15 =cut
19 #include "php_private.h"
21 pmclass PhpBoolean
22     extends  Boolean
23     provides scalar
24     provides boolean
25     provides integer
26     dynpmc
27     group    php_group
28     hll      PHP
29     maps     Boolean {
33 =item C<STRING* name()>
35 Return the string 'boolean'.
37 =cut
40     STRING* name() {
41         return const_string(INTERP, "boolean");
42     }
46 =item C<STRING* get_string()>
48 Return the string '1' or ''.
50 =cut
53     STRING* get_string() {
54         if (PMC_int_val(SELF))
55             return const_string(INTERP, "1");
56         else
57             return const_string(INTERP, "");
58     }
63 =back
65 =head2 non-Vtable Methods
67 =over 4
69 =cut
75 =back
77 =head2 Specific Methods
79 =over 4
81 =item C<PMC* to_number()>
83 =cut
86     METHOD PMC* to_number() {
87         PMC     *retval = pmc_new(INTERP, dynpmc_PhpInteger);
88         INTVAL  val = SELF.get_integer();
89         VTABLE_set_integer_native(INTERP, retval, val);
90         RETURN(PMC *retval);
91     }
97 =back
99 =head1 AUTHORS
101 Francois Perrad.
103 =cut
109  * Local variables:
110  *   c-file-style: "parrot"
111  * End:
112  * vim: expandtab shiftwidth=4:
113  */