svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/Zend/tests/bug55156.phpt branches/PHP_5_4/Zend/tests/bug55156.phpt
branches/PHP_5_4/Zend/zend_compile.c trunk/Zend/tests/bug55156.phpt trunk/Zend/zend_compile.c
| From: | Felipe Pena | Date: | Thu, 07 Jul 2011 23:07:14 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/Zend/tests/bug55156.phpt branches/PHP_5_4/Zend/tests/bug55156.phpt branches/PHP_5_4/Zend/zend_compile.c trunk/Zend/tests/bug55156.phpt trunk/Zend/zend_compile.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-65433@lists.php.net to get a copy of this message | ||
felipe Thu, 07 Jul 2011 23:07:14 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=313056
Log:
- Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
Bug: https://bugs.php.net/55156 (Closed)
ReflectionClass::getDocComment() returns comment even though the class has none
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
A php/php-src/branches/PHP_5_3/Zend/tests/bug55156.phpt
A php/php-src/branches/PHP_5_4/Zend/tests/bug55156.phpt
U php/php-src/branches/PHP_5_4/Zend/zend_compile.c
A php/php-src/trunk/Zend/tests/bug55156.phpt
U php/php-src/trunk/Zend/zend_compile.c
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2011-07-07 15:21:17 UTC (rev 313055)
+++ php/php-src/branches/PHP_5_3/NEWS 2011-07-07 23:07:14 UTC (rev 313056)
@@ -1,6 +1,10 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2011, PHP 5.3.7
+- Zend Engine:
+ . Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even
+ though the class has none). (Felipe)
+
- Core
. Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)
(Ralph Schindler, Dmitry)
Added: php/php-src/branches/PHP_5_3/Zend/tests/bug55156.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/Zend/tests/bug55156.phpt (rev 0)
+++ php/php-src/branches/PHP_5_3/Zend/tests/bug55156.phpt 2011-07-07 23:07:14 UTC (rev 313056)
@@ -0,0 +1,30 @@
+--TEST--
+Bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
+--FILE--
+<?php
+
+/** test */
+namespace foo {
+ function test() { }
+
+ $x = new \ReflectionFunction('foo\test');
+ var_dump($x->getDocComment());
+
+ /** test1 */
+ class bar { }
+
+ /** test2 */
+ class foo extends namespace\bar { }
+
+ $x = new \ReflectionClass('foo\bar');
+ var_dump($x->getDocComment());
+
+ $x = new \ReflectionClass('foo\foo');
+ var_dump($x->getDocComment());
+}
+
+?>
+--EXPECTF--
+bool(false)
+string(12) "/** test1 */"
+string(12) "/** test2 */"
Added: php/php-src/branches/PHP_5_4/Zend/tests/bug55156.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/Zend/tests/bug55156.phpt (rev 0)
+++ php/php-src/branches/PHP_5_4/Zend/tests/bug55156.phpt 2011-07-07 23:07:14 UTC (rev 313056)
@@ -0,0 +1,30 @@
+--TEST--
+Bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
+--FILE--
+<?php
+
+/** test */
+namespace foo {
+ function test() { }
+
+ $x = new \ReflectionFunction('foo\test');
+ var_dump($x->getDocComment());
+
+ /** test1 */
+ class bar { }
+
+ /** test2 */
+ class foo extends namespace\bar { }
+
+ $x = new \ReflectionClass('foo\bar');
+ var_dump($x->getDocComment());
+
+ $x = new \ReflectionClass('foo\foo');
+ var_dump($x->getDocComment());
+}
+
+?>
+--EXPECTF--
+bool(false)
+string(12) "/** test1 */"
+string(12) "/** test2 */"
Modified: php/php-src/branches/PHP_5_4/Zend/zend_compile.c
===================================================================
--- php/php-src/branches/PHP_5_4/Zend/zend_compile.c 2011-07-07 15:21:17 UTC (rev 313055)
+++ php/php-src/branches/PHP_5_4/Zend/zend_compile.c 2011-07-07 23:07:14 UTC (rev 313056)
@@ -6487,6 +6487,12 @@
efree(CG(current_import));
CG(current_import) = NULL;
}
+
+ if (CG(doc_comment)) {
+ efree(CG(doc_comment));
+ CG(doc_comment) = NULL;
+ CG(doc_comment_len) = 0;
+ }
}
/* }}} */
Added: php/php-src/trunk/Zend/tests/bug55156.phpt
===================================================================
--- php/php-src/trunk/Zend/tests/bug55156.phpt (rev 0)
+++ php/php-src/trunk/Zend/tests/bug55156.phpt 2011-07-07 23:07:14 UTC (rev 313056)
@@ -0,0 +1,30 @@
+--TEST--
+Bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
+--FILE--
+<?php
+
+/** test */
+namespace foo {
+ function test() { }
+
+ $x = new \ReflectionFunction('foo\test');
+ var_dump($x->getDocComment());
+
+ /** test1 */
+ class bar { }
+
+ /** test2 */
+ class foo extends namespace\bar { }
+
+ $x = new \ReflectionClass('foo\bar');
+ var_dump($x->getDocComment());
+
+ $x = new \ReflectionClass('foo\foo');
+ var_dump($x->getDocComment());
+}
+
+?>
+--EXPECTF--
+bool(false)
+string(12) "/** test1 */"
+string(12) "/** test2 */"
Modified: php/php-src/trunk/Zend/zend_compile.c
===================================================================
--- php/php-src/trunk/Zend/zend_compile.c 2011-07-07 15:21:17 UTC (rev 313055)
+++ php/php-src/trunk/Zend/zend_compile.c 2011-07-07 23:07:14 UTC (rev 313056)
@@ -6487,6 +6487,12 @@
efree(CG(current_import));
CG(current_import) = NULL;
}
+
+ if (CG(doc_comment)) {
+ efree(CG(doc_comment));
+ CG(doc_comment) = NULL;
+ CG(doc_comment_len) = 0;
+ }
}
/* }}} */