cvs: Zend / zend_language_parser.y zend_language_scanner.l php4 NEWS

From: Date: Wed, 10 Apr 2002 21:22:11 +0000
Subject: cvs: Zend / zend_language_parser.y zend_language_scanner.l php4 NEWS
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-49@lists.php.net to get a copy of this message
sniper Wed Apr 10 17:22:11 2002 EDT Modified files: /php4 NEWS /Zend zend_language_parser.y zend_language_scanner.l Log: - Added __FUNCTION__ and __CLASS__ constants. Index: php4/NEWS diff -u php4/NEWS:1.935 php4/NEWS:1.936 --- php4/NEWS:1.935 Mon Apr 8 20:22:01 2002 +++ php4/NEWS Wed Apr 10 17:22:10 2002 @@ -1,9 +1,11 @@ PHP 4 NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2002, Version 4.3.0 +- Added __FUNCTION__ and __CLASS__ constants. (Jani, Zend Engine) - Added pg_metadate(), pg_convert(), pg_insert(), pg_select(), pg_update() and pg_delete(). (Yasuo) -- Added 2nd parameter for pg_result_status() to specify return type. (Yasuo) +- Added optional 2nd parameter for pg_result_status() to specify return type. + (Yasuo) - Added "ignore_repeated_errors" and "ignore_repeated_source" php.ini options which can be used to disable logging of repeated error messages. (Marcus) - Made pg_last_notice() work correctly. (Yasuo) Index: Zend/zend_language_parser.y diff -u Zend/zend_language_parser.y:1.17 Zend/zend_language_parser.y:1.18 --- Zend/zend_language_parser.y:1.17 Sat Jan 19 05:28:26 2002 +++ Zend/zend_language_parser.y Wed Apr 10 17:22:10 2002 @@ -118,6 +118,8 @@ %token T_DOUBLE_ARROW %token T_LIST %token T_ARRAY +%token T_CLASS_C +%token T_FUNC_C %token T_LINE %token T_FILE %token T_COMMENT @@ -523,6 +525,8 @@ | T_CONSTANT_ENCAPSED_STRING { $$ = $1; } | T_LINE { $$ = $1; } | T_FILE { $$ = $1; } + | T_CLASS_C { $$ = $1; } + | T_FUNC_C { $$ = $1; } ; Index: Zend/zend_language_scanner.l diff -u Zend/zend_language_scanner.l:1.43 Zend/zend_language_scanner.l:1.44 --- Zend/zend_language_scanner.l:1.43 Sun Jan 6 10:21:09 2002 +++ Zend/zend_language_scanner.l Wed Apr 10 17:22:10 2002 @@ -894,6 +894,30 @@ return T_DNUMBER; } +<ST_IN_SCRIPTING>"__CLASS__" { + char *class_name = CG(active_class_entry)->name; + + if (!class_name) { + class_name = ""; + } + zendlval->value.str.len = CG(active_class_entry)->name_length; + zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len); + zendlval->type = IS_STRING; + return T_CLASS_C; +} + +<ST_IN_SCRIPTING>"__FUNCTION__" { + char *func_name = CG(active_op_array)->function_name; + + if (!func_name) { + func_name = ""; + } + zendlval->value.str.len = strlen(func_name); + zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len); + zendlval->type = IS_STRING; + return T_FUNC_C; +} + <ST_IN_SCRIPTING>"__LINE__" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG;

« previous php.zend-engine.cvs (#49) next »