1
0
Fork 0

Fix possible Node/MissingToken mismatch (error reported in Lumen project)

pull/357/head
Rob Lourens 2017-06-06 14:25:27 -07:00
parent d56d1b7fe7
commit e0a7b2108e
1 changed files with 6 additions and 6 deletions

View File

@ -544,18 +544,18 @@ class DefinitionResolver
*/ */
public function resolveExpressionNodeToType($expr) public function resolveExpressionNodeToType($expr)
{ {
if ($expr == null || $expr instanceof PhpParser\MissingToken || $expr instanceof PhpParser\SkippedToken) {
// TODO some members are null or Missing/SkippedToken
// How do we handle this more generally?
return new Types\Mixed;
}
// PARENTHESIZED EXPRESSION // PARENTHESIZED EXPRESSION
// Retrieve inner expression from parenthesized expression // Retrieve inner expression from parenthesized expression
while ($expr instanceof Node\Expression\ParenthesizedExpression) { while ($expr instanceof Node\Expression\ParenthesizedExpression) {
$expr = $expr->expression; $expr = $expr->expression;
} }
if ($expr == null || $expr instanceof PhpParser\MissingToken || $expr instanceof PhpParser\SkippedToken) {
// TODO some members are null or Missing/SkippedToken
// How do we handle this more generally?
return new Types\Mixed;
}
// VARIABLE // VARIABLE
// $this -> Type\this // $this -> Type\this
// $myVariable -> type of corresponding assignment expression // $myVariable -> type of corresponding assignment expression