]> granicus.if.org Git - php/commitdiff
T_IMPORT -> T_USE
authorDmitry Stogov <dmitry@php.net>
Tue, 6 Nov 2007 07:29:41 +0000 (07:29 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 6 Nov 2007 07:29:41 +0000 (07:29 +0000)
18 files changed:
Zend/tests/bug42859.phpt
Zend/tests/ns_002.phpt
Zend/tests/ns_010.phpt
Zend/tests/ns_012.phpt
Zend/tests/ns_020.phpt
Zend/tests/ns_022.phpt
Zend/tests/ns_029.phpt
Zend/tests/ns_030.phpt
Zend/tests/ns_033.phpt
Zend/tests/ns_034.phpt
Zend/tests/ns_036.phpt
Zend/tests/ns_037.phpt
Zend/tests/ns_040.phpt
Zend/tests/ns_042.phpt
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_language_parser.y
Zend/zend_language_scanner.l

index 6464f9b4c751e41a120c754e1de07f00cebc037b..475c58346580e81dc52ca1a238b679ad423c6d88 100755 (executable)
@@ -5,8 +5,8 @@ Bug #42859 import always conflicts with internal classes
 namespace Foo;
 class Ex {}
 
-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
index 4b17012a9461b518be7f1de059626223653cc048..7faca97cd3682484afaab0e15aa3de450bb18454 100755 (executable)
@@ -10,9 +10,9 @@ class Foo {
   }
 }
 
-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;
 
 Foo::bar();
 test::ns1::Foo::bar();
index 7be99e49bf882275f2573baf97d99e0d63871331..95172e0ec3951b775ed21fde718fa9dbc6c0e481 100755 (executable)
@@ -3,7 +3,7 @@
 --FILE--
 <?php
 namespace X;
