diff options
author | Andi Gutmans <andi@php.net> | 2002-03-01 14:27:26 +0000 |
---|---|---|
committer | Andi Gutmans <andi@php.net> | 2002-03-01 14:27:26 +0000 |
commit | 90bd4539c7f267fc119122b66ef42a74bbc3ccc7 (patch) | |
tree | 0845556daa3e2042b6aba3218e47c845b924bcca /Zend | |
parent | d1eea3de9c9a1e92a5cd0813c4608b9defef4927 (diff) | |
download | php-git-90bd4539c7f267fc119122b66ef42a74bbc3ccc7.tar.gz |
- Remove use of C++ reserved words namespace/this
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/zend_compile.c | 14 | ||||
-rw-r--r-- | Zend/zend_compile.h | 3 | ||||
-rw-r--r-- | Zend/zend_execute.c | 93 | ||||
-rw-r--r-- | Zend/zend_execute_API.c | 38 | ||||
-rw-r--r-- | Zend/zend_globals.h | 4 | ||||
-rw-r--r-- | Zend/zend_language_parser.y | 1 | ||||
-rw-r--r-- | Zend/zend_language_scanner.l | 4 |
7 files changed, 62 insertions, 95 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index da02140373..33216efa87 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2656,20 +2656,6 @@ void zend_do_end_heredoc(TSRMLS_D) } -void do_namespace(znode *namespace TSRMLS_DC) -{ - zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); - - opline->opcode = ZEND_NAMESPACE; - if (namespace) { - opline->op1 = *namespace; - } else { - SET_UNUSED(opline->op1); - } - SET_UNUSED(opline->op2); -} - - void zend_do_exit(znode *result, znode *message TSRMLS_DC) { zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 421f83645b..aa2043a938 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -351,8 +351,6 @@ void zend_do_declare_end(TSRMLS_D); void zend_do_end_heredoc(TSRMLS_D); -void do_namespace(znode *namespace TSRMLS_DC); - void zend_do_exit(znode *result, znode *message TSRMLS_DC); void zend_do_begin_silence(znode *strudel_token TSRMLS_DC); @@ -542,7 +540,6 @@ int zendlex(znode *zendlval TSRMLS_DC); #define ZEND_CATCH 107 #define ZEND_THROW 108 -#define ZEND_NAMESPACE 109 #define ZEND_FETCH_CLASS 110 #define ZEND_CLONE 111 diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index f2c704f9e3..a45781a2ba 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -490,15 +490,15 @@ static inline HashTable *zend_get_target_symbol_table(zend_op *opline, temp_vari return Ts[opline->op2.u.var].EA.class_entry->static_members; break; case ZEND_FETCH_FROM_THIS: - if (!EG(this)) { + if (!EG(This)) { zend_error(E_ERROR, "Using $this when not in object context"); } /* HACK!! 'this' should be always zend_object */ - return Z_OBJPROP_P(EG(this)); + return Z_OBJPROP_P(EG(This)); break; case ZEND_FETCH_THIS: { - if (!EG(this)) { + if (!EG(This)) { zend_error(E_ERROR, "Using $this when not in object context"); } /* FIXME: Put this error back. @@ -506,8 +506,8 @@ static inline HashTable *zend_get_target_symbol_table(zend_op *opline, temp_vari // zend_error(E_ERROR, "Can't overwrite $this"); //} */ - Ts[opline->result.u.var].var.ptr_ptr = &EG(this); - SELECTIVE_PZVAL_LOCK(EG(this), &opline->result); + Ts[opline->result.u.var].var.ptr_ptr = &EG(This); + SELECTIVE_PZVAL_LOCK(EG(This), &opline->result); AI_USE_PTR(Ts[opline->result.u.var].var); return NULL; break; @@ -935,7 +935,7 @@ typedef struct _zend_execute_data { object_info object; temp_variable *Ts; zend_bool original_in_execution; - zend_class_entry *calling_namespace; + zend_class_entry *calling_scope; } zend_execute_data; #define EX(element) execute_data.element @@ -1412,22 +1412,22 @@ binary_assign_op_addr: { int class_name_strlen; if (EX(opline)->extended_value == ZEND_FETCH_CLASS_SELF) { - if (!EG(namespace)) { + if (!EG(scope)) { zend_error(E_ERROR, "Cannot fetch self:: when no class scope is active"); } - EX(Ts)[EX(opline)->result.u.var].EA.class_entry = EG(namespace); + EX(Ts)[EX(opline)->result.u.var].EA.class_entry = EG(scope); NEXT_OPCODE(); } else if (EX(opline)->extended_value == ZEND_FETCH_CLASS_MAIN) { EX(Ts)[EX(opline)->result.u.var].EA.class_entry = EG(main_class_ptr); NEXT_OPCODE(); } else if (EX(opline)->extended_value == ZEND_FETCH_CLASS_PARENT) { - if (!EG(namespace)) { + if (!EG(scope)) { zend_error(E_ERROR, "Cannot fetch parent:: when no class scope is active"); } - if (!EG(namespace)->parent) { + if (!EG(scope)->parent) { zend_error(E_ERROR, "Cannot fetch parent:: as current class scope has no parent"); } - EX(Ts)[EX(opline)->result.u.var].EA.class_entry = EG(namespace)->parent; + EX(Ts)[EX(opline)->result.u.var].EA.class_entry = EG(scope)->parent; NEXT_OPCODE(); } @@ -1486,9 +1486,9 @@ binary_assign_op_addr: { EX(fbc) = EX(fbc_constructor); if(EX(fbc)->type == ZEND_USER_FUNCTION) { /* HACK!! */ - EX(calling_namespace) = Z_OBJCE_P(EX(object).ptr); + EX(calling_scope) = Z_OBJCE_P(EX(object).ptr); } else { - EX(calling_namespace) = NULL; + EX(calling_scope) = NULL; } NEXT_OPCODE(); @@ -1521,13 +1521,13 @@ binary_assign_op_addr: { function_name_strlen = tmp.value.str.len; } - EX(calling_namespace) = EG(namespace); + EX(calling_scope) = EG(scope); if (EX(opline)->extended_value == ZEND_FETCH_FROM_THIS) { - if (!EG(this)) { + if (!EG(This)) { zend_error(E_ERROR, "Can't fetch $this as not in object context"); } - EX(object).ptr = EG(this); + EX(object).ptr = EG(This); } else { EX(object).ptr = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R); } @@ -1553,9 +1553,9 @@ binary_assign_op_addr: { } if(EX(fbc)->type == ZEND_USER_FUNCTION) { - EX(calling_namespace) = Z_OBJCE_P(EX(object).ptr); + EX(calling_scope) = Z_OBJCE_P(EX(object).ptr); } else { - EX(calling_namespace) = NULL; + EX(calling_scope) = NULL; } if (!is_const) { @@ -1594,15 +1594,15 @@ binary_assign_op_addr: { function_name_strlen = tmp.value.str.len; } - EX(calling_namespace) = EG(namespace); + EX(calling_scope) = EG(scope); - if ((EX(object).ptr = EG(this))) { + if ((EX(object).ptr = EG(This))) { EX(object).ptr->refcount++; } ce = EX(Ts)[EX(opline)->op1.u.var].EA.class_entry; - EX(calling_namespace) = ce; + EX(calling_scope) = ce; if (zend_hash_find(&ce->function_table, function_name_strval, function_name_strlen+1, (void **) &function)==FAILURE) { zend_error(E_ERROR, "Call to undefined function: %s()", function_name_strval); @@ -1645,12 +1645,12 @@ binary_assign_op_addr: { function_name_strlen = tmp.value.str.len; } - EX(calling_namespace) = EG(namespace); + EX(calling_scope) = EG(scope); do { - if (EG(namespace)) { - if (zend_hash_find(&EG(namespace)->function_table, function_name_strval, function_name_strlen+1, (void **) &function) == SUCCESS) { - if ((EX(object).ptr = EG(this))) { + if (EG(scope)) { + if (zend_hash_find(&EG(scope)->function_table, function_name_strval, function_name_strlen+1, (void **) &function) == SUCCESS) { + if ((EX(object).ptr = EG(This))) { EX(object).ptr->refcount++; } break; @@ -1659,7 +1659,7 @@ binary_assign_op_addr: { if (zend_hash_find(EG(function_table), function_name_strval, function_name_strlen+1, (void **) &function)==FAILURE) { zend_error(E_ERROR, "Call to undefined function: %s()", function_name_strval); } - EX(calling_namespace) = NULL; + EX(calling_scope) = NULL; EX(object).ptr = NULL; } while (0); @@ -1680,9 +1680,9 @@ binary_assign_op_addr: { zend_ptr_stack_push(&EG(arg_types_stack), EX(object).ptr); do { - if (EG(namespace)) { - if (zend_hash_find(&EG(namespace)->function_table, fname->value.str.val, fname->value.str.len+1, (void **) &EX(function_state).function) == SUCCESS) { - if ((EX(object).ptr = EG(this))) { + if (EG(scope)) { + if (zend_hash_find(&EG(scope)->function_table, fname->value.str.val, fname->value.str.len+1, (void **) &EX(function_state).function) == SUCCESS) { + if ((EX(object).ptr = EG(This))) { EX(object).ptr->refcount++; } break; @@ -1694,7 +1694,7 @@ binary_assign_op_addr: { EX(object).ptr = NULL; } while (0); - EX(calling_namespace) = EG(namespace); + EX(calling_scope) = EG(scope); FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1)); goto do_fcall_common; @@ -1702,16 +1702,16 @@ binary_assign_op_addr: { do_fcall_common: { zval **original_return_value; - zend_class_entry *current_namespace; + zend_class_entry *current_scope; zval *current_this; int return_value_used = RETURN_VALUE_USED(EX(opline)); zend_ptr_stack_n_push(&EG(argument_stack), 2, (void *) EX(opline)->extended_value, NULL); - current_namespace = EG(namespace); - EG(namespace) = EX(calling_namespace); + current_scope = EG(scope); + EG(scope) = EX(calling_scope); - current_this = EG(this); - EG(this) = EX(object).ptr; + current_this = EG(This); + EG(This) = EX(object).ptr; EX(Ts)[EX(opline)->result.u.var].var.ptr_ptr = &EX(Ts)[EX(opline)->result.u.var].var.ptr; @@ -1788,13 +1788,13 @@ do_fcall_common: EG(function_state_ptr) = &EX(function_state); zend_ptr_stack_clear_multiple(TSRMLS_C); - EG(namespace) = current_namespace; + EG(scope) = current_scope; - if (EG(this)) { - zval_ptr_dtor(&EG(this)); + if (EG(This)) { + zval_ptr_dtor(&EG(This)); } - EG(this) = current_this; + EG(This) = current_this; if (EG(exception)) { if (EX(opline)->op2.u.opline_num == -1) { @@ -1897,17 +1897,6 @@ exception_should_be_taken: EG(exception) = NULL; NEXT_OPCODE(); } - case ZEND_NAMESPACE: - { -#if 0 - if (EX(opline)->op1.op_type == IS_UNUSED) { - EG(namespace) = NULL; - } else { - EG(namespace) = EX(Ts)[EX(opline)->op1.u.var].EA.class_entry; - } -#endif - NEXT_OPCODE(); - } case ZEND_SEND_VAL: if (EX(opline)->extended_value==ZEND_DO_FCALL_BY_NAME && ARG_SHOULD_BE_SENT_BY_REF(EX(opline)->op2.u.opline_num, EX(fbc), EX(fbc)->common.arg_types)) { @@ -2153,8 +2142,8 @@ send_by_ref: zval **value; if (EX(opline)->op1.op_type == IS_UNUSED) { - if (EG(namespace)) { - ce = EG(namespace); + if (EG(scope)) { + ce = EG(scope); if (zend_hash_find(&ce->constants_table, EX(opline)->op2.u.constant.value.str.val, EX(opline)->op2.u.constant.value.str.len+1, (void **) &value) == SUCCESS) { zval_update_constant(value, (void *) 1 TSRMLS_CC); EX(Ts)[EX(opline)->result.u.var].tmp_var = **value; diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 4e324d2eec..65eb87d52b 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -169,12 +169,12 @@ void init_executor(TSRMLS_D) EG(exception) = NULL; - EG(namespace) = NULL; + EG(scope) = NULL; EG(main_class_ptr) = &CG(main_class); CG(main_class).static_members = &EG(symbol_table); - EG(this) = NULL; + EG(This) = NULL; } @@ -453,8 +453,8 @@ int call_user_function_ex(HashTable *function_table, zval **object_pp, zval *fun int (*orig_unary_op)(zval *result, zval *op1); int (*orig_binary_op)(zval *result, zval *op1, zval *op2 TSRMLS_DC); zval function_name_copy; - zend_class_entry *current_namespace; - zend_class_entry *calling_namespace = NULL; + zend_class_entry *current_scope; + zend_class_entry *calling_scope = NULL; zval *current_this; *retval_ptr_ptr = NULL; @@ -487,7 +487,7 @@ int call_user_function_ex(HashTable *function_table, zval **object_pp, zval *fun if (Z_TYPE_PP(object_pp) == IS_OBJECT) { function_table = &Z_OBJCE_PP(object_pp)->function_table; - calling_namespace = Z_OBJCE_PP(object_pp); + calling_scope = Z_OBJCE_PP(object_pp); } else if (Z_TYPE_PP(object_pp) == IS_STRING) { zend_class_entry *ce; char *lc_class; @@ -501,7 +501,7 @@ int call_user_function_ex(HashTable *function_table, zval **object_pp, zval *fun return FAILURE; function_table = &ce->function_table; - calling_namespace = ce; + calling_scope = ce; object_pp = NULL; } else return FAILURE; @@ -560,27 +560,27 @@ int call_user_function_ex(HashTable *function_table, zval **object_pp, zval *fun EG(function_state_ptr) = &function_state; - current_namespace = EG(namespace); - EG(namespace) = calling_namespace; + current_scope = EG(scope); + EG(scope) = calling_scope; - current_this = EG(this); + current_this = EG(This); if (object_pp) { - EG(this) = *object_pp; + EG(This) = *object_pp; - if (!PZVAL_IS_REF(EG(this))) { - EG(this)->refcount++; /* For $this pointer */ + if (!PZVAL_IS_REF(EG(This))) { + EG(This)->refcount++; /* For $this pointer */ } else { zval *this_ptr; ALLOC_ZVAL(this_ptr); - *this_ptr = *EG(this); + *this_ptr = *EG(This); INIT_PZVAL(this_ptr); zval_copy_ctor(this_ptr); - EG(this) = this_ptr; + EG(This) = this_ptr; } } else { - EG(this) = NULL; + EG(This) = NULL; } @@ -623,11 +623,11 @@ int call_user_function_ex(HashTable *function_table, zval **object_pp, zval *fun zend_ptr_stack_clear_multiple(TSRMLS_C); EG(function_state_ptr) = original_function_state_ptr; - if (EG(this)) { - zval_ptr_dtor(&EG(this)); + if (EG(This)) { + zval_ptr_dtor(&EG(This)); } - EG(namespace) = current_namespace; - EG(this) = current_this; + EG(scope) = current_scope; + EG(This) = current_this; return SUCCESS; } diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index 3e5dbab7c2..2139e54fcf 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -158,10 +158,10 @@ struct _zend_executor_globals { HashTable *class_table; /* class table */ HashTable *zend_constants; /* constants table */ - zend_class_entry *namespace; + zend_class_entry *scope; zend_class_entry *main_class_ptr; - zval *this; + zval *This; long precision; diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 2c0d78c0d1..accea627e6 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -116,7 +116,6 @@ %token T_UNSET %token T_ISSET %token T_EMPTY -%token T_NAMESPACE %token T_CLASS %token T_EXTENDS %token T_OBJECT_OPERATOR diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 2a615ff27b..16ad7d8c82 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -591,10 +591,6 @@ NEWLINE ("\r"|"\n"|"\r\n") return T_PRINT; } -<ST_IN_SCRIPTING>"namespace" { - return T_NAMESPACE; -} - <ST_IN_SCRIPTING>"class" { return T_CLASS; } |