PageRenderTime 69ms CodeModel.GetById 28ms RepoModel.GetById 1ms app.codeStats 0ms

/plugins/CodeMirror/contrib/php/js/tokenizephp.js

https://bitbucket.org/mpercy/deeemm-cms
JavaScript | 1006 lines | 768 code | 29 blank | 209 comment | 19 complexity | 2fa7cc7c3090a0c5c6ea03ad25be058a MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause

Large files files are truncated, but you can click here to view the full file

  1. /*
  2. Copyright (c) 2008-2009 Yahoo! Inc. All rights reserved.
  3. The copyrights embodied in the content of this file are licensed by
  4. Yahoo! Inc. under the BSD (revised) open source license
  5. @author Vlad Dan Dascalescu <dandv@yahoo-inc.com>
  6. Tokenizer for PHP code
  7. References:
  8. + http://php.net/manual/en/reserved.php
  9. + http://php.net/tokens
  10. + get_defined_constants(), get_defined_functions(), get_declared_classes()
  11. executed on a realistic (not vanilla) PHP installation with typical LAMP modules.
  12. Specifically, the PHP bundled with the Uniform Web Server (www.uniformserver.com).
  13. */
  14. // add the forEach method for JS engines that don't support it (e.g. IE)
  15. // code from https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Objects:Array:forEach
  16. if (!Array.prototype.forEach)
  17. {
  18. Array.prototype.forEach = function(fun /*, thisp*/)
  19. {
  20. var len = this.length;
  21. if (typeof fun != "function")
  22. throw new TypeError();
  23. var thisp = arguments[1];
  24. for (var i = 0; i < len; i++)
  25. {
  26. if (i in this)
  27. fun.call(thisp, this[i], i, this);
  28. }
  29. };
  30. }
  31. var tokenizePHP = (function() {
  32. /* A map of PHP's reserved words (keywords, predefined classes, functions and
  33. constants. Each token has a type ('keyword', 'operator' etc.) and a style.
  34. The style corresponds to the CSS span class in phpcolors.css.
  35. Keywords can be of three types:
  36. a - takes an expression and forms a statement - e.g. if
  37. b - takes just a statement - e.g. else
  38. c - takes an optinoal expression, but no statement - e.g. return
  39. This distinction gives the parser enough information to parse
  40. correct code correctly (we don't care that much how we parse
  41. incorrect code).
  42. Reference: http://us.php.net/manual/en/reserved.php
  43. */
  44. var keywords = function(){
  45. function token(type, style){
  46. return {type: type, style: style};
  47. }
  48. var result = {};
  49. // for each(var element in ["...", "..."]) can pick up elements added to
  50. // Array.prototype, so we'll use the loop structure below. See also
  51. // http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Statements/for_each...in
  52. // keywords that take an expression and form a statement
  53. ["if", "elseif", "while", "declare"].forEach(function(element, index, array) {
  54. result[element] = token("keyword a", "php-keyword");
  55. });
  56. // keywords that take just a statement
  57. ["do", "else", "try" ].forEach(function(element, index, array) {
  58. result[element] = token("keyword b", "php-keyword");
  59. });
  60. // keywords that take an optional expression, but no statement
  61. ["return", "break", "continue", // the expression is optional
  62. "new", "clone", "throw" // the expression is mandatory
  63. ].forEach(function(element, index, array) {
  64. result[element] = token("keyword c", "php-keyword");
  65. });
  66. ["__CLASS__", "__DIR__", "__FILE__", "__FUNCTION__", "__METHOD__", "__NAMESPACE__"].forEach(function(element, index, array) {
  67. result[element] = token("atom", "php-compile-time-constant");
  68. });
  69. ["true", "false", "null"].forEach(function(element, index, array) {
  70. result[element] = token("atom", "php-atom");
  71. });
  72. ["and", "or", "xor", "instanceof"].forEach(function(element, index, array) {
  73. result[element] = token("operator", "php-keyword php-operator");
  74. });
  75. ["class", "interface"].forEach(function(element, index, array) {
  76. result[element] = token("class", "php-keyword");
  77. });
  78. ["namespace", "use", "extends", "implements"].forEach(function(element, index, array) {
  79. result[element] = token("namespace", "php-keyword");
  80. });
  81. // reserved "language constructs"... http://php.net/manual/en/reserved.php
  82. [ "die", "echo", "empty", "exit", "eval", "include", "include_once", "isset",
  83. "list", "require", "require_once", "return", "print", "unset",
  84. "array" // a keyword rather, but mandates a parenthesized parameter list
  85. ].forEach(function(element, index, array) {
  86. result[element] = token("t_string", "php-reserved-language-construct");
  87. });
  88. result["switch"] = token("switch", "php-keyword");
  89. result["case"] = token("case", "php-keyword");
  90. result["default"] = token("default", "php-keyword");
  91. result["catch"] = token("catch", "php-keyword");
  92. result["function"] = token("function", "php-keyword");
  93. // http://php.net/manual/en/control-structures.alternative-syntax.php must be followed by a ':'
  94. ["endif", "endwhile", "endfor", "endforeach", "endswitch", "enddeclare"].forEach(function(element, index, array) {
  95. result[element] = token("default", "php-keyword");
  96. });
  97. result["const"] = token("const", "php-keyword");
  98. ["abstract", "final", "private", "protected", "public", "global", "static"].forEach(function(element, index, array) {
  99. result[element] = token("modifier", "php-keyword");
  100. });
  101. result["var"] = token("modifier", "php-keyword deprecated");
  102. result["foreach"] = token("foreach", "php-keyword");
  103. result["as"] = token("as", "php-keyword");
  104. result["for"] = token("for", "php-keyword");
  105. // PHP built-in functions - output of get_defined_functions()["internal"]
  106. [ "zend_version", "func_num_args", "func_get_arg", "func_get_args", "strlen",
  107. "strcmp", "strncmp", "strcasecmp", "strncasecmp", "each", "error_reporting",
  108. "define", "defined", "get_class", "get_parent_class", "method_exists",
  109. "property_exists", "class_exists", "interface_exists", "function_exists",
  110. "get_included_files", "get_required_files", "is_subclass_of", "is_a",
  111. "get_class_vars", "get_object_vars", "get_class_methods", "trigger_error",
  112. "user_error", "set_error_handler", "restore_error_handler",
  113. "set_exception_handler", "restore_exception_handler", "get_declared_classes",
  114. "get_declared_interfaces", "get_defined_functions", "get_defined_vars",
  115. "create_function", "get_resource_type", "get_loaded_extensions",
  116. "extension_loaded", "get_extension_funcs", "get_defined_constants",
  117. "debug_backtrace", "debug_print_backtrace", "bcadd", "bcsub", "bcmul", "bcdiv",
  118. "bcmod", "bcpow", "bcsqrt", "bcscale", "bccomp", "bcpowmod", "jdtogregorian",
  119. "gregoriantojd", "jdtojulian", "juliantojd", "jdtojewish", "jewishtojd",
  120. "jdtofrench", "frenchtojd", "jddayofweek", "jdmonthname", "easter_date",
  121. "easter_days", "unixtojd", "jdtounix", "cal_to_jd", "cal_from_jd",
  122. "cal_days_in_month", "cal_info", "variant_set", "variant_add", "variant_cat",
  123. "variant_sub", "variant_mul", "variant_and", "variant_div", "variant_eqv",
  124. "variant_idiv", "variant_imp", "variant_mod", "variant_or", "variant_pow",
  125. "variant_xor", "variant_abs", "variant_fix", "variant_int", "variant_neg",
  126. "variant_not", "variant_round", "variant_cmp", "variant_date_to_timestamp",
  127. "variant_date_from_timestamp", "variant_get_type", "variant_set_type",
  128. "variant_cast", "com_create_guid", "com_event_sink", "com_print_typeinfo",
  129. "com_message_pump", "com_load_typelib", "com_get_active_object", "ctype_alnum",
  130. "ctype_alpha", "ctype_cntrl", "ctype_digit", "ctype_lower", "ctype_graph",
  131. "ctype_print", "ctype_punct", "ctype_space", "ctype_upper", "ctype_xdigit",
  132. "strtotime", "date", "idate", "gmdate", "mktime", "gmmktime", "checkdate",
  133. "strftime", "gmstrftime", "time", "localtime", "getdate", "date_create",
  134. "date_parse", "date_format", "date_modify", "date_timezone_get",
  135. "date_timezone_set", "date_offset_get", "date_time_set", "date_date_set",
  136. "date_isodate_set", "timezone_open", "timezone_name_get",
  137. "timezone_name_from_abbr", "timezone_offset_get", "timezone_transitions_get",
  138. "timezone_identifiers_list", "timezone_abbreviations_list",
  139. "date_default_timezone_set", "date_default_timezone_get", "date_sunrise",
  140. "date_sunset", "date_sun_info", "filter_input", "filter_var",
  141. "filter_input_array", "filter_var_array", "filter_list", "filter_has_var",
  142. "filter_id", "ftp_connect", "ftp_login", "ftp_pwd", "ftp_cdup", "ftp_chdir",
  143. "ftp_exec", "ftp_raw", "ftp_mkdir", "ftp_rmdir", "ftp_chmod", "ftp_alloc",
  144. "ftp_nlist", "ftp_rawlist", "ftp_systype", "ftp_pasv", "ftp_get", "ftp_fget",
  145. "ftp_put", "ftp_fput", "ftp_size", "ftp_mdtm", "ftp_rename", "ftp_delete",
  146. "ftp_site", "ftp_close", "ftp_set_option", "ftp_get_option", "ftp_nb_fget",
  147. "ftp_nb_get", "ftp_nb_continue", "ftp_nb_put", "ftp_nb_fput", "ftp_quit",
  148. "hash", "hash_file", "hash_hmac", "hash_hmac_file", "hash_init", "hash_update",
  149. "hash_update_stream", "hash_update_file", "hash_final", "hash_algos", "iconv",
  150. "ob_iconv_handler", "iconv_get_encoding", "iconv_set_encoding", "iconv_strlen",
  151. "iconv_substr", "iconv_strpos", "iconv_strrpos", "iconv_mime_encode",
  152. "iconv_mime_decode", "iconv_mime_decode_headers", "json_encode", "json_decode",
  153. "odbc_autocommit", "odbc_binmode", "odbc_close", "odbc_close_all",
  154. "odbc_columns", "odbc_commit", "odbc_connect", "odbc_cursor",
  155. "odbc_data_source", "odbc_execute", "odbc_error", "odbc_errormsg", "odbc_exec",
  156. "odbc_fetch_array", "odbc_fetch_object", "odbc_fetch_row", "odbc_fetch_into",
  157. "odbc_field_len", "odbc_field_scale", "odbc_field_name", "odbc_field_type",
  158. "odbc_field_num", "odbc_free_result", "odbc_gettypeinfo", "odbc_longreadlen",
  159. "odbc_next_result", "odbc_num_fields", "odbc_num_rows", "odbc_pconnect",
  160. "odbc_prepare", "odbc_result", "odbc_result_all", "odbc_rollback",
  161. "odbc_setoption", "odbc_specialcolumns", "odbc_statistics", "odbc_tables",
  162. "odbc_primarykeys", "odbc_columnprivileges", "odbc_tableprivileges",
  163. "odbc_foreignkeys", "odbc_procedures", "odbc_procedurecolumns", "odbc_do",
  164. "odbc_field_precision", "preg_match", "preg_match_all", "preg_replace",
  165. "preg_replace_callback", "preg_split", "preg_quote", "preg_grep",
  166. "preg_last_error", "session_name", "session_module_name", "session_save_path",
  167. "session_id", "session_regenerate_id", "session_decode", "session_register",
  168. "session_unregister", "session_is_registered", "session_encode",
  169. "session_start", "session_destroy", "session_unset",
  170. "session_set_save_handler", "session_cache_limiter", "session_cache_expire",
  171. "session_set_cookie_params", "session_get_cookie_params",
  172. "session_write_close", "session_commit", "spl_classes", "spl_autoload",
  173. "spl_autoload_extensions", "spl_autoload_register", "spl_autoload_unregister",
  174. "spl_autoload_functions", "spl_autoload_call", "class_parents",
  175. "class_implements", "spl_object_hash", "iterator_to_array", "iterator_count",
  176. "iterator_apply", "constant", "bin2hex", "sleep", "usleep", "flush",
  177. "wordwrap", "htmlspecialchars", "htmlentities", "html_entity_decode",
  178. "htmlspecialchars_decode", "get_html_translation_table", "sha1", "sha1_file",
  179. "md5", "md5_file", "crc32", "iptcparse", "iptcembed", "getimagesize",
  180. "image_type_to_mime_type", "image_type_to_extension", "phpinfo", "phpversion",
  181. "phpcredits", "php_logo_guid", "php_real_logo_guid", "php_egg_logo_guid",
  182. "zend_logo_guid", "php_sapi_name", "php_uname", "php_ini_scanned_files",
  183. "strnatcmp", "strnatcasecmp", "substr_count", "strspn", "strcspn", "strtok",
  184. "strtoupper", "strtolower", "strpos", "stripos", "strrpos", "strripos",
  185. "strrev", "hebrev", "hebrevc", "nl2br", "basename", "dirname", "pathinfo",
  186. "stripslashes", "stripcslashes", "strstr", "stristr", "strrchr", "str_shuffle",
  187. "str_word_count", "str_split", "strpbrk", "substr_compare", "strcoll",
  188. "substr", "substr_replace", "quotemeta", "ucfirst", "ucwords", "strtr",
  189. "addslashes", "addcslashes", "rtrim", "str_replace", "str_ireplace",
  190. "str_repeat", "count_chars", "chunk_split", "trim", "ltrim", "strip_tags",
  191. "similar_text", "explode", "implode", "setlocale", "localeconv", "soundex",
  192. "levenshtein", "chr", "ord", "parse_str", "str_pad", "chop", "strchr",
  193. "sprintf", "printf", "vprintf", "vsprintf", "fprintf", "vfprintf", "sscanf",
  194. "fscanf", "parse_url", "urlencode", "urldecode", "rawurlencode",
  195. "rawurldecode", "http_build_query", "unlink", "exec", "system",
  196. "escapeshellcmd", "escapeshellarg", "passthru", "shell_exec", "proc_open",
  197. "proc_close", "proc_terminate", "proc_get_status", "rand", "srand",
  198. "getrandmax", "mt_rand", "mt_srand", "mt_getrandmax", "getservbyname",
  199. "getservbyport", "getprotobyname", "getprotobynumber", "getmyuid", "getmygid",
  200. "getmypid", "getmyinode", "getlastmod", "base64_decode", "base64_encode",
  201. "convert_uuencode", "convert_uudecode", "abs", "ceil", "floor", "round", "sin",
  202. "cos", "tan", "asin", "acos", "atan", "atan2", "sinh", "cosh", "tanh", "pi",
  203. "is_finite", "is_nan", "is_infinite", "pow", "exp", "log", "log10", "sqrt",
  204. "hypot", "deg2rad", "rad2deg", "bindec", "hexdec", "octdec", "decbin",
  205. "decoct", "dechex", "base_convert", "number_format", "fmod", "ip2long",
  206. "long2ip", "getenv", "putenv", "microtime", "gettimeofday", "uniqid",
  207. "quoted_printable_decode", "convert_cyr_string", "get_current_user",
  208. "set_time_limit", "get_cfg_var", "magic_quotes_runtime",
  209. "set_magic_quotes_runtime", "get_magic_quotes_gpc", "get_magic_quotes_runtime",
  210. "import_request_variables", "error_log", "error_get_last", "call_user_func",
  211. "call_user_func_array", "call_user_method", "call_user_method_array",
  212. "serialize", "unserialize", "var_dump", "var_export", "debug_zval_dump",
  213. "print_r", "memory_get_usage", "memory_get_peak_usage",
  214. "register_shutdown_function", "register_tick_function",
  215. "unregister_tick_function", "highlight_file", "show_source",
  216. "highlight_string", "php_strip_whitespace", "ini_get", "ini_get_all",
  217. "ini_set", "ini_alter", "ini_restore", "get_include_path", "set_include_path",
  218. "restore_include_path", "setcookie", "setrawcookie", "header", "headers_sent",
  219. "headers_list", "connection_aborted", "connection_status", "ignore_user_abort",
  220. "parse_ini_file", "is_uploaded_file", "move_uploaded_file", "gethostbyaddr",
  221. "gethostbyname", "gethostbynamel", "intval", "floatval", "doubleval", "strval",
  222. "gettype", "settype", "is_null", "is_resource", "is_bool", "is_long",
  223. "is_float", "is_int", "is_integer", "is_double", "is_real", "is_numeric",
  224. "is_string", "is_array", "is_object", "is_scalar", "is_callable", "ereg",
  225. "ereg_replace", "eregi", "eregi_replace", "split", "spliti", "join",
  226. "sql_regcase", "dl", "pclose", "popen", "readfile", "rewind", "rmdir", "umask",
  227. "fclose", "feof", "fgetc", "fgets", "fgetss", "fread", "fopen", "fpassthru",
  228. "ftruncate", "fstat", "fseek", "ftell", "fflush", "fwrite", "fputs", "mkdir",
  229. "rename", "copy", "tempnam", "tmpfile", "file", "file_get_contents",
  230. "file_put_contents", "stream_select", "stream_context_create",
  231. "stream_context_set_params", "stream_context_set_option",
  232. "stream_context_get_options", "stream_context_get_default",
  233. "stream_filter_prepend", "stream_filter_append", "stream_filter_remove",
  234. "stream_socket_client", "stream_socket_server", "stream_socket_accept",
  235. "stream_socket_get_name", "stream_socket_recvfrom", "stream_socket_sendto",
  236. "stream_socket_enable_crypto", "stream_socket_shutdown",
  237. "stream_copy_to_stream", "stream_get_contents", "fgetcsv", "fputcsv", "flock",
  238. "get_meta_tags", "stream_set_write_buffer", "set_file_buffer",
  239. "set_socket_blocking", "stream_set_blocking", "socket_set_blocking",
  240. "stream_get_meta_data", "stream_get_line", "stream_wrapper_register",
  241. "stream_register_wrapper", "stream_wrapper_unregister",
  242. "stream_wrapper_restore", "stream_get_wrappers", "stream_get_transports",
  243. "get_headers", "stream_set_timeout", "socket_set_timeout", "socket_get_status",
  244. "realpath", "fsockopen", "pfsockopen", "pack", "unpack", "get_browser",
  245. "crypt", "opendir", "closedir", "chdir", "getcwd", "rewinddir", "readdir",
  246. "dir", "scandir", "glob", "fileatime", "filectime", "filegroup", "fileinode",
  247. "filemtime", "fileowner", "fileperms", "filesize", "filetype", "file_exists",
  248. "is_writable", "is_writeable", "is_readable", "is_executable", "is_file",
  249. "is_dir", "is_link", "stat", "lstat", "chown", "chgrp", "chmod", "touch",
  250. "clearstatcache", "disk_total_space", "disk_free_space", "diskfreespace",
  251. "mail", "ezmlm_hash", "openlog", "syslog", "closelog",
  252. "define_syslog_variables", "lcg_value", "metaphone", "ob_start", "ob_flush",
  253. "ob_clean", "ob_end_flush", "ob_end_clean", "ob_get_flush", "ob_get_clean",
  254. "ob_get_length", "ob_get_level", "ob_get_status", "ob_get_contents",
  255. "ob_implicit_flush", "ob_list_handlers", "ksort", "krsort", "natsort",
  256. "natcasesort", "asort", "arsort", "sort", "rsort", "usort", "uasort", "uksort",
  257. "shuffle", "array_walk", "array_walk_recursive", "count", "end", "prev",
  258. "next", "reset", "current", "key", "min", "max", "in_array", "array_search",
  259. "extract", "compact", "array_fill", "array_fill_keys", "range",
  260. "array_multisort", "array_push", "array_pop", "array_shift", "array_unshift",
  261. "array_splice", "array_slice", "array_merge", "array_merge_recursive",
  262. "array_keys", "array_values", "array_count_values", "array_reverse",
  263. "array_reduce", "array_pad", "array_flip", "array_change_key_case",
  264. "array_rand", "array_unique", "array_intersect", "array_intersect_key",
  265. "array_intersect_ukey", "array_uintersect", "array_intersect_assoc",
  266. "array_uintersect_assoc", "array_intersect_uassoc", "array_uintersect_uassoc",
  267. "array_diff", "array_diff_key", "array_diff_ukey", "array_udiff",
  268. "array_diff_assoc", "array_udiff_assoc", "array_diff_uassoc",
  269. "array_udiff_uassoc", "array_sum", "array_product", "array_filter",
  270. "array_map", "array_chunk", "array_combine", "array_key_exists", "pos",
  271. "sizeof", "key_exists", "assert", "assert_options", "version_compare",
  272. "str_rot13", "stream_get_filters", "stream_filter_register",
  273. "stream_bucket_make_writeable", "stream_bucket_prepend",
  274. "stream_bucket_append", "stream_bucket_new", "output_add_rewrite_var",
  275. "output_reset_rewrite_vars", "sys_get_temp_dir", "token_get_all", "token_name",
  276. "readgzfile", "gzrewind", "gzclose", "gzeof", "gzgetc", "gzgets", "gzgetss",
  277. "gzread", "gzopen", "gzpassthru", "gzseek", "gztell", "gzwrite", "gzputs",
  278. "gzfile", "gzcompress", "gzuncompress", "gzdeflate", "gzinflate", "gzencode",
  279. "ob_gzhandler", "zlib_get_coding_type", "libxml_set_streams_context",
  280. "libxml_use_internal_errors", "libxml_get_last_error", "libxml_clear_errors",
  281. "libxml_get_errors", "dom_import_simplexml", "simplexml_load_file",
  282. "simplexml_load_string", "simplexml_import_dom", "wddx_serialize_value",
  283. "wddx_serialize_vars", "wddx_packet_start", "wddx_packet_end", "wddx_add_vars",
  284. "wddx_deserialize", "xml_parser_create", "xml_parser_create_ns",
  285. "xml_set_object", "xml_set_element_handler", "xml_set_character_data_handler",
  286. "xml_set_processing_instruction_handler", "xml_set_default_handler",
  287. "xml_set_unparsed_entity_decl_handler", "xml_set_notation_decl_handler",
  288. "xml_set_external_entity_ref_handler", "xml_set_start_namespace_decl_handler",
  289. "xml_set_end_namespace_decl_handler", "xml_parse", "xml_parse_into_struct",
  290. "xml_get_error_code", "xml_error_string", "xml_get_current_line_number",
  291. "xml_get_current_column_number", "xml_get_current_byte_index",
  292. "xml_parser_free", "xml_parser_set_option", "xml_parser_get_option",
  293. "utf8_encode", "utf8_decode", "xmlwriter_open_uri", "xmlwriter_open_memory",
  294. "xmlwriter_set_indent", "xmlwriter_set_indent_string",
  295. "xmlwriter_start_comment", "xmlwriter_end_comment",
  296. "xmlwriter_start_attribute", "xmlwriter_end_attribute",
  297. "xmlwriter_write_attribute", "xmlwriter_start_attribute_ns",
  298. "xmlwriter_write_attribute_ns", "xmlwriter_start_element",
  299. "xmlwriter_end_element", "xmlwriter_full_end_element",
  300. "xmlwriter_start_element_ns", "xmlwriter_write_element",
  301. "xmlwriter_write_element_ns", "xmlwriter_start_pi", "xmlwriter_end_pi",
  302. "xmlwriter_write_pi", "xmlwriter_start_cdata", "xmlwriter_end_cdata",
  303. "xmlwriter_write_cdata", "xmlwriter_text", "xmlwriter_write_raw",
  304. "xmlwriter_start_document", "xmlwriter_end_document",
  305. "xmlwriter_write_comment", "xmlwriter_start_dtd", "xmlwriter_end_dtd",
  306. "xmlwriter_write_dtd", "xmlwriter_start_dtd_element",
  307. "xmlwriter_end_dtd_element", "xmlwriter_write_dtd_element",
  308. "xmlwriter_start_dtd_attlist", "xmlwriter_end_dtd_attlist",
  309. "xmlwriter_write_dtd_attlist", "xmlwriter_start_dtd_entity",
  310. "xmlwriter_end_dtd_entity", "xmlwriter_write_dtd_entity",
  311. "xmlwriter_output_memory", "xmlwriter_flush", "gd_info", "imagearc",
  312. "imageellipse", "imagechar", "imagecharup", "imagecolorat",
  313. "imagecolorallocate", "imagepalettecopy", "imagecreatefromstring",
  314. "imagecolorclosest", "imagecolordeallocate", "imagecolorresolve",
  315. "imagecolorexact", "imagecolorset", "imagecolortransparent",
  316. "imagecolorstotal", "imagecolorsforindex", "imagecopy", "imagecopymerge",
  317. "imagecopymergegray", "imagecopyresized", "imagecreate",
  318. "imagecreatetruecolor", "imageistruecolor", "imagetruecolortopalette",
  319. "imagesetthickness", "imagefilledarc", "imagefilledellipse",
  320. "imagealphablending", "imagesavealpha", "imagecolorallocatealpha",
  321. "imagecolorresolvealpha", "imagecolorclosestalpha", "imagecolorexactalpha",
  322. "imagecopyresampled", "imagegrabwindow", "imagegrabscreen", "imagerotate",
  323. "imageantialias", "imagesettile", "imagesetbrush", "imagesetstyle",
  324. "imagecreatefrompng", "imagecreatefromgif", "imagecreatefromjpeg",
  325. "imagecreatefromwbmp", "imagecreatefromxbm", "imagecreatefromgd",
  326. "imagecreatefromgd2", "imagecreatefromgd2part", "imagepng", "imagegif",
  327. "imagejpeg", "imagewbmp", "imagegd", "imagegd2", "imagedestroy",
  328. "imagegammacorrect", "imagefill", "imagefilledpolygon", "imagefilledrectangle",
  329. "imagefilltoborder", "imagefontwidth", "imagefontheight", "imageinterlace",
  330. "imageline", "imageloadfont", "imagepolygon", "imagerectangle",
  331. "imagesetpixel", "imagestring", "imagestringup", "imagesx", "imagesy",
  332. "imagedashedline", "imagettfbbox", "imagettftext", "imageftbbox",
  333. "imagefttext", "imagepsloadfont", "imagepsfreefont", "imagepsencodefont",
  334. "imagepsextendfont", "imagepsslantfont", "imagepstext", "imagepsbbox",
  335. "imagetypes", "jpeg2wbmp", "png2wbmp", "image2wbmp", "imagelayereffect",
  336. "imagecolormatch", "imagexbm", "imagefilter", "imageconvolution",
  337. "mb_convert_case", "mb_strtoupper", "mb_strtolower", "mb_language",
  338. "mb_internal_encoding", "mb_http_input", "mb_http_output", "mb_detect_order",
  339. "mb_substitute_character", "mb_parse_str", "mb_output_handler",
  340. "mb_preferred_mime_name", "mb_strlen", "mb_strpos", "mb_strrpos", "mb_stripos",
  341. "mb_strripos", "mb_strstr", "mb_strrchr", "mb_stristr", "mb_strrichr",
  342. "mb_substr_count", "mb_substr", "mb_strcut", "mb_strwidth", "mb_strimwidth",
  343. "mb_convert_encoding", "mb_detect_encoding", "mb_list_encodings",
  344. "mb_convert_kana", "mb_encode_mimeheader", "mb_decode_mimeheader",
  345. "mb_convert_variables", "mb_encode_numericentity", "mb_decode_numericentity",
  346. "mb_send_mail", "mb_get_info", "mb_check_encoding", "mb_regex_encoding",
  347. "mb_regex_set_options", "mb_ereg", "mb_eregi", "mb_ereg_replace",
  348. "mb_eregi_replace", "mb_split", "mb_ereg_match", "mb_ereg_search",
  349. "mb_ereg_search_pos", "mb_ereg_search_regs", "mb_ereg_search_init",
  350. "mb_ereg_search_getregs", "mb_ereg_search_getpos", "mb_ereg_search_setpos",
  351. "mbregex_encoding", "mbereg", "mberegi", "mbereg_replace", "mberegi_replace",
  352. "mbsplit", "mbereg_match", "mbereg_search", "mbereg_search_pos",
  353. "mbereg_search_regs", "mbereg_search_init", "mbereg_search_getregs",
  354. "mbereg_search_getpos", "mbereg_search_setpos", "mysql_connect",
  355. "mysql_pconnect", "mysql_close", "mysql_select_db", "mysql_query",
  356. "mysql_unbuffered_query", "mysql_db_query", "mysql_list_dbs",
  357. "mysql_list_tables", "mysql_list_fields", "mysql_list_processes",
  358. "mysql_error", "mysql_errno", "mysql_affected_rows", "mysql_insert_id",
  359. "mysql_result", "mysql_num_rows", "mysql_num_fields", "mysql_fetch_row",
  360. "mysql_fetch_array", "mysql_fetch_assoc", "mysql_fetch_object",
  361. "mysql_data_seek", "mysql_fetch_lengths", "mysql_fetch_field",
  362. "mysql_field_seek", "mysql_free_result", "mysql_field_name",
  363. "mysql_field_table", "mysql_field_len", "mysql_field_type",
  364. "mysql_field_flags", "mysql_escape_string", "mysql_real_escape_string",
  365. "mysql_stat", "mysql_thread_id", "mysql_client_encoding", "mysql_ping",
  366. "mysql_get_client_info", "mysql_get_host_info", "mysql_get_proto_info",
  367. "mysql_get_server_info", "mysql_info", "mysql_set_charset", "mysql",
  368. "mysql_fieldname", "mysql_fieldtable", "mysql_fieldlen", "mysql_fieldtype",
  369. "mysql_fieldflags", "mysql_selectdb", "mysql_freeresult", "mysql_numfields",
  370. "mysql_numrows", "mysql_listdbs", "mysql_listtables", "mysql_listfields",
  371. "mysql_db_name", "mysql_dbname", "mysql_tablename", "mysql_table_name",
  372. "mysqli_affected_rows", "mysqli_autocommit", "mysqli_change_user",
  373. "mysqli_character_set_name", "mysqli_close", "mysqli_commit", "mysqli_connect",
  374. "mysqli_connect_errno", "mysqli_connect_error", "mysqli_data_seek",
  375. "mysqli_debug", "mysqli_disable_reads_from_master", "mysqli_disable_rpl_parse",
  376. "mysqli_dump_debug_info", "mysqli_enable_reads_from_master",
  377. "mysqli_enable_rpl_parse", "mysqli_embedded_server_end",
  378. "mysqli_embedded_server_start", "mysqli_errno", "mysqli_error",
  379. "mysqli_stmt_execute", "mysqli_execute", "mysqli_fetch_field",
  380. "mysqli_fetch_fields", "mysqli_fetch_field_direct", "mysqli_fetch_lengths",
  381. "mysqli_fetch_array", "mysqli_fetch_assoc", "mysqli_fetch_object",
  382. "mysqli_fetch_row", "mysqli_field_count", "mysqli_field_seek",
  383. "mysqli_field_tell", "mysqli_free_result", "mysqli_get_charset",
  384. "mysqli_get_client_info", "mysqli_get_client_version", "mysqli_get_host_info",
  385. "mysqli_get_proto_info", "mysqli_get_server_info", "mysqli_get_server_version",
  386. "mysqli_get_warnings", "mysqli_init", "mysqli_info", "mysqli_insert_id",
  387. "mysqli_kill", "mysqli_set_local_infile_default",
  388. "mysqli_set_local_infile_handler", "mysqli_master_query",
  389. "mysqli_more_results", "mysqli_multi_query", "mysqli_next_result",
  390. "mysqli_num_fields", "mysqli_num_rows", "mysqli_options", "mysqli_ping",
  391. "mysqli_prepare", "mysqli_report", "mysqli_query", "mysqli_real_connect",
  392. "mysqli_real_escape_string", "mysqli_real_query", "mysqli_rollback",
  393. "mysqli_rpl_parse_enabled", "mysqli_rpl_probe", "mysqli_rpl_query_type",
  394. "mysqli_select_db", "mysqli_set_charset", "mysqli_stmt_attr_get",
  395. "mysqli_stmt_attr_set", "mysqli_stmt_field_count", "mysqli_stmt_init",
  396. "mysqli_stmt_prepare", "mysqli_stmt_result_metadata",
  397. "mysqli_stmt_send_long_data", "mysqli_stmt_bind_param",
  398. "mysqli_stmt_bind_result", "mysqli_stmt_fetch", "mysqli_stmt_free_result",
  399. "mysqli_stmt_get_warnings", "mysqli_stmt_insert_id", "mysqli_stmt_reset",
  400. "mysqli_stmt_param_count", "mysqli_send_query", "mysqli_slave_query",
  401. "mysqli_sqlstate", "mysqli_ssl_set", "mysqli_stat",
  402. "mysqli_stmt_affected_rows", "mysqli_stmt_close", "mysqli_stmt_data_seek",
  403. "mysqli_stmt_errno", "mysqli_stmt_error", "mysqli_stmt_num_rows",
  404. "mysqli_stmt_sqlstate", "mysqli_store_result", "mysqli_stmt_store_result",
  405. "mysqli_thread_id", "mysqli_thread_safe", "mysqli_use_result",
  406. "mysqli_warning_count", "mysqli_bind_param", "mysqli_bind_result",
  407. "mysqli_client_encoding", "mysqli_escape_string", "mysqli_fetch",
  408. "mysqli_param_count", "mysqli_get_metadata", "mysqli_send_long_data",
  409. "mysqli_set_opt", "pdo_drivers", "socket_select", "socket_create",
  410. "socket_create_listen", "socket_accept", "socket_set_nonblock",
  411. "socket_set_block", "socket_listen", "socket_close", "socket_write",
  412. "socket_read", "socket_getsockname", "socket_getpeername", "socket_connect",
  413. "socket_strerror", "socket_bind", "socket_recv", "socket_send",
  414. "socket_recvfrom", "socket_sendto", "socket_get_option", "socket_set_option",
  415. "socket_shutdown", "socket_last_error", "socket_clear_error", "socket_getopt",
  416. "socket_setopt", "eaccelerator_put", "eaccelerator_get", "eaccelerator_rm",
  417. "eaccelerator_gc", "eaccelerator_lock", "eaccelerator_unlock",
  418. "eaccelerator_caching", "eaccelerator_optimizer", "eaccelerator_clear",
  419. "eaccelerator_clean", "eaccelerator_info", "eaccelerator_purge",
  420. "eaccelerator_cached_scripts", "eaccelerator_removed_scripts",
  421. "eaccelerator_list_keys", "eaccelerator_encode", "eaccelerator_load",
  422. "_eaccelerator_loader_file", "_eaccelerator_loader_line",
  423. "eaccelerator_set_session_handlers", "_eaccelerator_output_handler",
  424. "eaccelerator_cache_page", "eaccelerator_rm_page", "eaccelerator_cache_output",
  425. "eaccelerator_cache_result", "xdebug_get_stack_depth",
  426. "xdebug_get_function_stack", "xdebug_print_function_stack",
  427. "xdebug_get_declared_vars", "xdebug_call_class", "xdebug_call_function",
  428. "xdebug_call_file", "xdebug_call_line", "xdebug_var_dump", "xdebug_debug_zval",
  429. "xdebug_debug_zval_stdout", "xdebug_enable", "xdebug_disable",
  430. "xdebug_is_enabled", "xdebug_break", "xdebug_start_trace", "xdebug_stop_trace",
  431. "xdebug_get_tracefile_name", "xdebug_get_profiler_filename",
  432. "xdebug_dump_aggr_profiling_data", "xdebug_clear_aggr_profiling_data",
  433. "xdebug_memory_usage", "xdebug_peak_memory_usage", "xdebug_time_index",
  434. "xdebug_start_error_collection", "xdebug_stop_error_collection",
  435. "xdebug_get_collected_errors", "xdebug_start_code_coverage",
  436. "xdebug_stop_code_coverage", "xdebug_get_code_coverage",
  437. "xdebug_get_function_count", "xdebug_dump_superglobals",
  438. "_" // alias for gettext()
  439. ].forEach(function(element, index, array) {
  440. result[element] = token("t_string", "php-predefined-function");
  441. });
  442. // output of get_defined_constants(). Differs significantly from http://php.net/manual/en/reserved.constants.php
  443. [ "E_ERROR", "E_RECOVERABLE_ERROR", "E_WARNING", "E_PARSE", "E_NOTICE",
  444. "E_STRICT", "E_CORE_ERROR", "E_CORE_WARNING", "E_COMPILE_ERROR",
  445. "E_COMPILE_WARNING", "E_USER_ERROR", "E_USER_WARNING", "E_USER_NOTICE",
  446. "E_ALL", "TRUE", "FALSE", "NULL", "ZEND_THREAD_SAFE", "PHP_VERSION", "PHP_OS",
  447. "PHP_SAPI", "DEFAULT_INCLUDE_PATH", "PEAR_INSTALL_DIR", "PEAR_EXTENSION_DIR",
  448. "PHP_EXTENSION_DIR", "PHP_PREFIX", "PHP_BINDIR", "PHP_LIBDIR", "PHP_DATADIR",
  449. "PHP_SYSCONFDIR", "PHP_LOCALSTATEDIR", "PHP_CONFIG_FILE_PATH",
  450. "PHP_CONFIG_FILE_SCAN_DIR", "PHP_SHLIB_SUFFIX", "PHP_EOL", "PHP_EOL",
  451. "PHP_INT_MAX", "PHP_INT_SIZE", "PHP_OUTPUT_HANDLER_START",
  452. "PHP_OUTPUT_HANDLER_CONT", "PHP_OUTPUT_HANDLER_END", "UPLOAD_ERR_OK",
  453. "UPLOAD_ERR_INI_SIZE", "UPLOAD_ERR_FORM_SIZE", "UPLOAD_ERR_PARTIAL",
  454. "UPLOAD_ERR_NO_FILE", "UPLOAD_ERR_NO_TMP_DIR", "UPLOAD_ERR_CANT_WRITE",
  455. "UPLOAD_ERR_EXTENSION", "CAL_GREGORIAN", "CAL_JULIAN", "CAL_JEWISH",
  456. "CAL_FRENCH", "CAL_NUM_CALS", "CAL_DOW_DAYNO", "CAL_DOW_SHORT", "CAL_DOW_LONG",
  457. "CAL_MONTH_GREGORIAN_SHORT", "CAL_MONTH_GREGORIAN_LONG",
  458. "CAL_MONTH_JULIAN_SHORT", "CAL_MONTH_JULIAN_LONG", "CAL_MONTH_JEWISH",
  459. "CAL_MONTH_FRENCH", "CAL_EASTER_DEFAULT", "CAL_EASTER_ROMAN",
  460. "CAL_EASTER_ALWAYS_GREGORIAN", "CAL_EASTER_ALWAYS_JULIAN",
  461. "CAL_JEWISH_ADD_ALAFIM_GERESH", "CAL_JEWISH_ADD_ALAFIM",
  462. "CAL_JEWISH_ADD_GERESHAYIM", "CLSCTX_INPROC_SERVER", "CLSCTX_INPROC_HANDLER",
  463. "CLSCTX_LOCAL_SERVER", "CLSCTX_REMOTE_SERVER", "CLSCTX_SERVER", "CLSCTX_ALL",
  464. "VT_NULL", "VT_EMPTY", "VT_UI1", "VT_I1", "VT_UI2", "VT_I2", "VT_UI4", "VT_I4",
  465. "VT_R4", "VT_R8", "VT_BOOL", "VT_ERROR", "VT_CY", "VT_DATE", "VT_BSTR",
  466. "VT_DECIMAL", "VT_UNKNOWN", "VT_DISPATCH", "VT_VARIANT", "VT_INT", "VT_UINT",
  467. "VT_ARRAY", "VT_BYREF", "CP_ACP", "CP_MACCP", "CP_OEMCP", "CP_UTF7", "CP_UTF8",
  468. "CP_SYMBOL", "CP_THREAD_ACP", "VARCMP_LT", "VARCMP_EQ", "VARCMP_GT",
  469. "VARCMP_NULL", "NORM_IGNORECASE", "NORM_IGNORENONSPACE", "NORM_IGNORESYMBOLS",
  470. "NORM_IGNOREWIDTH", "NORM_IGNOREKANATYPE", "DISP_E_DIVBYZERO",
  471. "DISP_E_OVERFLOW", "DISP_E_BADINDEX", "MK_E_UNAVAILABLE", "INPUT_POST",
  472. "INPUT_GET", "INPUT_COOKIE", "INPUT_ENV", "INPUT_SERVER", "INPUT_SESSION",
  473. "INPUT_REQUEST", "FILTER_FLAG_NONE", "FILTER_REQUIRE_SCALAR",
  474. "FILTER_REQUIRE_ARRAY", "FILTER_FORCE_ARRAY", "FILTER_NULL_ON_FAILURE",
  475. "FILTER_VALIDATE_INT", "FILTER_VALIDATE_BOOLEAN", "FILTER_VALIDATE_FLOAT",
  476. "FILTER_VALIDATE_REGEXP", "FILTER_VALIDATE_URL", "FILTER_VALIDATE_EMAIL",
  477. "FILTER_VALIDATE_IP", "FILTER_DEFAULT", "FILTER_UNSAFE_RAW",
  478. "FILTER_SANITIZE_STRING", "FILTER_SANITIZE_STRIPPED",
  479. "FILTER_SANITIZE_ENCODED", "FILTER_SANITIZE_SPECIAL_CHARS",
  480. "FILTER_SANITIZE_EMAIL", "FILTER_SANITIZE_URL", "FILTER_SANITIZE_NUMBER_INT",
  481. "FILTER_SANITIZE_NUMBER_FLOAT", "FILTER_SANITIZE_MAGIC_QUOTES",
  482. "FILTER_CALLBACK", "FILTER_FLAG_ALLOW_OCTAL", "FILTER_FLAG_ALLOW_HEX",
  483. "FILTER_FLAG_STRIP_LOW", "FILTER_FLAG_STRIP_HIGH", "FILTER_FLAG_ENCODE_LOW",
  484. "FILTER_FLAG_ENCODE_HIGH", "FILTER_FLAG_ENCODE_AMP",
  485. "FILTER_FLAG_NO_ENCODE_QUOTES", "FILTER_FLAG_EMPTY_STRING_NULL",
  486. "FILTER_FLAG_ALLOW_FRACTION", "FILTER_FLAG_ALLOW_THOUSAND",
  487. "FILTER_FLAG_ALLOW_SCIENTIFIC", "FILTER_FLAG_SCHEME_REQUIRED",
  488. "FILTER_FLAG_HOST_REQUIRED", "FILTER_FLAG_PATH_REQUIRED",
  489. "FILTER_FLAG_QUERY_REQUIRED", "FILTER_FLAG_IPV4", "FILTER_FLAG_IPV6",
  490. "FILTER_FLAG_NO_RES_RANGE", "FILTER_FLAG_NO_PRIV_RANGE", "FTP_ASCII",
  491. "FTP_TEXT", "FTP_BINARY", "FTP_IMAGE", "FTP_AUTORESUME", "FTP_TIMEOUT_SEC",
  492. "FTP_AUTOSEEK", "FTP_FAILED", "FTP_FINISHED", "FTP_MOREDATA", "HASH_HMAC",
  493. "ICONV_IMPL", "ICONV_VERSION", "ICONV_MIME_DECODE_STRICT",
  494. "ICONV_MIME_DECODE_CONTINUE_ON_ERROR", "ODBC_TYPE", "ODBC_BINMODE_PASSTHRU",
  495. "ODBC_BINMODE_RETURN", "ODBC_BINMODE_CONVERT", "SQL_ODBC_CURSORS",
  496. "SQL_CUR_USE_DRIVER", "SQL_CUR_USE_IF_NEEDED", "SQL_CUR_USE_ODBC",
  497. "SQL_CONCURRENCY", "SQL_CONCUR_READ_ONLY", "SQL_CONCUR_LOCK",
  498. "SQL_CONCUR_ROWVER", "SQL_CONCUR_VALUES", "SQL_CURSOR_TYPE",
  499. "SQL_CURSOR_FORWARD_ONLY", "SQL_CURSOR_KEYSET_DRIVEN", "SQL_CURSOR_DYNAMIC",
  500. "SQL_CURSOR_STATIC", "SQL_KEYSET_SIZE", "SQL_FETCH_FIRST", "SQL_FETCH_NEXT",
  501. "SQL_CHAR", "SQL_VARCHAR", "SQL_LONGVARCHAR", "SQL_DECIMAL", "SQL_NUMERIC",
  502. "SQL_BIT", "SQL_TINYINT", "SQL_SMALLINT", "SQL_INTEGER", "SQL_BIGINT",
  503. "SQL_REAL", "SQL_FLOAT", "SQL_DOUBLE", "SQL_BINARY", "SQL_VARBINARY",
  504. "SQL_LONGVARBINARY", "SQL_DATE", "SQL_TIME", "SQL_TIMESTAMP",
  505. "PREG_PATTERN_ORDER", "PREG_SET_ORDER", "PREG_OFFSET_CAPTURE",
  506. "PREG_SPLIT_NO_EMPTY", "PREG_SPLIT_DELIM_CAPTURE", "PREG_SPLIT_OFFSET_CAPTURE",
  507. "PREG_GREP_INVERT", "PREG_NO_ERROR", "PREG_INTERNAL_ERROR",
  508. "PREG_BACKTRACK_LIMIT_ERROR", "PREG_RECURSION_LIMIT_ERROR",
  509. "PREG_BAD_UTF8_ERROR", "DATE_ATOM", "DATE_COOKIE", "DATE_ISO8601",
  510. "DATE_RFC822", "DATE_RFC850", "DATE_RFC1036", "DATE_RFC1123", "DATE_RFC2822",
  511. "DATE_RFC3339", "DATE_RSS", "DATE_W3C", "SUNFUNCS_RET_TIMESTAMP",
  512. "SUNFUNCS_RET_STRING", "SUNFUNCS_RET_DOUBLE", "LIBXML_VERSION",
  513. "LIBXML_DOTTED_VERSION", "LIBXML_NOENT", "LIBXML_DTDLOAD", "LIBXML_DTDATTR",
  514. "LIBXML_DTDVALID", "LIBXML_NOERROR", "LIBXML_NOWARNING", "LIBXML_NOBLANKS",
  515. "LIBXML_XINCLUDE", "LIBXML_NSCLEAN", "LIBXML_NOCDATA", "LIBXML_NONET",
  516. "LIBXML_COMPACT", "LIBXML_NOXMLDECL", "LIBXML_NOEMPTYTAG", "LIBXML_ERR_NONE",
  517. "LIBXML_ERR_WARNING", "LIBXML_ERR_ERROR", "LIBXML_ERR_FATAL",
  518. "CONNECTION_ABORTED", "CONNECTION_NORMAL", "CONNECTION_TIMEOUT", "INI_USER",
  519. "INI_PERDIR", "INI_SYSTEM", "INI_ALL", "PHP_URL_SCHEME", "PHP_URL_HOST",
  520. "PHP_URL_PORT", "PHP_URL_USER", "PHP_URL_PASS", "PHP_URL_PATH",
  521. "PHP_URL_QUERY", "PHP_URL_FRAGMENT", "M_E", "M_LOG2E", "M_LOG10E", "M_LN2",
  522. "M_LN10", "M_PI", "M_PI_2", "M_PI_4", "M_1_PI", "M_2_PI", "M_SQRTPI",
  523. "M_2_SQRTPI", "M_LNPI", "M_EULER", "M_SQRT2", "M_SQRT1_2", "M_SQRT3", "INF",
  524. "NAN", "INFO_GENERAL", "INFO_CREDITS", "INFO_CONFIGURATION", "INFO_MODULES",
  525. "INFO_ENVIRONMENT", "INFO_VARIABLES", "INFO_LICENSE", "INFO_ALL",
  526. "CREDITS_GROUP", "CREDITS_GENERAL", "CREDITS_SAPI", "CREDITS_MODULES",
  527. "CREDITS_DOCS", "CREDITS_FULLPAGE", "CREDITS_QA", "CREDITS_ALL",
  528. "HTML_SPECIALCHARS", "HTML_ENTITIES", "ENT_COMPAT", "ENT_QUOTES",
  529. "ENT_NOQUOTES", "STR_PAD_LEFT", "STR_PAD_RIGHT", "STR_PAD_BOTH",
  530. "PATHINFO_DIRNAME", "PATHINFO_BASENAME", "PATHINFO_EXTENSION",
  531. "PATHINFO_FILENAME", "CHAR_MAX", "LC_CTYPE", "LC_NUMERIC", "LC_TIME",
  532. "LC_COLLATE", "LC_MONETARY", "LC_ALL", "SEEK_SET", "SEEK_CUR", "SEEK_END",
  533. "LOCK_SH", "LOCK_EX", "LOCK_UN", "LOCK_NB", "STREAM_NOTIFY_CONNECT",
  534. "STREAM_NOTIFY_AUTH_REQUIRED", "STREAM_NOTIFY_AUTH_RESULT",
  535. "STREAM_NOTIFY_MIME_TYPE_IS", "STREAM_NOTIFY_FILE_SIZE_IS",
  536. "STREAM_NOTIFY_REDIRECTED", "STREAM_NOTIFY_PROGRESS", "STREAM_NOTIFY_FAILURE",
  537. "STREAM_NOTIFY_COMPLETED", "STREAM_NOTIFY_RESOLVE",
  538. "STREAM_NOTIFY_SEVERITY_INFO", "STREAM_NOTIFY_SEVERITY_WARN",
  539. "STREAM_NOTIFY_SEVERITY_ERR", "STREAM_FILTER_READ", "STREAM_FILTER_WRITE",
  540. "STREAM_FILTER_ALL", "STREAM_CLIENT_PERSISTENT", "STREAM_CLIENT_ASYNC_CONNECT",
  541. "STREAM_CLIENT_CONNECT", "STREAM_CRYPTO_METHOD_SSLv2_CLIENT",
  542. "STREAM_CRYPTO_METHOD_SSLv3_CLIENT", "STREAM_CRYPTO_METHOD_SSLv23_CLIENT",
  543. "STREAM_CRYPTO_METHOD_TLS_CLIENT", "STREAM_CRYPTO_METHOD_SSLv2_SERVER",
  544. "STREAM_CRYPTO_METHOD_SSLv3_SERVER", "STREAM_CRYPTO_METHOD_SSLv23_SERVER",
  545. "STREAM_CRYPTO_METHOD_TLS_SERVER", "STREAM_SHUT_RD", "STREAM_SHUT_WR",
  546. "STREAM_SHUT_RDWR", "STREAM_PF_INET", "STREAM_PF_INET6", "STREAM_PF_UNIX",
  547. "STREAM_IPPROTO_IP", "STREAM_IPPROTO_TCP", "STREAM_IPPROTO_UDP",
  548. "STREAM_IPPROTO_ICMP", "STREAM_IPPROTO_RAW", "STREAM_SOCK_STREAM",
  549. "STREAM_SOCK_DGRAM", "STREAM_SOCK_RAW", "STREAM_SOCK_SEQPACKET",
  550. "STREAM_SOCK_RDM", "STREAM_PEEK", "STREAM_OOB", "STREAM_SERVER_BIND",
  551. "STREAM_SERVER_LISTEN", "FILE_USE_INCLUDE_PATH", "FILE_IGNORE_NEW_LINES",
  552. "FILE_SKIP_EMPTY_LINES", "FILE_APPEND", "FILE_NO_DEFAULT_CONTEXT",
  553. "PSFS_PASS_ON", "PSFS_FEED_ME", "PSFS_ERR_FATAL", "PSFS_FLAG_NORMAL",
  554. "PSFS_FLAG_FLUSH_INC", "PSFS_FLAG_FLUSH_CLOSE", "CRYPT_SALT_LENGTH",
  555. "CRYPT_STD_DES", "CRYPT_EXT_DES", "CRYPT_MD5", "CRYPT_BLOWFISH",
  556. "DIRECTORY_SEPARATOR", "PATH_SEPARATOR", "GLOB_BRACE", "GLOB_MARK",
  557. "GLOB_NOSORT", "GLOB_NOCHECK", "GLOB_NOESCAPE", "GLOB_ERR", "GLOB_ONLYDIR",
  558. "LOG_EMERG", "LOG_ALERT", "LOG_CRIT", "LOG_ERR", "LOG_WARNING", "LOG_NOTICE",
  559. "LOG_INFO", "LOG_DEBUG", "LOG_KERN", "LOG_USER", "LOG_MAIL", "LOG_DAEMON",
  560. "LOG_AUTH", "LOG_SYSLOG", "LOG_LPR", "LOG_NEWS", "LOG_UUCP", "LOG_CRON",
  561. "LOG_AUTHPRIV", "LOG_PID", "LOG_CONS", "LOG_ODELAY", "LOG_NDELAY",
  562. "LOG_NOWAIT", "LOG_PERROR", "EXTR_OVERWRITE", "EXTR_SKIP", "EXTR_PREFIX_SAME",
  563. "EXTR_PREFIX_ALL", "EXTR_PREFIX_INVALID", "EXTR_PREFIX_IF_EXISTS",
  564. "EXTR_IF_EXISTS", "EXTR_REFS", "SORT_ASC", "SORT_DESC", "SORT_REGULAR",
  565. "SORT_NUMERIC", "SORT_STRING", "SORT_LOCALE_STRING", "CASE_LOWER",
  566. "CASE_UPPER", "COUNT_NORMAL", "COUNT_RECURSIVE", "ASSERT_ACTIVE",
  567. "ASSERT_CALLBACK", "ASSERT_BAIL", "ASSERT_WARNING", "ASSERT_QUIET_EVAL",
  568. "STREAM_USE_PATH", "STREAM_IGNORE_URL", "STREAM_ENFORCE_SAFE_MODE",
  569. "STREAM_REPORT_ERRORS", "STREAM_MUST_SEEK", "STREAM_URL_STAT_LINK",
  570. "STREAM_URL_STAT_QUIET", "STREAM_MKDIR_RECURSIVE", "IMAGETYPE_GIF",
  571. "IMAGETYPE_JPEG", "IMAGETYPE_PNG", "IMAGETYPE_SWF", "IMAGETYPE_PSD",
  572. "IMAGETYPE_BMP", "IMAGETYPE_TIFF_II", "IMAGETYPE_TIFF_MM", "IMAGETYPE_JPC",
  573. "IMAGETYPE_JP2", "IMAGETYPE_JPX", "IMAGETYPE_JB2", "IMAGETYPE_SWC",
  574. "IMAGETYPE_IFF", "IMAGETYPE_WBMP", "IMAGETYPE_JPEG2000", "IMAGETYPE_XBM",
  575. "T_INCLUDE", "T_INCLUDE_ONCE", "T_EVAL", "T_REQUIRE", "T_REQUIRE_ONCE",
  576. "T_LOGICAL_OR", "T_LOGICAL_XOR", "T_LOGICAL_AND", "T_PRINT", "T_PLUS_EQUAL",
  577. "T_MINUS_EQUAL", "T_MUL_EQUAL", "T_DIV_EQUAL", "T_CONCAT_EQUAL", "T_MOD_EQUAL",
  578. "T_AND_EQUAL", "T_OR_EQUAL", "T_XOR_EQUAL", "T_SL_EQUAL", "T_SR_EQUAL",
  579. "T_BOOLEAN_OR", "T_BOOLEAN_AND", "T_IS_EQUAL", "T_IS_NOT_EQUAL",
  580. "T_IS_IDENTICAL", "T_IS_NOT_IDENTICAL", "T_IS_SMALLER_OR_EQUAL",
  581. "T_IS_GREATER_OR_EQUAL", "T_SL", "T_SR", "T_INC", "T_DEC", "T_INT_CAST",
  582. "T_DOUBLE_CAST", "T_STRING_CAST", "T_ARRAY_CAST", "T_OBJECT_CAST",
  583. "T_BOOL_CAST", "T_UNSET_CAST", "T_NEW", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE",
  584. "T_ENDIF", "T_LNUMBER", "T_DNUMBER", "T_STRING", "T_STRING_VARNAME",
  585. "T_VARIABLE", "T_NUM_STRING", "T_INLINE_HTML", "T_CHARACTER",
  586. "T_BAD_CHARACTER", "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING",
  587. "T_ECHO", "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH",
  588. "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH", "T_ENDSWITCH",
  589. "T_CASE", "T_DEFAULT", "T_BREAK", "T_CONTINUE", "T_FUNCTION", "T_CONST",
  590. "T_RETURN", "T_USE", "T_GLOBAL", "T_STATIC", "T_VAR", "T_UNSET", "T_ISSET",
  591. "T_EMPTY", "T_CLASS", "T_EXTENDS", "T_INTERFACE", "T_IMPLEMENTS",
  592. "T_OBJECT_OPERATOR", "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CLASS_C",
  593. "T_FUNC_C", "T_METHOD_C", "T_LINE", "T_FILE", "T_COMMENT", "T_DOC_COMMENT",
  594. "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG", "T_WHITESPACE",
  595. "T_START_HEREDOC", "T_END_HEREDOC", "T_DOLLAR_OPEN_CURLY_BRACES",
  596. "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM", "T_DOUBLE_COLON", "T_ABSTRACT",
  597. "T_CATCH", "T_FINAL", "T_INSTANCEOF", "T_PRIVATE", "T_PROTECTED", "T_PUBLIC",
  598. "T_THROW", "T_TRY", "T_CLONE", "T_HALT_COMPILER", "FORCE_GZIP",
  599. "FORCE_DEFLATE", "XML_ELEMENT_NODE", "XML_ATTRIBUTE_NODE", "XML_TEXT_NODE",
  600. "XML_CDATA_SECTION_NODE", "XML_ENTITY_REF_NODE", "XML_ENTITY_NODE",
  601. "XML_PI_NODE", "XML_COMMENT_NODE", "XML_DOCUMENT_NODE",
  602. "XML_DOCUMENT_TYPE_NODE", "XML_DOCUMENT_FRAG_NODE", "XML_NOTATION_NODE",
  603. "XML_HTML_DOCUMENT_NODE", "XML_DTD_NODE", "XML_ELEMENT_DECL_NODE",
  604. "XML_ATTRIBUTE_DECL_NODE", "XML_ENTITY_DECL_NODE", "XML_NAMESPACE_DECL_NODE",
  605. "XML_LOCAL_NAMESPACE", "XML_ATTRIBUTE_CDATA", "XML_ATTRIBUTE_ID",
  606. "XML_ATTRIBUTE_IDREF", "XML_ATTRIBUTE_IDREFS", "XML_ATTRIBUTE_ENTITY",
  607. "XML_ATTRIBUTE_NMTOKEN", "XML_ATTRIBUTE_NMTOKENS", "XML_ATTRIBUTE_ENUMERATION",
  608. "XML_ATTRIBUTE_NOTATION", "DOM_PHP_ERR", "DOM_INDEX_SIZE_ERR",
  609. "DOMSTRING_SIZE_ERR", "DOM_HIERARCHY_REQUEST_ERR", "DOM_WRONG_DOCUMENT_ERR",
  610. "DOM_INVALID_CHARACTER_ERR", "DOM_NO_DATA_ALLOWED_ERR",
  611. "DOM_NO_MODIFICATION_ALLOWED_ERR", "DOM_NOT_FOUND_ERR",
  612. "DOM_NOT_SUPPORTED_ERR", "DOM_INUSE_ATTRIBUTE_ERR", "DOM_INVALID_STATE_ERR",
  613. "DOM_SYNTAX_ERR", "DOM_INVALID_MODIFICATION_ERR", "DOM_NAMESPACE_ERR",
  614. "DOM_INVALID_ACCESS_ERR", "DOM_VALIDATION_ERR", "XML_ERROR_NONE",
  615. "XML_ERROR_NO_MEMORY", "XML_ERROR_SYNTAX", "XML_ERROR_NO_ELEMENTS",
  616. "XML_ERROR_INVALID_TOKEN", "XML_ERROR_UNCLOSED_TOKEN",
  617. "XML_ERROR_PARTIAL_CHAR", "XML_ERROR_TAG_MISMATCH",
  618. "XML_ERROR_DUPLICATE_ATTRIBUTE", "XML_ERROR_JUNK_AFTER_DOC_ELEMENT",
  619. "XML_ERROR_PARAM_ENTITY_REF", "XML_ERROR_UNDEFINED_ENTITY",
  620. "XML_ERROR_RECURSIVE_ENTITY_REF", "XML_ERROR_ASYNC_ENTITY",
  621. "XML_ERROR_BAD_CHAR_REF", "XML_ERROR_BINARY_ENTITY_REF",
  622. "XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF", "XML_ERROR_MISPLACED_XML_PI",
  623. "XML_ERROR_UNKNOWN_ENCODING", "XML_ERROR_INCORRECT_ENCODING",
  624. "XML_ERROR_UNCLOSED_CDATA_SECTION", "XML_ERROR_EXTERNAL_ENTITY_HANDLING",
  625. "XML_OPTION_CASE_FOLDING", "XML_OPTION_TARGET_ENCODING",
  626. "XML_OPTION_SKIP_TAGSTART", "XML_OPTION_SKIP_WHITE", "XML_SAX_IMPL", "IMG_GIF",
  627. "IMG_JPG", "IMG_JPEG", "IMG_PNG", "IMG_WBMP", "IMG_XPM", "IMG_COLOR_TILED",
  628. "IMG_COLOR_STYLED", "IMG_COLOR_BRUSHED", "IMG_COLOR_STYLEDBRUSHED",
  629. "IMG_COLOR_TRANSPARENT", "IMG_ARC_ROUNDED", "IMG_ARC_PIE", "IMG_ARC_CHORD",
  630. "IMG_ARC_NOFILL", "IMG_ARC_EDGED", "IMG_GD2_RAW", "IMG_GD2_COMPRESSED",
  631. "IMG_EFFECT_REPLACE", "IMG_EFFECT_ALPHABLEND", "IMG_EFFECT_NORMAL",
  632. "IMG_EFFECT_OVERLAY", "GD_BUNDLED", "IMG_FILTER_NEGATE",
  633. "IMG_FILTER_GRAYSCALE", "IMG_FILTER_BRIGHTNESS", "IMG_FILTER_CONTRAST",
  634. "IMG_FILTER_COLORIZE", "IMG_FILTER_EDGEDETECT", "IMG_FILTER_GAUSSIAN_BLUR",
  635. "IMG_FILTER_SELECTIVE_BLUR", "IMG_FILTER_EMBOSS", "IMG_FILTER_MEAN_REMOVAL",
  636. "IMG_FILTER_SMOOTH", "PNG_NO_FILTER", "PNG_FILTER_NONE", "PNG_FILTER_SUB",
  637. "PNG_FILTER_UP", "PNG_FILTER_AVG", "PNG_FILTER_PAETH", "PNG_ALL_FILTERS",
  638. "MB_OVERLOAD_MAIL", "MB_OVERLOAD_STRING", "MB_OVERLOAD_REGEX", "MB_CASE_UPPER",
  639. "MB_CASE_LOWER", "MB_CASE_TITLE", "MYSQL_ASSOC", "MYSQL_NUM", "MYSQL_BOTH",
  640. "MYSQL_CLIENT_COMPRESS", "MYSQL_CLIENT_SSL", "MYSQL_CLIENT_INTERACTIVE",
  641. "MYSQL_CLIENT_IGNORE_SPACE", "MYSQLI_READ_DEFAULT_GROUP",
  642. "MYSQLI_READ_DEFAULT_FILE", "MYSQLI_OPT_CONNECT_TIMEOUT",
  643. "MYSQLI_OPT_LOCAL_INFILE", "MYSQLI_INIT_COMMAND", "MYSQLI_CLIENT_SSL",
  644. "MYSQLI_CLIENT_COMPRESS", "MYSQLI_CLIENT_INTERACTIVE",
  645. "MYSQLI_CLIENT_IGNORE_SPACE", "MYSQLI_CLIENT_NO_SCHEMA",
  646. "MYSQLI_CLIENT_FOUND_ROWS", "MYSQLI_STORE_RESULT", "MYSQLI_USE_RESULT",
  647. "MYSQLI_ASSOC", "MYSQLI_NUM", "MYSQLI_BOTH",
  648. "MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH", "MYSQLI_STMT_ATTR_CURSOR_TYPE",
  649. "MYSQLI_CURSOR_TYPE_NO_CURSOR", "MYSQLI_CURSOR_TYPE_READ_ONLY",
  650. "MYSQLI_CURSOR_TYPE_FOR_UPDATE", "MYSQLI_CURSOR_TYPE_SCROLLABLE",
  651. "MYSQLI_STMT_ATTR_PREFETCH_ROWS", "MYSQLI_NOT_NULL_FLAG",
  652. "MYSQLI_PRI_KEY_FLAG", "MYSQLI_UNIQUE_KEY_FLAG", "MYSQLI_MULTIPLE_KEY_FLAG",
  653. "MYSQLI_BLOB_FLAG", "MYSQLI_UNSIGNED_FLAG", "MYSQLI_ZEROFILL_FLAG",
  654. "MYSQLI_AUTO_INCREMENT_FLAG", "MYSQLI_TIMESTAMP_FLAG", "MYSQLI_SET_FLAG",
  655. "MYSQLI_NUM_FLAG", "MYSQLI_PART_KEY_FLAG", "MYSQLI_GROUP_FLAG",
  656. "MYSQLI_TYPE_DECIMAL", "MYSQLI_TYPE_TINY", "MYSQLI_TYPE_SHORT",
  657. "MYSQLI_TYPE_LONG", "MYSQLI_TYPE_FLOAT", "MYSQLI_TYPE_DOUBLE",
  658. "MYSQLI_TYPE_NULL", "MYSQLI_TYPE_TIMESTAMP", "MYSQLI_TYPE_LONGLONG",
  659. "MYSQLI_TYPE_INT24", "MYSQLI_TYPE_DATE", "MYSQLI_TYPE_TIME",
  660. "MYSQLI_TYPE_DATETIME", "MYSQLI_TYPE_YEAR", "MYSQLI_TYPE_NEWDATE",
  661. "MYSQLI_TYPE_ENUM", "MYSQLI_TYPE_SET", "MYSQLI_TYPE_TINY_BLOB",
  662. "MYSQLI_TYPE_MEDIUM_BLOB", "MYSQLI_TYPE_LONG_BLOB", "MYSQLI_TYPE_BLOB",
  663. "MYSQLI_TYPE_VAR_STRING", "MYSQLI_TYPE_STRING", "MYSQLI_TYPE_CHAR",
  664. "MYSQLI_TYPE_INTERVAL", "MYSQLI_TYPE_GEOMETRY", "MYSQLI_TYPE_NEWDECIMAL",
  665. "MYSQLI_TYPE_BIT", "MYSQLI_RPL_MASTER", "MYSQLI_RPL_SLAVE", "MYSQLI_RPL_ADMIN",
  666. "MYSQLI_NO_DATA", "MYSQLI_DATA_TRUNCATED", "MYSQLI_REPORT_INDEX",
  667. "MYSQLI_REPORT_ERROR", "MYSQLI_REPORT_STRICT", "MYSQLI_REPORT_ALL",
  668. "MYSQLI_REPORT_OFF", "AF_UNIX", "AF_INET", "AF_INET6", "SOCK_STREAM",
  669. "SOCK_DGRAM", "SOCK_RAW", "SOCK_SEQPACKET", "SOCK_RDM", "MSG_OOB",
  670. "MSG_WAITALL", "MSG_PEEK", "MSG_DONTROUTE", "SO_DEBUG", "SO_REUSEADDR",
  671. "SO_KEEPALIVE", "SO_DONTROUTE", "SO_LINGER", "SO_BROADCAST", "SO_OOBINLINE",
  672. "SO_SNDBUF", "SO_RCVBUF", "SO_SNDLOWAT", "SO_RCVLOWAT", "SO_SNDTIMEO",
  673. "SO_RCVTIMEO", "SO_TYPE", "SO_ERROR", "SOL_SOCKET", "SOMAXCONN",
  674. "PHP_NORMAL_READ", "PHP_BINARY_READ", "SOCKET_EINTR", "SOCKET_EBADF",
  675. "SOCKET_EACCES", "SOCKET_EFAULT", "SOCKET_EINVAL", "SOCKET_EMFILE",
  676. "SOCKET_EWOULDBLOCK", "SOCKET_EINPROGRESS", "SOCKET_EALREADY",
  677. "SOCKET_ENOTSOCK", "SOCKET_EDESTADDRREQ", "SOCKET_EMSGSIZE",
  678. "SOCKET_EPROTOTYPE", "SOCKET_ENOPROTOOPT", "SOCKET_EPROTONOSUPPORT",
  679. "SOCKET_ESOCKTNOSUPPORT", "SOCKET_EOPNOTSUPP", "SOCKET_EPFNOSUPPORT",
  680. "SOCKET_EAFNOSUPPORT", "SOCKET_EADDRINUSE", "SOCKET_EADDRNOTAVAIL",
  681. "SOCKET_ENETDOWN", "SOCKET_ENETUNREACH", "SOCKET_ENETRESET",
  682. "SOCKET_ECONNABORTED", "SOCKET_ECONNRESET", "SOCKET_ENOBUFS", "SOCKET_EISCONN",
  683. "SOCKET_ENOTCONN", "SOCKET_ESHUTDOWN", "SOCKET_ETOOMANYREFS",
  684. "SOCKET_ETIMEDOUT", "SOCKET_ECONNREFUSED", "SOCKET_ELOOP",
  685. "SOCKET_ENAMETOOLONG", "SOCKET_EHOSTDOWN", "SOCKET_EHOSTUNREACH",
  686. "SOCKET_ENOTEMPTY", "SOCKET_EPROCLIM", "SOCKET_EUSERS", "SOCKET_EDQUOT",
  687. "SOCKET_ESTALE", "SOCKET_EREMOTE", "SOCKET_EDISCON", "SOCKET_SYSNOTREADY",
  688. "SOCKET_VERNOTSUPPORTED", "SOCKET_NOTINITIALISED", "SOCKET_HOST_NOT_FOUND",
  689. "SOCKET_TRY_AGAIN", "SOCKET_NO_RECOVERY", "SOCKET_NO_DATA",
  690. "SOCKET_NO_ADDRESS", "SOL_TCP", "SOL_UDP", "EACCELERATOR_VERSION",
  691. "EACCELERATOR_SHM_AND_DISK", "EACCELERATOR_SHM", "EACCELERATOR_SHM_ONLY",
  692. "EACCELERATOR_DISK_ONLY", "EACCELERATOR_NONE", "XDEBUG_TRACE_APPEND",
  693. "XDEBUG_TRACE_COMPUTERIZED", "XDEBUG_TRACE_HTML", "XDEBUG_CC_UNUSED",
  694. "XDEBUG_CC_DEAD_CODE", "STDIN", "STDOUT", "STDERR",
  695. ].forEach(function(element, index, array) {
  696. result[element] = token("atom", "php-predefined-constant");
  697. });
  698. // PHP declared classes - output of get_declared_classes(). Differs from http://php.net/manual/en/reserved.classes.php
  699. [ "stdClass", "Exception", "ErrorException", "COMPersistH…

Large files files are truncated, but you can click here to view the full file