Commit | Line | Data |
---|---|---|
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 | ||
15 | enum { | |
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 | |
92 | EXTCONST 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 | |
167 | EXTCONST char * PL_AMG_names[NofAMmeth]; | |
168 | #endif /* def INITAMAGIC */ |