This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix CvOUTSIDE for state subs in predeclared subs
[perl5.git] / overload.c
CommitLineData
8261f8eb
NC
1/* -*- buffer-read-only: t -*-
2 *
3 * overload.c
4 *
c4ac9b44
DM
5 * Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011
6 * by Larry Wall and others
8261f8eb
NC
7 *
8 * You may distribute under the terms of either the GNU General Public
9 * License or the Artistic License, as specified in the README file.
10 *
78102347
NC
11 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
12 * This file is built by regen/overload.pl.
13 * Any changes made here will be lost!
8261f8eb
NC
14 */
15
16#define AMG_id2name(id) (PL_AMG_names[id]+1)
82af6593 17#define AMG_id2namelen(id) (PL_AMG_namelens[id]-1)
8261f8eb 18
2e1c5ef0 19static const U8 PL_AMG_namelens[NofAMmeth] = {
d279ab82
NC
20 2,
21 4,
22 4,
23 4,
24 4,
25 4,
26 3,
27 3,
28 5,
29 3,
30 3,
31 2,
32 2,
33 4,
34 4,
35 3,
36 4,
37 2,
38 3,
39 2,
40 3,
41 3,
42 3,
43 3,
44 3,
45 3,
46 3,
47 3,
48 3,
49 9,
50 2,
51 3,
52 2,
53 3,
54 2,
55 3,
56 2,
57 3,
58 2,
59 3,
60 3,
61 4,
62 3,
63 4,
64 3,
65 4,
66 2,
67 3,
68 2,
69 3,
70 2,
71 3,
72 4,
73 4,
74 2,
75 6,
76 4,
77 4,
78 4,
79 4,
80 5,
81 2,
82 3,
83 2,
84 3,
85 3,
9846fe22 86 3,
8c34e50d 87 3
d279ab82
NC
88};
89
2e1c5ef0 90static const char * const PL_AMG_names[NofAMmeth] = {
8261f8eb
NC
91 /* Names kept in the symbol table. fallback => "()", the rest has
92 "(" prepended. The only other place in perl which knows about
93 this convention is AMG_id2name (used for debugging output and
94 'nomethod' only), the only other place which has it hardwired is
95 overload.pm. */
c4ac9b44
DM
96 "()", /* fallback */
97 "(${}", /* to_sv */
98 "(@{}", /* to_av */
99 "(%{}", /* to_hv */
100 "(*{}", /* to_gv */
101 "(&{}", /* to_cv */
102 "(++", /* inc */
103 "(--", /* dec */
104 "(bool", /* bool_ */
105 "(0+", /* numer */
106 "(\"\"", /* string */
107 "(!", /* not */
108 "(=", /* copy */
109 "(abs", /* abs */
110 "(neg", /* neg */
111 "(<>", /* iter */
112 "(int", /* int */
113 "(<", /* lt */
114 "(<=", /* le */
115 "(>", /* gt */
116 "(>=", /* ge */
117 "(==", /* eq */
118 "(!=", /* ne */
119 "(lt", /* slt */
120 "(le", /* sle */
121 "(gt", /* sgt */
122 "(ge", /* sge */
123 "(eq", /* seq */
124 "(ne", /* sne */
125 "(nomethod", /* nomethod */
126 "(+", /* add */
127 "(+=", /* add_ass */
128 "(-", /* subtr */
129 "(-=", /* subtr_ass */
130 "(*", /* mult */
131 "(*=", /* mult_ass */
132 "(/", /* div */
133 "(/=", /* div_ass */
134 "(%", /* modulo */
135 "(%=", /* modulo_ass */
136 "(**", /* pow */
137 "(**=", /* pow_ass */
138 "(<<", /* lshift */
139 "(<<=", /* lshift_ass */
140 "(>>", /* rshift */
141 "(>>=", /* rshift_ass */
142 "(&", /* band */
143 "(&=", /* band_ass */
144 "(|", /* bor */
145 "(|=", /* bor_ass */
146 "(^", /* bxor */
147 "(^=", /* bxor_ass */
148 "(<=>", /* ncmp */
149 "(cmp", /* scmp */
150 "(~", /* compl */
151 "(atan2", /* atan2 */
152 "(cos", /* cos */
153 "(sin", /* sin */
154 "(exp", /* exp */
155 "(log", /* log */
156 "(sqrt", /* sqrt */
157 "(x", /* repeat */
158 "(x=", /* repeat_ass */
159 "(.", /* concat */
160 "(.=", /* concat_ass */
161 "(~~", /* smart */
162 "(-X", /* ftest */
8c34e50d 163 "(qr"
8261f8eb 164};
ce716c52
NC
165
166/* ex: set ro: */