This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
diag.t: Check that TODOs haven't been done
[perl5.git] / overload.c
1 /* -*- buffer-read-only: t -*-
2  *
3  *    overload.c
4  *
5  *    Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011
6  *    by Larry Wall and others
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  *
11  *  !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
12  *  This file is built by regen/overload.pl
13  */
14
15 #define AMG_id2name(id) (PL_AMG_names[id]+1)
16 #define AMG_id2namelen(id) (PL_AMG_namelens[id]-1)
17
18 static const U8 PL_AMG_namelens[NofAMmeth] = {
19     2,
20     4,
21     4,
22     4,
23     4,
24     4,
25     3,
26     3,
27     5,
28     3,
29     3,
30     2,
31     2,
32     4,
33     4,
34     3,
35     4,
36     2,
37     3,
38     2,
39     3,
40     3,
41     3,
42     3,
43     3,
44     3,
45     3,
46     3,
47     3,
48     9,
49     2,
50     3,
51     2,
52     3,
53     2,
54     3,
55     2,
56     3,
57     2,
58     3,
59     3,
60     4,
61     3,
62     4,
63     3,
64     4,
65     2,
66     3,
67     2,
68     3,
69     2,
70     3,
71     4,
72     4,
73     2,
74     6,
75     4,
76     4,
77     4,
78     4,
79     5,
80     2,
81     3,
82     2,
83     3,
84     3,
85     3,
86     3,
87     7
88 };
89
90 static const char * const PL_AMG_names[NofAMmeth] = {
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.  */
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      */
163     "(qr",              /* regexp     */
164     "DESTROY"
165 };