This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #123223] Make PADNAME a separate type
[perl5.git] / ext / B / typemap
CommitLineData
a8a597b2
MB
1TYPEMAP
2
3B::OP T_OP_OBJ
4B::UNOP T_OP_OBJ
5B::BINOP T_OP_OBJ
6B::LOGOP T_OP_OBJ
a8a597b2
MB
7B::LISTOP T_OP_OBJ
8B::PMOP T_OP_OBJ
9B::SVOP T_OP_OBJ
7934575e 10B::PADOP T_OP_OBJ
a8a597b2 11B::PVOP T_OP_OBJ
a8a597b2
MB
12B::LOOP T_OP_OBJ
13B::COP T_OP_OBJ
14
15B::SV T_SV_OBJ
16B::PV T_SV_OBJ
17B::IV T_SV_OBJ
18B::NV T_SV_OBJ
19B::PVMG T_SV_OBJ
5c35adbb 20B::REGEXP T_SV_OBJ
a8a597b2
MB
21B::PVLV T_SV_OBJ
22B::BM T_SV_OBJ
23B::RV T_SV_OBJ
24B::GV T_SV_OBJ
25B::CV T_SV_OBJ
26B::HV T_SV_OBJ
27B::AV T_SV_OBJ
28B::IO T_SV_OBJ
1df34986 29B::FM T_SV_OBJ
a8a597b2
MB
30
31B::MAGIC T_MG_OBJ
32SSize_t T_IV
fee282c3 33STRLEN T_UV
7934575e 34PADOFFSET T_UV
a8a597b2 35
fd9f6265
JJ
36B::HE T_HE_OBJ
37B::RHE T_RHE_OBJ
38
7261499d 39B::PADLIST T_PL_OBJ
9b7476d7 40B::PADNAMELIST T_PNL_OBJ
f584841e 41B::PADNAME T_PN_OBJ
7261499d 42
a8a597b2
MB
43INPUT
44T_OP_OBJ
45 if (SvROK($arg)) {
46 IV tmp = SvIV((SV*)SvRV($arg));
56431972 47 $var = INT2PTR($type,tmp);
a8a597b2
MB
48 }
49 else
50 croak(\"$var is not a reference\")
51
52T_SV_OBJ
53 if (SvROK($arg)) {
54 IV tmp = SvIV((SV*)SvRV($arg));
56431972 55 $var = INT2PTR($type,tmp);
a8a597b2
MB
56 }
57 else
58 croak(\"$var is not a reference\")
59
60T_MG_OBJ
61 if (SvROK($arg)) {
62 IV tmp = SvIV((SV*)SvRV($arg));
56431972 63 $var = INT2PTR($type,tmp);
a8a597b2
MB
64 }
65 else
66 croak(\"$var is not a reference\")
67
fd9f6265
JJ
68T_HE_OBJ
69 if (SvROK($arg)) {
70 IV tmp = SvIV((SV*)SvRV($arg));
71 $var = INT2PTR($type,tmp);
72 }
73 else
74 croak(\"$var is not a reference\")
75
76T_RHE_OBJ
77 if (SvROK($arg)) {
78 IV tmp = SvIV((SV*)SvRV($arg));
79 $var = INT2PTR($type,tmp);
80 }
81 else
82 croak(\"$var is not a reference\")
83
7261499d
FC
84T_PL_OBJ
85 if (SvROK($arg)) {
86 IV tmp = SvIV((SV*)SvRV($arg));
87 $var = INT2PTR($type,tmp);
88 }
89 else
90 croak(\"$var is not a reference\")
91
9b7476d7
FC
92T_PNL_OBJ
93 if (SvROK($arg)) {
94 IV tmp = SvIV((SV*)SvRV($arg));
95 $var = INT2PTR($type,tmp);
96 }
97 else
98 croak(\"$var is not a reference\")
99
f584841e
FC
100T_PN_OBJ
101 if (SvROK($arg)) {
102 IV tmp = SvIV((SV*)SvRV($arg));
103 $var = INT2PTR($type,tmp);
104 }
105 else
106 croak(\"$var is not a reference\")
107
a8a597b2 108OUTPUT
a8a597b2 109T_MG_OBJ
56431972 110 sv_setiv(newSVrv($arg, "B::MAGIC"), PTR2IV($var));
fd9f6265
JJ
111
112T_HE_OBJ
113 sv_setiv(newSVrv($arg, "B::HE"), PTR2IV($var));
114
115T_RHE_OBJ
116 sv_setiv(newSVrv($arg, "B::RHE"), PTR2IV($var));
7261499d
FC
117
118T_PL_OBJ
119 sv_setiv(newSVrv($arg, $var ? "B::PADLIST" : "B::NULL"),
120 PTR2IV($var));
9b7476d7
FC
121
122T_PNL_OBJ
123 sv_setiv(newSVrv($arg, $var ? "B::PADNAMELIST" : "B::NULL"),
124 PTR2IV($var));
f584841e
FC
125
126T_PN_OBJ
127 sv_setiv(newSVrv($arg, $var ? "B::PADNAME" : "B::SPECIAL"),
128 PTR2IV($var));