Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:33037 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 55183 invoked by uid 1010); 6 Nov 2007 07:34:35 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 55168 invoked from network); 6 Nov 2007 07:34:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Nov 2007 07:34:35 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.162 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 212.25.124.162 mail.zend.com Linux 2.5 (sometimes 2.4) (4) Received: from [212.25.124.162] ([212.25.124.162:30651] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AC/B6-03007-90910374 for ; Tue, 06 Nov 2007 02:34:35 -0500 Received: (qmail 5338 invoked from network); 6 Nov 2007 07:34:30 -0000 Received: from internal.zend.office (HELO thinkpad) (10.1.1.1) by internal.zend.office with SMTP; 6 Nov 2007 07:34:30 -0000 To: Date: Tue, 6 Nov 2007 10:34:26 +0300 Message-ID: <000601c82047$75feaa50$6e02a8c0@thinkpad> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0007_01C82060.9B4BE250" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 Subject: T_IMPORT -> T_USE; [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.c zend_compile.h zend_language_parser.y zend_language_scanner.l From: dmitry@zend.com ("Dmitry Stogov") ------=_NextPart_000_0007_01C82060.9B4BE250 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, I'm going to commit the same patch into PHP_5_3 tomorrow. Thanks. Dmitry. > -----Original Message----- > From: Dmitry Stogov [mailto:dmitry@php.net] > Sent: Tuesday, November 06, 2007 10:30 AM > To: zend-engine-cvs@lists.php.net > Subject: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_compile.c > zend_compile.h zend_language_parser.y zend_language_scanner.l > /tests bug42859.phpt ns_002.phpt ns_010.phpt ns_012.phpt > ns_020.phpt ns_022.phpt ns_029.phpt ns_030.phpt ns_033.phpt ns_034.ph > > > dmitry Tue Nov 6 07:29:41 2007 UTC > > Modified files: > /ZendEngine2 zend_compile.c zend_compile.h > zend_language_parser.y > zend_language_scanner.l > /ZendEngine2/tests bug42859.phpt ns_002.phpt ns_010.phpt > ns_012.phpt ns_020.phpt > ns_022.phpt ns_029.phpt > ns_030.phpt ns_033.phpt > ns_034.phpt ns_036.phpt > ns_037.phpt ns_040.phpt ns_042.phpt > Log: > T_IMPORT -> T_USE > > > ------=_NextPart_000_0007_01C82060.9B4BE250 Content-Type: text/plain; name="dmitry-20071106072941.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="dmitry-20071106072941.txt" http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.c?r1=3D1.777&r2=3D= 1.778&diff_format=3Du Index: ZendEngine2/zend_compile.c diff -u ZendEngine2/zend_compile.c:1.777 = ZendEngine2/zend_compile.c:1.778 --- ZendEngine2/zend_compile.c:1.777 Fri Nov 2 10:11:58 2007 +++ ZendEngine2/zend_compile.c Tue Nov 6 07:29:41 2007 @@ -17,7 +17,7 @@ = +----------------------------------------------------------------------+ */ =20 -/* $Id: zend_compile.c,v 1.777 2007/11/02 10:11:58 dmitry Exp $ */ +/* $Id: zend_compile.c,v 1.778 2007/11/06 07:29:41 dmitry Exp $ */ =20 #include #include "zend.h" @@ -5113,7 +5113,7 @@ } /* }}} */ =20 -void zend_do_import(znode *ns_name, znode *new_name TSRMLS_DC) /* {{{ = */ +void zend_do_use(znode *ns_name, znode *new_name TSRMLS_DC) /* {{{ */ { unsigned int lcname_len; zstr lcname; @@ -5130,8 +5130,8 @@ if (new_name) { name =3D &new_name->u.constant; } else { - /* The form "import A::B" is eqivalent to "import A::B as B". - So we extract the last part of compound name ti use as a new_name = */ + /* The form "use A::B" is eqivalent to "use A::B as B". + So we extract the last part of compound name to use as a new_name = */ name =3D &tmp; if (UG(unicode)) { UChar *p =3D u_memrchr(Z_USTRVAL_P(ns), ':', Z_USTRLEN_P(ns)); @@ -5191,7 +5191,7 @@ zend_error(E_COMPILE_ERROR, "Cannot reuse import name"); } if (warn) { - zend_error(E_WARNING, "The import statement with non-compound name = '%R' has no effect", Z_TYPE_P(name), Z_UNIVAL_P(name)); + zend_error(E_WARNING, "The use statement with non-compound name '%R' = has no effect", Z_TYPE_P(name), Z_UNIVAL_P(name)); } efree(lcname.v); zval_dtor(name); http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.h?r1=3D1.367&r2=3D= 1.368&diff_format=3Du Index: ZendEngine2/zend_compile.h diff -u ZendEngine2/zend_compile.h:1.367 = ZendEngine2/zend_compile.h:1.368 --- ZendEngine2/zend_compile.h:1.367 Tue Oct 23 12:52:51 2007 +++ ZendEngine2/zend_compile.h Tue Nov 6 07:29:41 2007 @@ -17,7 +17,7 @@ = +----------------------------------------------------------------------+ */ =20 -/* $Id: zend_compile.h,v 1.367 2007/10/23 12:52:51 dmitry Exp $ */ +/* $Id: zend_compile.h,v 1.368 2007/11/06 07:29:41 dmitry Exp $ */ =20 #ifndef ZEND_COMPILE_H #define ZEND_COMPILE_H @@ -521,7 +521,7 @@ void zend_do_declare_constant(znode *name, znode *value TSRMLS_DC); void zend_do_build_namespace_name(znode *result, znode *prefix, znode = *name TSRMLS_DC); void zend_do_namespace(znode *name TSRMLS_DC); -void zend_do_import(znode *name, znode *new_name TSRMLS_DC); +void zend_do_use(znode *name, znode *new_name TSRMLS_DC); void zend_do_end_compilation(TSRMLS_D); =20 ZEND_API void function_add_ref(zend_function *function TSRMLS_DC); http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_parser.y?r1=3D1.1= 92&r2=3D1.193&diff_format=3Du Index: ZendEngine2/zend_language_parser.y diff -u ZendEngine2/zend_language_parser.y:1.192 = ZendEngine2/zend_language_parser.y:1.193 --- ZendEngine2/zend_language_parser.y:1.192 Tue Oct 23 09:55:25 2007 +++ ZendEngine2/zend_language_parser.y Tue Nov 6 07:29:41 2007 @@ -18,7 +18,7 @@ = +----------------------------------------------------------------------+ */ =20 -/* $Id: zend_language_parser.y,v 1.192 2007/10/23 09:55:25 dmitry Exp $ = */ +/* $Id: zend_language_parser.y,v 1.193 2007/11/06 07:29:41 dmitry Exp $ = */ =20 /* * LALR shift/reduce conflicts and how they are resolved: @@ -147,7 +147,6 @@ %token T_BINARY_DOUBLE %token T_BINARY_HEREDOC %token T_NAMESPACE -%token T_IMPORT %token T_NS_C =20 %% /* Rules */ @@ -172,8 +171,8 @@ | class_declaration_statement { zend_do_early_binding(TSRMLS_C); } | T_HALT_COMPILER '(' ')' ';' { = zend_do_halt_compiler_register(TSRMLS_C); YYACCEPT; } | T_NAMESPACE namespace_name ';' { zend_do_namespace(&$2 TSRMLS_CC); } - | T_IMPORT namespace_name ';' { zend_do_import(&$2, NULL TSRMLS_CC); = } - | T_IMPORT namespace_name T_AS T_STRING ';' { zend_do_import(&$2, &$4 = TSRMLS_CC); } + | T_USE namespace_name ';' { zend_do_use(&$2, NULL TSRMLS_CC); } + | T_USE namespace_name T_AS T_STRING ';' { zend_do_use(&$2, &$4 = TSRMLS_CC); } | constant_declaration ';' ; =20 @@ -229,7 +228,6 @@ | T_ECHO echo_expr_list ';' | T_INLINE_HTML { zend_do_echo(&$1, 1 TSRMLS_CC); } | expr ';' { zend_do_free(&$1 TSRMLS_CC); } - | T_USE use_filename ';' { zend_error(E_COMPILE_ERROR,"use: Not yet = supported. Please use include_once() or require_once()"); = zval_dtor(&$2.u.constant); } | T_UNSET '(' unset_variables ')' ';' | T_FOREACH '(' variable T_AS { zend_do_foreach_begin(&$1, &$2, &$3, &$4, 1 TSRMLS_CC); } @@ -277,12 +275,6 @@ variable { zend_do_end_variable_parse(BP_VAR_UNSET, 0 TSRMLS_CC); = zend_do_unset(&$1 TSRMLS_CC); } ; =20 -use_filename: - T_CONSTANT_ENCAPSED_STRING { $$ =3D $1; } - | '(' T_CONSTANT_ENCAPSED_STRING ')' { $$ =3D $2; } -; - - function_declaration_statement: unticked_function_declaration_statement { zend_do_ticks(TSRMLS_C); } ; http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.l?r1=3D1.= 172&r2=3D1.173&diff_format=3Du Index: ZendEngine2/zend_language_scanner.l diff -u ZendEngine2/zend_language_scanner.l:1.172 = ZendEngine2/zend_language_scanner.l:1.173 --- ZendEngine2/zend_language_scanner.l:1.172 Sun Oct 7 05:15:03 2007 +++ ZendEngine2/zend_language_scanner.l Tue Nov 6 07:29:41 2007 @@ -19,7 +19,7 @@ = +----------------------------------------------------------------------+ */ =20 -/* $Id: zend_language_scanner.l,v 1.172 2007/10/07 05:15:03 davidw Exp = $ */ +/* $Id: zend_language_scanner.l,v 1.173 2007/11/06 07:29:41 dmitry Exp = $ */ =20 #define yyleng SCNG(yy_leng) #define yytext SCNG(yy_text) @@ -1661,10 +1661,6 @@ return T_NAMESPACE; } =20 -"import" { - return T_IMPORT; -} - "use" { return T_USE; } http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug42859.phpt?r1=3D1.2&r2= =3D1.3&diff_format=3Du Index: ZendEngine2/tests/bug42859.phpt diff -u ZendEngine2/tests/bug42859.phpt:1.2 = ZendEngine2/tests/bug42859.phpt:1.3 --- ZendEngine2/tests/bug42859.phpt:1.2 Wed Oct 17 10:01:37 2007 +++ ZendEngine2/tests/bug42859.phpt Tue Nov 6 07:29:41 2007 @@ -5,8 +5,8 @@ namespace Foo; class Ex {} =20 -import Blah::Exception; -import Blah::Ex; +use Blah::Exception; +use Blah::Ex; ?> --EXPECTF-- Fatal error: Import name 'Ex' conflicts with defined class in = %sbug42859.php on line 6 \ No newline at end of file http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/ns_002.phpt?r1=3D1.1&r2=3D= 1.2&diff_format=3Du Index: ZendEngine2/tests/ns_002.phpt diff -u ZendEngine2/tests/ns_002.phpt:1.1 = ZendEngine2/tests/ns_002.phpt:1.2 --- ZendEngine2/tests/ns_002.phpt:1.1 Thu Jul 12 09:23:48 2007 +++ ZendEngine2/tests/ns_002.phpt Tue Nov 6 07:29:41 2007 @@ -10,9 +10,9 @@ } } =20 -import test::ns1::Foo as Bar; -import test::ns1 as ns2; -import test::ns1; +use test::ns1::Foo as Bar; +use test::ns1 as ns2; +use test::ns1; =20 Foo::bar(); test::ns1::Foo::bar(); http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/ns_010.phpt?r1=3D1.2&r2=3D= 1.3&diff_format=3Du Index: ZendEngine2/tests/ns_010.phpt diff -u ZendEngine2/tests/ns_010.phpt:1.2 = ZendEngine2/tests/ns_010.phpt:1.3 --- ZendEngine2/tests/ns_010.phpt:1.2 Fri Jul 27 14:53:23 2007 +++ ZendEngine2/tests/ns_010.phpt Tue Nov 6 07:29:41 2007 @@ -3,7 +3,7 @@ --FILE--