-import X as Y;
+use X as Y;
 class Foo {    
        const C = "const ok\n";
        static $var = "var ok\n";
index aa50661e79eaa4912539f44c71aefb0afe71f4c0..ce16db1ab91e7895389a97b1f99d2f3075030893 100755 (executable)
@@ -8,8 +8,8 @@ function foo() {
   echo __FUNCTION__,"\n";
 }
 
-import test::ns1 as ns2;
-import test as ns3;
+use test::ns1 as ns2;
+use test as ns3;
 
 foo();
 bar();
index 32325e09d234866463d183a4e846798bd67de86b..9d2e8a7ccb2c8cca5af2039cf481ca152ee48e9c 100755 (executable)
@@ -3,7 +3,7 @@
 --FILE--
 <?php
 namespace X;
-import X as Y;
+use X as Y;
 function foo() {
        echo __FUNCTION__,"\n";
 }
index f46a856d01ee870e3ba18a4535bd7056b6624b9e..6944ca403fcde065257039ea2c1d7dfd21713090 100755 (executable)
@@ -4,7 +4,7 @@
 <?php
 namespace a::b::c;
 
-import a::b::c as test;
+use a::b::c as test;
 
 require "ns_022.inc";
 
index a76f4fa9cd56d3a4d2c3823ccd3484d765a61cca..1b82b052e5f75f86d5e427e239854052ab481ef2 100755 (executable)
@@ -2,7 +2,7 @@
 029: Name ambiguity (class name & import name)
 --FILE--
 <?php
-import A::B as Foo;
+use A::B as Foo;
 
 class Foo {
 }
index c87b293bb6a69ce6e265dea13a06c25019540584..83a86b1fd1d875ce667c6424a3a649180bea416c 100755 (executable)
@@ -5,7 +5,7 @@
 class Foo {
 }
 
-import A::B as Foo;
+use A::B as Foo;
 
 new Foo();
 --EXPECTF--
index bd0bebd4bde385e36716f9d311aab78dbdd56898..dc431d82b9b324f20c461eb9468df482f47480dc 100755 (executable)
@@ -2,7 +2,7 @@
 033: Import statement with non-compound name
 --FILE--
 <?php
-import A;
+use A;
 --EXPECTF--
-Warning: The import statement with non-compound name 'A' has no effect in %sns_033.php on line 2
+Warning: The use statement with non-compound name 'A' has no effect in %sns_033.php on line 2
 
index a0424a9997aecd5c3334f303f92f846adfce8458..f8669cfb7490e3f5e69abf22203579557675d58f 100755 (executable)
@@ -3,7 +3,7 @@
 --FILE--
 <?php
 namespace A;
-import A as B;
+use A as B;
 class Foo {
        const C = "ok\n";
 }
index 9825c8fc1f7021d0c04e731e03746cda525e717d..6fee2cb006fb4441575826236521e5a1dff1403c 100755 (executable)
@@ -5,7 +5,7 @@
 --FILE--
 <?php
 namespace A;
-import A as B;
+use A as B;
 class ArrayObject {
        const STD_PROP_LIST = 2;
 }
index 4e6c248546226a12e6cc0afc7c85e3da042cd611..ed36e0bb57fe4b09c750dcdde9a13d789bf3365f 100755 (executable)
@@ -3,7 +3,7 @@
 --FILE--
 <?php
 namespace X;
-import X as Y;
+use X as Y;
 class X {
        const C = "const ok\n";
        static $var = "var ok\n";
index 11799f9a73df502250324462160f22726cddb3e4..f017aff0bd5fc47fa4b1b2bfd3018e2df3bf71a3 100644 (file)
@@ -3,7 +3,7 @@
 --FILE--
 <?php
 namespace X;
-import X as Y;
+use X as Y;
 const A = "ok\n";
 const B = A;
 const C = array(A);
index bda697bff9b04a740fe1cf870586410723edaf04..eecd5f92561f65ac210288afba1916ff3056fa3c 100644 (file)
@@ -6,8 +6,8 @@ namespace test::ns1;
 
 const FOO = "ok\n";
 
-import test::ns1 as ns2;
-import test as ns3;
+use test::ns1 as ns2;
+use test as ns3;
 
 echo FOO;
 echo test::ns1::FOO;
index 9e880bb36c30ec19cdc06030579a623d2ae7e54e..bd18b97ac1907c014e999621adc4e1d9a28fc8eb 100644 (file)
@@ -5113,7 +5113,7 @@ void zend_do_namespace(znode *name TSRMLS_DC) /* {{{ */
 }
 /* }}} */
 
-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 @@ void zend_do_import(znode *ns_name, znode *new_name TSRMLS_DC) /* {{{ */
        if (new_name) {
                name = &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 = &tmp;
                if (UG(unicode)) {
                        UChar *p = u_memrchr(Z_USTRVAL_P(ns), ':', Z_USTRLEN_P(ns));
@@ -5191,7 +5191,7 @@ void zend_do_import(znode *ns_name, znode *new_name TSRMLS_DC) /* {{{ */
                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);
index ec26c360a0c5f11d59ba5958c57dec8e15264965..4ab381f92504003864f9a1675856e2844fda721b 100644 (file)
@@ -521,7 +521,7 @@ void zend_do_abstract_method(znode *function_name, znode *modifiers, znode *body
 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);
 
 ZEND_API void function_add_ref(zend_function *function TSRMLS_DC);
index a658e98ea359e5d5c6a386cdbf275d1fd2404475..6b9b49f07ccdf0458c22a90fc6db5f605bdfecd7 100644 (file)
 %token T_BINARY_DOUBLE
 %token T_BINARY_HEREDOC
 %token T_NAMESPACE
-%token T_IMPORT
 %token T_NS_C
 
 %% /* Rules */
@@ -172,8 +171,8 @@ top_statement:
        |       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 ';'
 ;
 
@@ -229,7 +228,6 @@ unticked_statement:
        |       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 @@ unset_variable:
                variable        { zend_do_end_variable_parse(BP_VAR_UNSET, 0 TSRMLS_CC); zend_do_unset(&$1 TSRMLS_CC); }
 ;
 
-use_filename:
-               T_CONSTANT_ENCAPSED_STRING                      { $$ = $1; }
-       |       '(' T_CONSTANT_ENCAPSED_STRING ')'      { $$ = $2; }
-;
-
-
 function_declaration_statement:
                unticked_function_declaration_statement { zend_do_ticks(TSRMLS_C); }
 ;
index 791437cd939fa1d03d04c85de7a6ce2d6981babe..647ddbd955c6f0cdb68039bf1bc4087cb0df1533 100644 (file)
@@ -1661,10 +1661,6 @@ HEREDOC_CHARS       ("{"*([^$\n\r\\{]|("\\"[^\n\r]))|{HEREDOC_LITERAL_DOLLAR}|({
        return T_NAMESPACE;
 }
 
-<ST_IN_SCRIPTING>"import" {
-       return T_IMPORT;
-}
-
 <ST_IN_SCRIPTING>"use" {
        return T_USE;
 }