From d9ae501de82a7f7512df77e97495cc16cc2bbca3 Mon Sep 17 00:00:00 2001 From: Kees Meijer Date: Sun, 4 Nov 2018 14:54:10 +0100 Subject: [PATCH 1/2] Add namespaced names for PHP Parser 1 --- lib/class-file-reflector.php | 18 +++++++++--------- lib/class-function-call-reflector.php | 12 ++++++------ lib/class-hook-reflector.php | 4 ++-- lib/class-method-call-reflector.php | 10 +++++----- lib/class-pretty-printer.php | 10 +++++----- lib/class-static-method-call-reflector.php | 2 +- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lib/class-file-reflector.php b/lib/class-file-reflector.php index 5b01e8d..d993ccb 100644 --- a/lib/class-file-reflector.php +++ b/lib/class-file-reflector.php @@ -61,9 +61,9 @@ class File_Reflector extends FileReflector { * Finally, we pick up any docblocks for nodes that usually aren't documentable, * so they can be assigned to the hooks to which they may belong. * - * @param \PHPParser_Node $node + * @param \PhpParser\Node $node */ - public function enterNode( \PHPParser_Node $node ) { + public function enterNode( \PhpParser\Node $node ) { parent::enterNode( $node ); switch ( $node->getType() ) { @@ -137,9 +137,9 @@ public function enterNode( \PHPParser_Node $node ) { * We can now access the function/method reflectors, so we can assign any queued * hooks to them. The reflector for a node isn't created until the node is left. * - * @param \PHPParser_Node $node + * @param \PhpParser\Node $node */ - public function leaveNode( \PHPParser_Node $node ) { + public function leaveNode( \PhpParser\Node $node ) { parent::leaveNode( $node ); @@ -189,11 +189,11 @@ public function leaveNode( \PHPParser_Node $node ) { } /** - * @param \PHPParser_Node $node + * @param \PhpParser\Node $node * * @return bool */ - protected function isFilter( \PHPParser_Node $node ) { + protected function isFilter( \PhpParser\Node $node ) { // Ignore variable functions if ( 'Name' !== $node->name->getType() ) { return false; @@ -221,13 +221,13 @@ protected function getLocation() { } /** - * @param \PHPParser_Node $node + * @param \PhpParser\Node $node * * @return bool */ - protected function isNodeDocumentable( \PHPParser_Node $node ) { + protected function isNodeDocumentable( \PhpParser\Node $node ) { return parent::isNodeDocumentable( $node ) - || ( $node instanceof \PHPParser_Node_Expr_FuncCall + || ( $node instanceof \PhpParser\Node\Expr\FuncCall && $this->isFilter( $node ) ); } } diff --git a/lib/class-function-call-reflector.php b/lib/class-function-call-reflector.php index 233e6d8..6fa42a7 100644 --- a/lib/class-function-call-reflector.php +++ b/lib/class-function-call-reflector.php @@ -25,24 +25,24 @@ public function getName() { $shortName = $this->getShortName(); - if ( is_a( $shortName, 'PHPParser_Node_Name_FullyQualified' ) ) { + if ( is_a( $shortName, 'PhpParser\Node\Name\FullyQualified' ) ) { return '\\' . (string) $shortName; } - if ( is_a( $shortName, 'PHPParser_Node_Name' ) ) { + if ( is_a( $shortName, 'PhpParser\Node\Name' ) ) { return (string) $shortName; } - /** @var \PHPParser_Node_Expr_ArrayDimFetch $shortName */ - if ( is_a( $shortName, 'PHPParser_Node_Expr_ArrayDimFetch' ) ) { + /** @var \PhpParser\Node\Expr\ArrayDimFetch $shortName */ + if ( is_a( $shortName, 'PhpParser\Node\Expr\ArrayDimFetch' ) ) { $var = $shortName->var->name; $dim = $shortName->dim->name->parts[0]; return "\${$var}[{$dim}]"; } - /** @var \PHPParser_Node_Expr_Variable $shortName */ - if ( is_a( $shortName, 'PHPParser_Node_Expr_Variable' ) ) { + /** @var \PhpParser\Node\Expr\Variable $shortName */ + if ( is_a( $shortName, 'PhpParser\Node\Expr\Variable' ) ) { return $shortName->name; } diff --git a/lib/class-hook-reflector.php b/lib/class-hook-reflector.php index 50075e0..423f9c1 100644 --- a/lib/class-hook-reflector.php +++ b/lib/class-hook-reflector.php @@ -3,7 +3,7 @@ namespace WP_Parser; use phpDocumentor\Reflection\BaseReflector; -use PHPParser_PrettyPrinter_Default; +use \PhpParser\PrettyPrinter\Standard; /** * Custom reflector for WordPress hooks. @@ -14,7 +14,7 @@ class Hook_Reflector extends BaseReflector { * @return string */ public function getName() { - $printer = new PHPParser_PrettyPrinter_Default; + $printer = new \PhpParser\PrettyPrinter\Standard; return $this->cleanupName( $printer->prettyPrintExpr( $this->node->args[0]->value ) ); } diff --git a/lib/class-method-call-reflector.php b/lib/class-method-call-reflector.php index 570d5a5..5ec325a 100644 --- a/lib/class-method-call-reflector.php +++ b/lib/class-method-call-reflector.php @@ -32,22 +32,22 @@ public function getName() { $caller = $this->node->var; } - if ( $caller instanceof \PHPParser_Node_Expr ) { + if ( $caller instanceof \PhpParser\Node\Expr ) { $printer = new Pretty_Printer; $caller = $printer->prettyPrintExpr( $caller ); - } elseif ( $caller instanceof \PHPParser_Node_Name_FullyQualified ) { + } elseif ( $caller instanceof \PhpParser\Node\Name\FullyQualified ) { $caller = '\\' . $caller->toString(); - } elseif ( $caller instanceof \PHPParser_Node_Name ) { + } elseif ( $caller instanceof \PhpParser\Node\Name ) { $caller = $caller->toString(); } $caller = $this->_resolveName( $caller ); // If the caller is a function, convert it to the function name - if ( is_a( $caller, 'PHPParser_Node_Expr_FuncCall' ) ) { + if ( is_a( $caller, 'PhpParser\Node\Expr\FuncCall' ) ) { // Add parentheses to signify this is a function call - /** @var \PHPParser_Node_Expr_FuncCall $caller */ + /** @var \PhpParser\Node\Expr\FuncCall $caller */ $caller = implode( '\\', $caller->name->parts ) . '()'; } diff --git a/lib/class-pretty-printer.php b/lib/class-pretty-printer.php index 31c37e2..3fea011 100644 --- a/lib/class-pretty-printer.php +++ b/lib/class-pretty-printer.php @@ -2,21 +2,21 @@ namespace WP_Parser; -use PHPParser_Node_Arg; -use PHPParser_PrettyPrinter_Default; +use PhpParser\Node\Arg; +use PhpParser\PrettyPrinter\Standard; /** * Extends default printer for arguments. */ -class Pretty_Printer extends PHPParser_PrettyPrinter_Default { +class Pretty_Printer extends \PhpParser\PrettyPrinter\Standard { /** * Pretty prints an argument. * - * @param PHPParser_Node_Arg $node Expression argument + * @param PhpParser\Node\Arg $node Expression argument * * @return string Pretty printed argument */ - public function prettyPrintArg( PHPParser_Node_Arg $node ) { + public function prettyPrintArg( \PhpParser\Node\Arg $node ) { return str_replace( "\n" . $this->noIndentToken, "\n", $this->p( $node ) ); } } diff --git a/lib/class-static-method-call-reflector.php b/lib/class-static-method-call-reflector.php index 9d39c7c..d58f214 100644 --- a/lib/class-static-method-call-reflector.php +++ b/lib/class-static-method-call-reflector.php @@ -14,7 +14,7 @@ class Static_Method_Call_Reflector extends Method_Call_Reflector { */ public function getName() { $class = $this->node->class; - $prefix = ( is_a( $class, 'PHPParser_Node_Name_FullyQualified' ) ) ? '\\' : ''; + $prefix = ( is_a( $class, 'PhpParser\Node\Name\FullyQualified' ) ) ? '\\' : ''; $class = $prefix . $this->_resolveName( implode( '\\', $class->parts ) ); return array( $class, $this->getShortName() ); From 154babbebc8d67ad78fe57915b9197badb7bc0e4 Mon Sep 17 00:00:00 2001 From: Kees Meijer Date: Tue, 19 Feb 2019 14:17:52 +0100 Subject: [PATCH 2/2] Add last namespaced name --- lib/class-file-reflector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/class-file-reflector.php b/lib/class-file-reflector.php index d993ccb..4bd938d 100644 --- a/lib/class-file-reflector.php +++ b/lib/class-file-reflector.php @@ -40,7 +40,7 @@ class File_Reflector extends FileReflector { /** * Last DocBlock associated with a non-documentable element. * - * @var \PHPParser_Comment_Doc + * @var \PhpParser\Comment\Doc */ protected $last_doc = null;