1/* -----------------------------------------------------------------------------
2 * See the LICENSE file for information on copyright, usage and redistribution
3 * of SWIG, and the README file for authors - http://www.swig.org/release.html.
4 *
5 * phpkw.swg
6 * ----------------------------------------------------------------------------- */
7
8#define PHPKW(x) %keywordwarn("'" `x` "' is a PHP keyword, renamed as 'c_" `x` "'",sourcefmt="%(lower)s",$isclass,rename="c_%s")  `x`
9
10#define PHPCN(x) %keywordwarn("'" `x` "' is a PHP reserved class name, class renamed as 'c_" `x` "'",%$isclass,rename="c_%s") `x`
11
12#define PHPBN1(x) %builtinwarn("'" `x` "' conflicts with a built-in name in PHP",sourcefmt="%(lower)s")  `x`
13#define PHPBN2(x) %builtinwarn("'" `x` "' conflicts with a built-in name in PHP")  "::" `x`
14#define PHPFN(x) %keywordwarn("'" `x` "' is a PHP built-in function, renamed as 'c_" `x` "'",sourcefmt="%(lower)s",%$isfunction,%$not %$ismember,rename="c_%s")  `x`
15
16/*
17   From
18
19     http://aspn.activestate.com/ASPN/docs/PHP/reserved.html
20     http://php.net/manual/en/reserved.keywords.php
21
22   and reviewed by Olly Betts.
23
24   Further updates from the PHP manual on php.net.
25*/
26
27/* We classify these as kw since PHP will not run if used globally. */
28/* "You cannot use any of the following words as constants, class names,
29 * function or method names. Using them as variable names is generally OK, but
30 * could lead to confusion."
31 */
32/* case insensitive */
33PHPKW(__halt_compiler);
34PHPKW(abstract);
35PHPKW(and);
36PHPKW(array);
37PHPKW(as);
38PHPKW(break);
39PHPKW(case);
40PHPKW(catch);
41PHPKW(class);
42PHPKW(clone);
43PHPKW(const);
44PHPKW(continue);
45PHPKW(declare);
46PHPKW(default);
47PHPKW(die); // "Language construct"
48PHPKW(do);
49PHPKW(echo); // "Language construct"
50PHPKW(else);
51PHPKW(elseif);
52PHPKW(empty); // "Language construct"
53PHPKW(enddeclare);
54PHPKW(endfor);
55PHPKW(endforeach);
56PHPKW(endif);
57PHPKW(endswitch);
58PHPKW(endwhile);
59PHPKW(eval); // "Language construct"
60PHPKW(exit); // "Language construct"
61PHPKW(extends);
62PHPKW(final);
63PHPKW(for);
64PHPKW(foreach);
65PHPKW(function);
66PHPKW(global);
67PHPKW(goto); // As of PHP5.3
68PHPKW(if);
69PHPKW(implements);
70PHPKW(include); // "Language construct"
71PHPKW(include_once); // "Language construct"
72PHPKW(instanceof);
73PHPKW(interface);
74PHPKW(isset); // "Language construct"
75PHPKW(list); // "Language construct"
76PHPKW(namespace); // As of PHP5.3
77PHPKW(new);
78PHPKW(or);
79PHPKW(print); // "Language construct"
80PHPKW(private);
81PHPKW(protected);
82PHPKW(public);
83PHPKW(require); // "Language construct"
84PHPKW(require_once); // "Language construct"
85PHPKW(return); // "Language construct"
86PHPKW(static);
87PHPKW(switch);
88PHPKW(throw);
89PHPKW(try);
90PHPKW(unset); // "Language construct"
91PHPKW(use);
92PHPKW(var);
93PHPKW(while);
94PHPKW(xor);
95// Compile-time constants
96PHPKW(__CLASS__);
97PHPKW(__DIR__); // As of PHP5.3
98PHPKW(__FILE__);
99PHPKW(__FUNCTION__);
100PHPKW(__METHOD__);
101PHPKW(__NAMESPACE__); // As of PHP5.3
102PHPKW(__LINE__);
103
104/* We classify these as built-in names since they conflict, but PHP still runs */
105
106/* Type 1: case insensitive */
107PHPBN1(__sleep);
108PHPBN1(__wakeup);
109PHPBN1(not);
110PHPBN1(parent);
111PHPBN1(virtual);
112PHPBN1(NULL);
113PHPBN1(TRUE);
114PHPBN1(FALSE);
115
116/* Type 2: case sensitive */
117/* "Core Predefined Constants" from http://uk2.php.net/manual/en/reserved.constants.php */
118PHPBN2(E_ALL);
119PHPBN2(E_ERROR);
120PHPBN2(E_PARSE);
121PHPBN2(E_WARNING);
122PHPBN2(E_NOTICE);
123PHPBN2(E_CORE_ERROR);
124PHPBN2(E_CORE_WARNING);
125PHPBN2(E_COMPILE_ERROR);
126PHPBN2(E_COMPILE_WARNING);
127PHPBN2(E_USER_ERROR);
128PHPBN2(E_USER_WARNING);
129PHPBN2(E_USER_NOTICE);
130PHPBN2(PHP_OS);
131PHPBN2(PHP_VERSION);
132PHPBN2(PHP_SAPI);
133PHPBN2(PHP_EOL);
134PHPBN2(PHP_INT_MAX);
135PHPBN2(PHP_INT_SIZE);
136PHPBN2(DEFAULT_INCLUDE_PATH);
137PHPBN2(PEAR_INSTALL_DIR);
138PHPBN2(PEAR_EXTENSION_DIR);
139PHPBN2(PHP_EXTENSION_DIR);
140PHPBN2(PHP_PREFIX);
141PHPBN2(PHP_BINDIR);
142PHPBN2(PHP_LIBDIR);
143PHPBN2(PHP_DATADIR);
144PHPBN2(PHP_SYSCONFDIR);
145PHPBN2(PHP_LOCALSTATEDIR);
146PHPBN2(PHP_CONFIG_FILE_PATH);
147PHPBN2(PHP_CONFIG_FILE_SCAN_DIR);
148PHPBN2(PHP_SHLIB_SUFFIX);
149PHPBN2(PHP_OUTPUT_HANDLER_START);
150PHPBN2(PHP_OUTPUT_HANDLER_CONT);
151PHPBN2(PHP_OUTPUT_HANDLER_END);
152/* "Standard Predefined Constants" from http://uk2.php.net/manual/en/reserved.constants.php */
153PHPBN2(EXTR_OVERWRITE);
154PHPBN2(EXTR_SKIP);
155PHPBN2(EXTR_PREFIX_SAME);
156PHPBN2(EXTR_PREFIX_ALL);
157PHPBN2(EXTR_PREFIX_INVALID);
158PHPBN2(EXTR_PREFIX_IF_EXISTS);
159PHPBN2(EXTR_IF_EXISTS);
160PHPBN2(SORT_ASC);
161PHPBN2(SORT_DESC);
162PHPBN2(SORT_REGULAR);
163PHPBN2(SORT_NUMERIC);
164PHPBN2(SORT_STRING);
165PHPBN2(CASE_LOWER);
166PHPBN2(CASE_UPPER);
167PHPBN2(COUNT_NORMAL);
168PHPBN2(COUNT_RECURSIVE);
169PHPBN2(ASSERT_ACTIVE);
170PHPBN2(ASSERT_CALLBACK);
171PHPBN2(ASSERT_BAIL);
172PHPBN2(ASSERT_WARNING);
173PHPBN2(ASSERT_QUIET_EVAL);
174PHPBN2(CONNECTION_ABORTED);
175PHPBN2(CONNECTION_NORMAL);
176PHPBN2(CONNECTION_TIMEOUT);
177PHPBN2(INI_USER);
178PHPBN2(INI_PERDIR);
179PHPBN2(INI_SYSTEM);
180PHPBN2(INI_ALL);
181PHPBN2(M_E);
182PHPBN2(M_LOG2E);
183PHPBN2(M_LOG10E);
184PHPBN2(M_LN2);
185PHPBN2(M_LN10);
186PHPBN2(M_PI);
187PHPBN2(M_PI_2);
188PHPBN2(M_PI_4);
189PHPBN2(M_1_PI);
190PHPBN2(M_2_PI);
191PHPBN2(M_2_SQRTPI);
192PHPBN2(M_SQRT2);
193PHPBN2(M_SQRT1_2);
194PHPBN2(CRYPT_SALT_LENGTH);
195PHPBN2(CRYPT_STD_DES);
196PHPBN2(CRYPT_EXT_DES);
197PHPBN2(CRYPT_MD5);
198PHPBN2(CRYPT_BLOWFISH);
199PHPBN2(DIRECTORY_SEPARATOR);
200PHPBN2(SEEK_SET);
201PHPBN2(SEEK_CUR);
202PHPBN2(SEEK_END);
203PHPBN2(LOCK_SH);
204PHPBN2(LOCK_EX);
205PHPBN2(LOCK_UN);
206PHPBN2(LOCK_NB);
207PHPBN2(HTML_SPECIALCHARS);
208PHPBN2(HTML_ENTITIES);
209PHPBN2(ENT_COMPAT);
210PHPBN2(ENT_QUOTES);
211PHPBN2(ENT_NOQUOTES);
212PHPBN2(INFO_GENERAL);
213PHPBN2(INFO_CREDITS);
214PHPBN2(INFO_CONFIGURATION);
215PHPBN2(INFO_MODULES);
216PHPBN2(INFO_ENVIRONMENT);
217PHPBN2(INFO_VARIABLES);
218PHPBN2(INFO_LICENSE);
219PHPBN2(INFO_ALL);
220PHPBN2(CREDITS_GROUP);
221PHPBN2(CREDITS_GENERAL);
222PHPBN2(CREDITS_SAPI);
223PHPBN2(CREDITS_MODULES);
224PHPBN2(CREDITS_DOCS);
225PHPBN2(CREDITS_FULLPAGE);
226PHPBN2(CREDITS_QA);
227PHPBN2(CREDITS_ALL);
228PHPBN2(STR_PAD_LEFT);
229PHPBN2(STR_PAD_RIGHT);
230PHPBN2(STR_PAD_BOTH);
231PHPBN2(PATHINFO_DIRNAME);
232PHPBN2(PATHINFO_BASENAME);
233PHPBN2(PATHINFO_EXTENSION);
234PHPBN2(PATH_SEPARATOR);
235PHPBN2(CHAR_MAX);
236PHPBN2(LC_CTYPE);
237PHPBN2(LC_NUMERIC);
238PHPBN2(LC_TIME);
239PHPBN2(LC_COLLATE);
240PHPBN2(LC_MONETARY);
241PHPBN2(LC_ALL);
242PHPBN2(LC_MESSAGES);
243PHPBN2(ABDAY_1);
244PHPBN2(ABDAY_2);
245PHPBN2(ABDAY_3);
246PHPBN2(ABDAY_4);
247PHPBN2(ABDAY_5);
248PHPBN2(ABDAY_6);
249PHPBN2(ABDAY_7);
250PHPBN2(DAY_1);
251PHPBN2(DAY_2);
252PHPBN2(DAY_3);
253PHPBN2(DAY_4);
254PHPBN2(DAY_5);
255PHPBN2(DAY_6);
256PHPBN2(DAY_7);
257PHPBN2(ABMON_1);
258PHPBN2(ABMON_2);
259PHPBN2(ABMON_3);
260PHPBN2(ABMON_4);
261PHPBN2(ABMON_5);
262PHPBN2(ABMON_6);
263PHPBN2(ABMON_7);
264PHPBN2(ABMON_8);
265PHPBN2(ABMON_9);
266PHPBN2(ABMON_10);
267PHPBN2(ABMON_11);
268PHPBN2(ABMON_12);
269PHPBN2(MON_1);
270PHPBN2(MON_2);
271PHPBN2(MON_3);
272PHPBN2(MON_4);
273PHPBN2(MON_5);
274PHPBN2(MON_6);
275PHPBN2(MON_7);
276PHPBN2(MON_8);
277PHPBN2(MON_9);
278PHPBN2(MON_10);
279PHPBN2(MON_11);
280PHPBN2(MON_12);
281PHPBN2(AM_STR);
282PHPBN2(PM_STR);
283PHPBN2(D_T_FMT);
284PHPBN2(D_FMT);
285PHPBN2(T_FMT);
286PHPBN2(T_FMT_AMPM);
287PHPBN2(ERA);
288PHPBN2(ERA_YEAR);
289PHPBN2(ERA_D_T_FMT);
290PHPBN2(ERA_D_FMT);
291PHPBN2(ERA_T_FMT);
292PHPBN2(ALT_DIGITS);
293PHPBN2(INT_CURR_SYMBOL);
294PHPBN2(CURRENCY_SYMBOL);
295PHPBN2(CRNCYSTR);
296PHPBN2(MON_DECIMAL_POINT);
297PHPBN2(MON_THOUSANDS_SEP);
298PHPBN2(MON_GROUPING);
299PHPBN2(POSITIVE_SIGN);
300PHPBN2(NEGATIVE_SIGN);
301PHPBN2(INT_FRAC_DIGITS);
302PHPBN2(FRAC_DIGITS);
303PHPBN2(P_CS_PRECEDES);
304PHPBN2(P_SEP_BY_SPACE);
305PHPBN2(N_CS_PRECEDES);
306PHPBN2(N_SEP_BY_SPACE);
307PHPBN2(P_SIGN_POSN);
308PHPBN2(N_SIGN_POSN);
309PHPBN2(DECIMAL_POINT);
310PHPBN2(RADIXCHAR);
311PHPBN2(THOUSANDS_SEP);
312PHPBN2(THOUSEP);
313PHPBN2(GROUPING);
314PHPBN2(YESEXPR);
315PHPBN2(NOEXPR);
316PHPBN2(YESSTR);
317PHPBN2(NOSTR);
318PHPBN2(CODESET);
319PHPBN2(LOG_EMERG);
320PHPBN2(LOG_ALERT);
321PHPBN2(LOG_CRIT);
322PHPBN2(LOG_ERR);
323PHPBN2(LOG_WARNING);
324PHPBN2(LOG_NOTICE);
325PHPBN2(LOG_INFO);
326PHPBN2(LOG_DEBUG);
327PHPBN2(LOG_KERN);
328PHPBN2(LOG_USER);
329PHPBN2(LOG_MAIL);
330PHPBN2(LOG_DAEMON);
331PHPBN2(LOG_AUTH);
332PHPBN2(LOG_SYSLOG);
333PHPBN2(LOG_LPR);
334PHPBN2(LOG_NEWS);
335PHPBN2(LOG_UUCP);
336PHPBN2(LOG_CRON);
337PHPBN2(LOG_AUTHPRIV);
338PHPBN2(LOG_LOCAL0);
339PHPBN2(LOG_LOCAL1);
340PHPBN2(LOG_LOCAL2);
341PHPBN2(LOG_LOCAL3);
342PHPBN2(LOG_LOCAL4);
343PHPBN2(LOG_LOCAL5);
344PHPBN2(LOG_LOCAL6);
345PHPBN2(LOG_LOCAL7);
346PHPBN2(LOG_PID);
347PHPBN2(LOG_CONS);
348PHPBN2(LOG_ODELAY);
349PHPBN2(LOG_NDELAY);
350PHPBN2(LOG_NOWAIT);
351PHPBN2(LOG_PERROR);
352
353/* Added in PHP5 */
354PHPBN2(E_STRICT);
355PHPBN2(__COMPILER_HALT_OFFSET__);
356
357/* Class names reserved by PHP */
358PHPCN(stdClass);
359PHPCN(__PHP_Incomplete_Class);
360PHPCN(Directory);
361
362/* Added in PHP5 (this list apparently depends which extensions you load by default). */
363PHPCN(parent);
364PHPCN(self);
365PHPCN(Exception);
366PHPCN(php_user_filter);
367PHPCN(ErrorException);
368PHPCN(XMLWriter);
369PHPCN(LibXMLError);
370PHPCN(SimpleXMLElement);
371PHPCN(SoapClient);
372PHPCN(SoapVar);
373PHPCN(SoapServer);
374PHPCN(SoapFault);
375PHPCN(SoapParam);
376PHPCN(SoapHeader);
377PHPCN(RecursiveIteratorIterator);
378PHPCN(FilterIterator);
379PHPCN(RecursiveFilterIterator);
380PHPCN(ParentIterator);
381PHPCN(LimitIterator);
382PHPCN(CachingIterator);
383PHPCN(RecursiveCachingIterator);
384PHPCN(IteratorIterator);
385PHPCN(NoRewindIterator);
386PHPCN(AppendIterator);
387PHPCN(InfiniteIterator);
388PHPCN(EmptyIterator);
389PHPCN(ArrayObject);
390PHPCN(ArrayIterator);
391PHPCN(RecursiveArrayIterator);
392PHPCN(SplFileInfo);
393PHPCN(DirectoryIterator);
394PHPCN(RecursiveDirectoryIterator);
395PHPCN(SplFileObject);
396PHPCN(SplTempFileObject);
397PHPCN(SimpleXMLIterator);
398PHPCN(LogicException);
399PHPCN(BadFunctionCallException);
400PHPCN(BadMethodCallException);
401PHPCN(DomainException);
402PHPCN(InvalidArgumentException);
403PHPCN(LengthException);
404PHPCN(OutOfRangeException);
405PHPCN(RuntimeException);
406PHPCN(OutOfBoundsException);
407PHPCN(OverflowException);
408PHPCN(RangeException);
409PHPCN(UnderflowException);
410PHPCN(UnexpectedValueException);
411PHPCN(SplObjectStorage);
412PHPCN(ReflectionException);
413PHPCN(Reflection);
414PHPCN(ReflectionFunction);
415PHPCN(ReflectionParameter);
416PHPCN(ReflectionMethod);
417PHPCN(ReflectionClass);
418PHPCN(ReflectionObject);
419PHPCN(ReflectionProperty);
420PHPCN(ReflectionExtension);
421PHPCN(DOMException);
422PHPCN(DOMStringList);
423PHPCN(DOMNameList);
424PHPCN(DOMImplementationList);
425PHPCN(DOMImplementationSource);
426PHPCN(DOMImplementation);
427PHPCN(DOMNode);
428PHPCN(DOMNameSpaceNode);
429PHPCN(DOMDocumentFragment);
430PHPCN(DOMDocument);
431PHPCN(DOMNodeList);
432PHPCN(DOMNamedNodeMap);
433PHPCN(DOMCharacterData);
434PHPCN(DOMAttr);
435PHPCN(DOMElement);
436PHPCN(DOMText);
437PHPCN(DOMComment);
438PHPCN(DOMTypeinfo);
439PHPCN(DOMUserDataHandler);
440PHPCN(DOMDomError);
441PHPCN(DOMErrorHandler);
442PHPCN(DOMLocator);
443PHPCN(DOMConfiguration);
444PHPCN(DOMCdataSection);
445PHPCN(DOMDocumentType);
446PHPCN(DOMNotation);
447PHPCN(DOMEntity);
448PHPCN(DOMEntityReference);
449PHPCN(DOMProcessingInstruction);
450PHPCN(DOMStringExtend);
451PHPCN(DOMXPath);
452PHPCN(XMLReader);
453PHPCN(SQLiteDatabase);
454PHPCN(SQLiteResult);
455PHPCN(SQLiteUnbuffered);
456PHPCN(SQLiteException);
457
458/* Built-in PHP functions (incomplete). */
459PHPFN(cos);
460PHPFN(sin);
461PHPFN(tan);
462PHPFN(acos);
463PHPFN(asin);
464PHPFN(atan);
465PHPFN(atan2);
466PHPFN(cosh);
467PHPFN(sinh);
468PHPFN(tanh);
469PHPFN(exp);
470PHPFN(log);
471PHPFN(log10);
472PHPFN(pow);
473PHPFN(sqrt);
474PHPFN(ceil);
475PHPFN(floor);
476PHPFN(fmod);
477PHPFN(min);
478PHPFN(max);
479
480#undef PHPKW
481#undef PHPBN1
482#undef PHPBN2
483#undef PHPCN
484#undef PHPFN
485