35class MWDoxygenFilter {
40 public static function filter(
$source ) {
41 $tokens = token_get_all(
$source );
44 foreach ( $tokens as $token ) {
45 if ( is_string( $token ) ) {
46 if ( $buffer !==
null && $token ===
';' ) {
49 $output .= $buffer[
'raw'];
55 [ $id, $content ] = $token;
60 $content = addcslashes( $content,
'\\' );
62 if ( preg_match(
'#@var\s+\S+#', $content ) ) {
63 $buffer = [
'raw' => $content,
'desc' =>
null,
'type' =>
null,
'name' => null ];
64 $buffer[
'desc'] = preg_replace_callback(
66 '#@var\s+(\S+)(\s+)?(\S+)?#',
67 static function (
$matches ) use ( &$buffer ) {
69 $buffer[
'name'] =
$matches[3] ??
null;
100 if ( $buffer !==
null ) {
101 if ( $buffer[
'name'] === $content ) {
103 $output .= $buffer[
'raw'];
108 $output .= $buffer[
'desc'];
109 $output .=
"{$buffer['type']} $content";
118 if ( $buffer !==
null ) {
119 $buffer[
'raw'] .= $content;
120 $buffer[
'desc'] .= $content;
132class_alias( MWDoxygenFilter::class,
'MWDoxygenFilter' );
Update the CREDITS list by merging in the list of git commit authors.