applied suggested patch, with win32 and PERL_OBJECT additions
[p5sagit/p5-mst-13.2.git] / ext / B / typemap
CommitLineData
a8a597b2 1TYPEMAP
2
3B::OP T_OP_OBJ
4B::UNOP T_OP_OBJ
5B::BINOP T_OP_OBJ
6B::LOGOP T_OP_OBJ
7B::CONDOP T_OP_OBJ
8B::LISTOP T_OP_OBJ
9B::PMOP T_OP_OBJ
10B::SVOP T_OP_OBJ
11B::GVOP T_OP_OBJ
12B::PVOP T_OP_OBJ
13B::CVOP T_OP_OBJ
14B::LOOP T_OP_OBJ
15B::COP T_OP_OBJ
16
17B::SV T_SV_OBJ
18B::PV T_SV_OBJ
19B::IV T_SV_OBJ
20B::NV T_SV_OBJ
21B::PVMG T_SV_OBJ
22B::PVLV T_SV_OBJ
23B::BM T_SV_OBJ
24B::RV T_SV_OBJ
25B::GV T_SV_OBJ
26B::CV T_SV_OBJ
27B::HV T_SV_OBJ
28B::AV T_SV_OBJ
29B::IO T_SV_OBJ
30
31B::MAGIC T_MG_OBJ
32SSize_t T_IV
33STRLEN T_IV
34
35INPUT
36T_OP_OBJ
37 if (SvROK($arg)) {
38 IV tmp = SvIV((SV*)SvRV($arg));
39 $var = ($type) tmp;
40 }
41 else
42 croak(\"$var is not a reference\")
43
44T_SV_OBJ
45 if (SvROK($arg)) {
46 IV tmp = SvIV((SV*)SvRV($arg));
47 $var = ($type) tmp;
48 }
49 else
50 croak(\"$var is not a reference\")
51
52T_MG_OBJ
53 if (SvROK($arg)) {
54 IV tmp = SvIV((SV*)SvRV($arg));
55 $var = ($type) tmp;
56 }
57 else
58 croak(\"$var is not a reference\")
59
60OUTPUT
61T_OP_OBJ
62 sv_setiv(newSVrv($arg, cc_opclassname((OP*)$var)), (IV)$var);
63
64T_SV_OBJ
65 make_sv_object(($arg), (SV*)($var));
66
67
68T_MG_OBJ
69 sv_setiv(newSVrv($arg, "B::MAGIC"), (IV)$var);