johannes                Wed Nov 23 15:47:43 2005 EDT

  Modified files:              
    /php-src    NEWS 
    /php-src/ext/reflection     php_reflection.c 
  Log:
  Changed reflection constants to class constants
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.2085&r2=1.2086&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2085 php-src/NEWS:1.2086
--- php-src/NEWS:1.2085 Wed Nov 23 13:08:46 2005
+++ php-src/NEWS        Wed Nov 23 15:47:41 2005
@@ -10,6 +10,7 @@
   (Marcus, Dmitry)
 - Changed "instanceof" and "catch" operators, is_a() and is_subclass_of()
   functions to not call __autoload(). (Dmitry)
+- Changed reflection constants to class constants. (Johannes)
 - Added "allow_url_include" ini directive to be able to turn off remote url
   code execution separately from the "allow_url_fopen" setting. (Rasmus)
 - Added --enable-gcov configure option to enable C-level code coverage.
http://cvs.php.net/diff.php/php-src/ext/reflection/php_reflection.c?r1=1.192&r2=1.193&ty=u
Index: php-src/ext/reflection/php_reflection.c
diff -u php-src/ext/reflection/php_reflection.c:1.192 
php-src/ext/reflection/php_reflection.c:1.193
--- php-src/ext/reflection/php_reflection.c:1.192       Mon Nov 21 05:57:28 2005
+++ php-src/ext/reflection/php_reflection.c     Wed Nov 23 15:47:42 2005
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_reflection.c,v 1.192 2005/11/21 10:57:28 dmitry Exp $ */
+/* $Id: php_reflection.c,v 1.193 2005/11/23 20:47:42 johannes Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -103,6 +103,10 @@
        }                                                                       
                                \
        target = intern->ptr;                                                   
                                \
 
+/* Class constants */
+#define REGISTER_REFLECTION_CLASS_CONST_LONG(class_name, const_name, value)    
                                    \
+       zend_declare_class_constant_long(reflection_ ## class_name ## _ptr, 
const_name, sizeof(const_name)-1, (long)value TSRMLS_CC);
+
 /* {{{ Smart string functions */
 typedef struct _string {
        char *string;
@@ -4225,12 +4229,23 @@
        zend_declare_property_string(reflection_method_ptr, "name", 
sizeof("name")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC);
        zend_declare_property_string(reflection_method_ptr, "class", 
sizeof("class")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC);
 
+       REGISTER_REFLECTION_CLASS_CONST_LONG(method, "STATIC", ZEND_ACC_STATIC);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(method, "PUBLIC", ZEND_ACC_PUBLIC);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(method, "PROTECTED", 
ZEND_ACC_PROTECTED);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(method, "PRIVATE", 
ZEND_ACC_PRIVATE);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(method, "ABSTRACT", 
ZEND_ACC_ABSTRACT);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(method, "FINAL", ZEND_ACC_FINAL);
+
        INIT_CLASS_ENTRY(_reflection_entry, "ReflectionClass", 
reflection_class_functions);
        _reflection_entry.create_object = reflection_objects_new;
        reflection_class_ptr = zend_register_internal_class(&_reflection_entry 
TSRMLS_CC);
        reflection_register_implement(reflection_class_ptr, reflector_ptr 
TSRMLS_CC);
        zend_declare_property_string(reflection_class_ptr, "name", 
sizeof("name")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC);
 
+       REGISTER_REFLECTION_CLASS_CONST_LONG(class, "IMPLICIT_ABSTRACT", 
ZEND_ACC_IMPLICIT_ABSTRACT_CLASS);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(class, "EXPLICIT_ABSTRACT", 
ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(class, "FINAL", 
ZEND_ACC_FINAL_CLASS);
+
        INIT_CLASS_ENTRY(_reflection_entry, "ReflectionObject", 
reflection_object_functions);
        _reflection_entry.create_object = reflection_objects_new;
        reflection_object_ptr = 
zend_register_internal_class_ex(&_reflection_entry, reflection_class_ptr, NULL 
TSRMLS_CC);
@@ -4242,31 +4257,17 @@
        zend_declare_property_string(reflection_property_ptr, "name", 
sizeof("name")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC);
        zend_declare_property_string(reflection_property_ptr, "class", 
sizeof("class")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC);
 
+       REGISTER_REFLECTION_CLASS_CONST_LONG(property, "STATIC", 
ZEND_ACC_STATIC);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(property, "PUBLIC", 
ZEND_ACC_PUBLIC);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(property, "PROTECTED", 
ZEND_ACC_PROTECTED);
+       REGISTER_REFLECTION_CLASS_CONST_LONG(property, "PRIVATE", 
ZEND_ACC_PRIVATE);
+
        INIT_CLASS_ENTRY(_reflection_entry, "ReflectionExtension", 
reflection_extension_functions);
        _reflection_entry.create_object = reflection_objects_new;
        reflection_extension_ptr = 
zend_register_internal_class(&_reflection_entry TSRMLS_CC);
        reflection_register_implement(reflection_extension_ptr, reflector_ptr 
TSRMLS_CC);
        zend_declare_property_string(reflection_extension_ptr, "name", 
sizeof("name")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC);
 
-       /* Property modifiers */
-       REGISTER_MAIN_LONG_CONSTANT("P_STATIC", ZEND_ACC_STATIC, 
CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("P_PUBLIC", ZEND_ACC_PUBLIC, 
CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("P_PROTECTED", ZEND_ACC_PROTECTED, 
CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("P_PRIVATE", ZEND_ACC_PRIVATE, 
CONST_PERSISTENT|CONST_CS);
-
-       /* Method modifiers */
-       REGISTER_MAIN_LONG_CONSTANT("M_STATIC", ZEND_ACC_STATIC, 
CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("M_PUBLIC", ZEND_ACC_PUBLIC, 
CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("M_PROTECTED", ZEND_ACC_PROTECTED, 
CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("M_PRIVATE", ZEND_ACC_PRIVATE, 
CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("M_ABSTRACT", ZEND_ACC_ABSTRACT, 
CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("M_FINAL", ZEND_ACC_FINAL, 
CONST_PERSISTENT|CONST_CS);
-
-       /* Class modifiers */
-       REGISTER_MAIN_LONG_CONSTANT("C_IMPLICIT_ABSTRACT", 
ZEND_ACC_IMPLICIT_ABSTRACT_CLASS, CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("C_EXPLICIT_ABSTRACT", 
ZEND_ACC_EXPLICIT_ABSTRACT_CLASS, CONST_PERSISTENT|CONST_CS);
-       REGISTER_MAIN_LONG_CONSTANT("C_FINAL", ZEND_ACC_FINAL_CLASS, 
CONST_PERSISTENT|CONST_CS);
-       
        return SUCCESS;
 } /* }}} */
 
@@ -4275,7 +4276,7 @@
        php_info_print_table_start();
        php_info_print_table_header(2, "Reflection", "enabled");
 
-       php_info_print_table_row(2, "Version", "$Id: php_reflection.c,v 1.192 
2005/11/21 10:57:28 dmitry Exp $");
+       php_info_print_table_row(2, "Version", "$Id: php_reflection.c,v 1.193 
2005/11/23 20:47:42 johannes Exp $");
 
        php_info_print_table_end();
 } /* }}} */

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to