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