This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
A new regression test from:
[perl5.git] / overload.h
CommitLineData
bab3dc31
NC
1/* -*- buffer-read-only: t -*-
2 *
3 * overload.h
4 *
5 * Copyright (C) 1997, 1998, 2000, 2001, 2005 and 2006 by Larry Wall and
6 * 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 overload.pl
13 */
14
15enum {
16 fallback_amg,
17 to_sv_amg,
18 to_av_amg,
19 to_hv_amg,
20 to_gv_amg,
21 to_cv_amg,
22 inc_amg,
23 dec_amg,
24 bool__amg,
25 numer_amg,
26 string_amg,
27 not_amg,
28 copy_amg,
29 abs_amg,
30 neg_amg,
31 iter_amg,
32 int_amg,
33 lt_amg,
34 le_amg,
35 gt_amg,
36 ge_amg,
37 eq_amg,
38 ne_amg,
39 slt_amg,
40 sle_amg,
41 sgt_amg,
42 sge_amg,
43 seq_amg,
44 sne_amg,
45 nomethod_amg,
46 add_amg,
47 add_ass_amg,
48 subtr_amg,
49 subtr_ass_amg,
50 mult_amg,
51 mult_ass_amg,
52 div_amg,
53 div_ass_amg,
54 modulo_amg,
55 modulo_ass_amg,
56 pow_amg,
57 pow_ass_amg,
58 lshift_amg,
59 lshift_ass_amg,
60 rshift_amg,
61 rshift_ass_amg,
62 band_amg,
63 band_ass_amg,
64 bor_amg,
65 bor_ass_amg,
66 bxor_amg,
67 bxor_ass_amg,
68 ncmp_amg,
69 scmp_amg,
70 compl_amg,
71 atan2_amg,
72 cos_amg,
73 sin_amg,
74 exp_amg,
75 log_amg,
76 sqrt_amg,
77 repeat_amg,
78 repeat_ass_amg,
79 concat_amg,
80 concat_ass_amg,
81 smart_amg,
82 DESTROY_amg,
83 max_amg_code
84 /* Do not leave a trailing comma here. C9X allows it, C89 doesn't. */
85};
86
87
88#define NofAMmeth max_amg_code
89#define AMG_id2name(id) (PL_AMG_names[id]+1)
90
91#ifdef DOINIT
92EXTCONST char * const PL_AMG_names[NofAMmeth] = {
93 /* Names kept in the symbol table. fallback => "()", the rest has
94 "(" prepended. The only other place in perl which knows about
95 this convention is AMG_id2name (used for debugging output and
96 'nomethod' only), the only other place which has it hardwired is
97 overload.pm. */
98 "()",
99 "(${}",
100 "(@{}",
101 "(%{}",
102 "(*{}",
103 "(&{}",
104 "(++",
105 "(--",
106 "(bool",
107 "(0+",
108 "(\"\"",
109 "(!",
110 "(=",
111 "(abs",
112 "(neg",
113 "(<>",
114 "(int",
115 "(<",
116 "(<=",
117 "(>",
118 "(>=",
119 "(==",
120 "(!=",
121 "(lt",
122 "(le",
123 "(gt",
124 "(ge",
125 "(eq",
126 "(ne",
127 "(nomethod",
128 "(+",
129 "(+=",
130 "(-",
131 "(-=",
132 "(*",
133 "(*=",
134 "(/",
135 "(/=",
136 "(%",
137 "(%=",
138 "(**",
139 "(**=",
140 "(<<",
141 "(<<=",
142 "(>>",
143 "(>>=",
144 "(&",
145 "(&=",
146 "(|",
147 "(|=",
148 "(^",
149 "(^=",
150 "(<=>",
151 "(cmp",
152 "(~",
153 "(atan2",
154 "(cos",
155 "(sin",
156 "(exp",
157 "(log",
158 "(sqrt",
159 "(x",
160 "(x=",
161 "(.",
162 "(.=",
163 "(~~",
164 "DESTROY"
165};
166#else
167EXTCONST char * PL_AMG_names[NofAMmeth];
168#endif /* def INITAMAGIC */