1--TEST--
2ReflectionClass::getDocComment()
3--CREDITS--
4Robin Fernandes <robinf@php.net>
5Steve Seear <stevseea@php.net>
6--INI--
7opcache.save_comments=1
8opcache.load_comments=1
9--FILE--
10<?php
11/**
12
13
14		My
15Doc
16		* Comment
17for A
18
19* */
20class A {}
21
22/** My DocComment for B */
23class B extends A { }
24
25class C extends B {}
26
27/**
28 * Interface doc comment
29 */
30
31
32
33
34interface I {}
35
36/*.*
37 * Not a doc comment
38 */
39class D implements I {}
40
41/**** Not a doc comment */
42class E extends C implements I {} {}
43
44/**?** Not a doc comment */
45class F extends C implements I {} {}
46
47/**	** Doc comment for G */
48final class G extends C implements I {} {}
49
50$classes = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'I');
51foreach ($classes as $class) {
52	echo "\n\n---> Doc comment for class $class:\n";
53	$rc = new ReflectionClass($class);
54	var_dump($rc->getDocComment());
55}
56
57
58?>
59--EXPECTF--
60
61
62---> Doc comment for class A:
63string(%d) "/**
64
65
66		My
67Doc
68		* Comment
69for A
70
71* */"
72
73
74---> Doc comment for class B:
75string(26) "/** My DocComment for B */"
76
77
78---> Doc comment for class C:
79bool(false)
80
81
82---> Doc comment for class D:
83bool(false)
84
85
86---> Doc comment for class E:
87bool(false)
88
89
90---> Doc comment for class F:
91bool(false)
92
93
94---> Doc comment for class G:
95string(27) "/**	** Doc comment for G */"
96
97
98---> Doc comment for class I:
99string(%d) "/**
100 * Interface doc comment
101 */"