Skip to content

Commit 6bd3e3b

Browse files
authored
Merge pull request microsoft#385 from dantleech/phpstan-level-3
PHPStan Level 3
2 parents 3eccfd2 + 937564f commit 6bd3e3b

17 files changed

+49
-38
lines changed

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ cache:
2525
- validation/frameworks
2626

2727
before_script:
28-
- if [[ $STATIC_ANALYSIS = true ]]; then composer require phpstan/phpstan --no-update; fi
2928
- composer install
3029
- set -e # Stop on first error.
3130
- phpenv config-rm xdebug.ini || true

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"php": ">=7.2"
77
},
88
"require-dev": {
9-
"phpunit/phpunit": "^8.5.15"
9+
"phpunit/phpunit": "^8.5.15",
10+
"phpstan/phpstan": "^1.8"
1011
},
1112
"license": "MIT",
1213
"authors": [

phpstan.neon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
parameters:
2-
level: 2
2+
level: 3
33
paths:
44
- src/
55
ignoreErrors:

src/Node.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ public function getRoot() : Node {
140140
while ($node->parent !== null) {
141141
$node = $node->parent;
142142
}
143+
144+
/** @var SourceFileNode $node */
143145
return $node;
144146
}
145147

@@ -613,6 +615,7 @@ public function getNamespaceDefinition() {
613615
$namespaceDefinition = null;
614616
}
615617

618+
/** @var NamespaceDefinition|null $namespaceDefinition */
616619
return $namespaceDefinition;
617620
}
618621

src/Node/EnumCaseDeclaration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class EnumCaseDeclaration extends Node {
1616
/** @var Token */
1717
public $caseKeyword;
1818

19-
/** @var QualifiedName */
19+
/** @var Token */
2020
public $name;
2121

2222
/** @var Token|null */

src/Node/Expression/AssignmentExpression.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
class AssignmentExpression extends BinaryExpression {
1313

14-
/** @var Expression */
14+
/** @var Expression|Token */
1515
public $leftOperand;
1616

1717
/** @var Token */

src/Node/Expression/BinaryExpression.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111

1212
class BinaryExpression extends Expression {
1313

14-
/** @var Expression */
14+
/** @var Expression|Token */
1515
public $leftOperand;
1616

1717
/** @var Token */
1818
public $operator;
1919

20-
/** @var Expression */
20+
/** @var Expression|Token */
2121
public $rightOperand;
2222

2323
const CHILD_NAMES = [

src/Node/Expression/PrefixUpdateExpression.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ class PrefixUpdateExpression extends UnaryExpression {
1313
/** @var Token */
1414
public $incrementOrDecrementOperator;
1515

16-
/** @var Variable */
17-
public $operand;
18-
1916
const CHILD_NAMES = [
2017
'incrementOrDecrementOperator',
2118
'operand'

src/Node/Expression/SubscriptExpression.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
namespace Microsoft\PhpParser\Node\Expression;
88

9+
use Microsoft\PhpParser\MissingToken;
910
use Microsoft\PhpParser\Node\Expression;
1011
use Microsoft\PhpParser\Token;
1112

@@ -17,7 +18,7 @@ class SubscriptExpression extends Expression {
1718
/** @var Token */
1819
public $openBracketOrBrace;
1920

20-
/** @var Expression */
21+
/** @var Expression|MissingToken */
2122
public $accessExpression;
2223

2324
/** @var Token */

src/Node/Expression/UnaryExpression.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
namespace Microsoft\PhpParser\Node\Expression;
88

99
use Microsoft\PhpParser\Node\Expression;
10+
use Microsoft\PhpParser\Token;
1011

1112
class UnaryExpression extends Expression {
12-
/** @var UnaryExpression|Variable */
13+
/** @var Expression|Variable|Token */
1314
public $operand;
1415

1516
const CHILD_NAMES = [

0 commit comments

Comments
 (0)