mirror of
https://github.com/php/php-src.git
synced 2024-12-17 22:09:12 +08:00
58 lines
913 B
PHP
58 lines
913 B
PHP
--TEST--
|
|
ReflectionMethod::getDocComment() uses wrong comment block
|
|
--INI--
|
|
opcache.save_comments=1
|
|
opcache.load_comments=1
|
|
--FILE--
|
|
<?php
|
|
|
|
function strip_doc_comment($c)
|
|
{
|
|
if (!strlen($c) || $c === false) return $c;
|
|
return trim(substr($c, 3, -2));
|
|
}
|
|
|
|
/** Comment for class A */
|
|
class A
|
|
{
|
|
/** Method A::bla()
|
|
*/
|
|
function bla()
|
|
{
|
|
}
|
|
|
|
function foo() {
|
|
/**
|
|
* This is a valid comment inside a method
|
|
*/
|
|
}
|
|
|
|
function bar() {
|
|
// I don't have a doc comment....
|
|
}
|
|
|
|
/**
|
|
* Comment for A::baz()
|
|
*/
|
|
function baz() {
|
|
}
|
|
}
|
|
|
|
$r = new ReflectionClass('A');
|
|
var_dump(strip_doc_comment($r->getDocComment()));
|
|
|
|
foreach($r->getMethods() as $m)
|
|
{
|
|
var_dump(strip_doc_comment($m->getDocComment()));
|
|
}
|
|
|
|
?>
|
|
===DONE===
|
|
--EXPECT--
|
|
string(19) "Comment for class A"
|
|
string(15) "Method A::bla()"
|
|
bool(false)
|
|
bool(false)
|
|
string(22) "* Comment for A::baz()"
|
|
===DONE===
|