From 1fc2f28135480c5a9f26a9c87f37a2bff1d92046 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Sat, 14 Oct 2017 13:05:45 -0700 Subject: [PATCH] Fix resolution of phpdoc for BreakOrContinueStatement Add phpdoc for parsing expressions. --- src/Node/Statement/BreakOrContinueStatement.php | 1 + src/Parser.php | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/Node/Statement/BreakOrContinueStatement.php b/src/Node/Statement/BreakOrContinueStatement.php index aa283de2..db14291e 100644 --- a/src/Node/Statement/BreakOrContinueStatement.php +++ b/src/Node/Statement/BreakOrContinueStatement.php @@ -6,6 +6,7 @@ namespace Microsoft\PhpParser\Node\Statement; +use Microsoft\PhpParser\Node\Expression; use Microsoft\PhpParser\Node\StatementNode; use Microsoft\PhpParser\Token; diff --git a/src/Parser.php b/src/Parser.php index 87a7a13f..e77b0ddf 100644 --- a/src/Parser.php +++ b/src/Parser.php @@ -14,6 +14,7 @@ use Microsoft\PhpParser\Node\ClassInterfaceClause; use Microsoft\PhpParser\Node\ClassMembersNode; use Microsoft\PhpParser\Node\ConstElement; +use Microsoft\PhpParser\Node\Expression; use Microsoft\PhpParser\Node\Expression\{ AnonymousFunctionCreationExpression, ArgumentExpression, @@ -1449,6 +1450,11 @@ private function parseWhileStatement($parentNode) { return $whileStatement; } + /** + * @param Node $parentNode + * @param bool $force + * @return Node|MissingToken|array - The expression, or a missing token, or (if $force) an array containing a missed and skipped token + */ private function parseExpression($parentNode, $force = false) { $token = $this->getCurrentToken(); if ($token->kind === TokenKind::EndOfFileToken) { @@ -1470,6 +1476,10 @@ private function parseExpressionFn() { }; } + /** + * @param Node $parentNode + * @return Expression + */ private function parseUnaryExpressionOrHigher($parentNode) { $token = $this->getCurrentToken(); switch ($token->kind) { @@ -1555,6 +1565,11 @@ private function parseUnaryExpressionOrHigher($parentNode) { return $this->parsePostfixExpressionRest($expression); } + /** + * @param int $precedence + * @param Node $parentNode + * @return Expression + */ private function parseBinaryExpressionOrHigher($precedence, $parentNode) { $leftOperand = $this->parseUnaryExpressionOrHigher($parentNode);