Skip to content

Commit b972313

Browse files
authored
Re-organise the node visitors (#761)
1 parent fc05dbb commit b972313

18 files changed

+23
-18
lines changed

phpstan.neon.dist

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ parameters:
1616
- message: '#IdentifierResolver::resolveIdentifier\(\) should return#'
1717
path: 'src/PhpParser/NodeVisitor/Resolver/IdentifierResolver.php'
1818
- message: '#ParentNodeAppender::getParent\(\) should return#'
19-
path: 'src/PhpParser/NodeVisitor/ParentNodeAppender.php'
19+
path: 'src/PhpParser/NodeVisitor/AttributeAppender/ParentNodeAppender.php'
2020
- message: '#ParentNodeAppender::findParent\(\) should return#'
21-
path: 'src/PhpParser/NodeVisitor/ParentNodeAppender.php'
21+
path: 'src/PhpParser/NodeVisitor/AttributeAppender/ParentNodeAppender.php'
2222
- message: '#OriginalNameResolver::getOriginalName\(\) should return#'
23-
path: 'src/PhpParser/NodeVisitor/OriginalNameResolver.php'
23+
path: 'src/PhpParser/NodeVisitor/Resolver/OriginalNameResolver.php'
2424
- message: '#NamespaceManipulator::getOriginalName\(\) should return#'
2525
path: 'src/PhpParser/NodeVisitor/NamespaceStmt/NamespaceManipulator.php'
2626
- message: '#Dead catch#'

src/PhpParser/NodeVisitor/IdentifierNameAppender.php renamed to src/PhpParser/NodeVisitor/AttributeAppender/IdentifierNameAppender.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* file that was distributed with this source code.
1313
*/
1414

15-
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
15+
namespace Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender;
1616

1717
use Humbug\PhpScoper\PhpParser\NodeVisitor\Resolver\IdentifierResolver;
1818
use PhpParser\Node;

src/PhpParser/NodeVisitor/ParentNodeAppender.php renamed to src/PhpParser/NodeVisitor/AttributeAppender/ParentNodeAppender.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* file that was distributed with this source code.
1313
*/
1414

15-
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
15+
namespace Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender;
1616

1717
use PhpParser\Node;
1818
use PhpParser\NodeVisitorAbstract;

src/PhpParser/NodeVisitor/ClassAliasStmtAppender.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
1616

1717
use Humbug\PhpScoper\PhpParser\Node\ClassAliasFuncCall;
18+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1819
use Humbug\PhpScoper\PhpParser\NodeVisitor\Resolver\IdentifierResolver;
1920
use Humbug\PhpScoper\PhpParser\UnexpectedParsingScenario;
2021
use Humbug\PhpScoper\Symbol\SymbolsRegistry;

src/PhpParser/NodeVisitor/ClassIdentifierRecorder.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
1616

1717
use Humbug\PhpScoper\PhpParser\Node\FullyQualifiedFactory;
18+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1819
use Humbug\PhpScoper\PhpParser\NodeVisitor\Resolver\IdentifierResolver;
1920
use Humbug\PhpScoper\PhpParser\UnexpectedParsingScenario;
2021
use Humbug\PhpScoper\Symbol\EnrichedReflector;

src/PhpParser/NodeVisitor/ConstStmtReplacer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ private function replaceConst(Const_ $const, Node\Const_ $constant): ?Node
8383
}
8484

8585
if (count($const->consts) > 1) {
86-
// TODO
86+
// TODO: add support for this case instead of bailing out.
8787
throw new UnexpectedValueException(
8888
'Exposing a constant declared in a grouped constant statement (e.g. `const FOO = \'foo\', BAR = \'bar\'; is not supported. Consider breaking it down in multiple constant declaration statements',
8989
);

src/PhpParser/NodeVisitor/EvalPrefixer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
1616

17+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1718
use Humbug\PhpScoper\PhpParser\StringNodePrefixer;
1819
use PhpParser\Node;
1920
use PhpParser\Node\Expr\Eval_;

src/PhpParser/NodeVisitor/FunctionIdentifierRecorder.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
1616

1717
use Humbug\PhpScoper\PhpParser\Node\FullyQualifiedFactory;
18+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1819
use Humbug\PhpScoper\PhpParser\NodeVisitor\Resolver\IdentifierResolver;
1920
use Humbug\PhpScoper\PhpParser\UnexpectedParsingScenario;
2021
use Humbug\PhpScoper\Symbol\EnrichedReflector;

src/PhpParser/NodeVisitor/NameStmtPrefixer.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
1616

1717
use Humbug\PhpScoper\PhpParser\Node\FullyQualifiedFactory;
18+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1819
use Humbug\PhpScoper\PhpParser\NodeVisitor\NamespaceStmt\NamespaceStmtCollection;
20+
use Humbug\PhpScoper\PhpParser\NodeVisitor\Resolver\OriginalNameResolver;
1921
use Humbug\PhpScoper\PhpParser\NodeVisitor\UseStmt\UseStmtCollection;
2022
use Humbug\PhpScoper\PhpParser\UseStmtName;
2123
use Humbug\PhpScoper\Symbol\EnrichedReflector;
@@ -438,7 +440,6 @@ private function prefixFuncCallNode(Name $originalName, Name $resolvedName): ?Na
438440
}
439441

440442
if ($this->enrichedReflector->isExposedFunction($resolvedNameString)) {
441-
// TODO: should be able to find a case for it
442443
return $this->enrichedReflector->isExposedFunctionFromGlobalNamespace($resolvedNameString)
443444
? $resolvedName
444445
: null;

src/PhpParser/NodeVisitor/NamespaceStmt/NamespaceStmtCollection.php

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

1717
use ArrayIterator;
1818
use Countable;
19-
use Humbug\PhpScoper\PhpParser\NodeVisitor\ParentNodeAppender;
19+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
2020
use Humbug\PhpScoper\PhpParser\UnexpectedParsingScenario;
2121
use IteratorAggregate;
2222
use PhpParser\Node;

src/PhpParser/NodeVisitor/Resolver/IdentifierResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
namespace Humbug\PhpScoper\PhpParser\NodeVisitor\Resolver;
1616

1717
use Humbug\PhpScoper\PhpParser\Node\NamedIdentifier;
18-
use Humbug\PhpScoper\PhpParser\NodeVisitor\ParentNodeAppender;
18+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1919
use PhpParser\Node\Identifier;
2020
use PhpParser\Node\Name;
2121
use PhpParser\Node\Name\FullyQualified;

src/PhpParser/NodeVisitor/OriginalNameResolver.php renamed to src/PhpParser/NodeVisitor/Resolver/OriginalNameResolver.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@
1212
* file that was distributed with this source code.
1313
*/
1414

15-
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
15+
namespace Humbug\PhpScoper\PhpParser\NodeVisitor\Resolver;
1616

1717
use PhpParser\Node\Name;
1818

19-
// TODO: review those classes
2019
final class OriginalNameResolver
2120
{
2221
private const ORIGINAL_NAME_ATTRIBUTE = 'originalName';

src/PhpParser/NodeVisitor/StringScalarPrefixer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
namespace Humbug\PhpScoper\PhpParser\NodeVisitor;
1616

17+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1718
use Humbug\PhpScoper\PhpParser\UnexpectedParsingScenario;
1819
use Humbug\PhpScoper\Symbol\EnrichedReflector;
1920
use PhpParser\Node;

src/PhpParser/NodeVisitor/UseStmt/UseStmtCollection.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
use ArrayIterator;
1818
use Humbug\PhpScoper\PhpParser\Node\NamedIdentifier;
19-
use Humbug\PhpScoper\PhpParser\NodeVisitor\OriginalNameResolver;
20-
use Humbug\PhpScoper\PhpParser\NodeVisitor\ParentNodeAppender;
19+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
20+
use Humbug\PhpScoper\PhpParser\NodeVisitor\Resolver\OriginalNameResolver;
2121
use Humbug\PhpScoper\PhpParser\UnexpectedParsingScenario;
2222
use IteratorAggregate;
2323
use PhpParser\Node;

src/PhpParser/NodeVisitor/UseStmt/UseStmtPrefixer.php

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

1515
namespace Humbug\PhpScoper\PhpParser\NodeVisitor\UseStmt;
1616

17-
use Humbug\PhpScoper\PhpParser\NodeVisitor\ParentNodeAppender;
17+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1818
use Humbug\PhpScoper\PhpParser\UnexpectedParsingScenario;
1919
use Humbug\PhpScoper\Symbol\EnrichedReflector;
2020
use PhpParser\Node;

src/PhpParser/TraverserFactory.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ private static function createNodeVisitors(
8686

8787
return [
8888
$nameResolver,
89-
new NodeVisitor\ParentNodeAppender(),
90-
new NodeVisitor\IdentifierNameAppender($identifierResolver),
89+
new NodeVisitor\AttributeAppender\ParentNodeAppender(),
90+
new NodeVisitor\AttributeAppender\IdentifierNameAppender($identifierResolver),
9191

9292
new NodeVisitor\NamespaceStmt\NamespaceStmtPrefixer(
9393
$prefix,

src/PhpParser/UseStmtName.php

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

1515
namespace Humbug\PhpScoper\PhpParser;
1616

17-
use Humbug\PhpScoper\PhpParser\NodeVisitor\ParentNodeAppender;
17+
use Humbug\PhpScoper\PhpParser\NodeVisitor\AttributeAppender\ParentNodeAppender;
1818
use PhpParser\Node\Name;
1919
use PhpParser\Node\Stmt\Use_;
2020
use PhpParser\Node\Stmt\UseUse;

tests/PhpParser/UseStmtNameTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ private static function parseUseStmtName(string $php): Name
186186
new PhpParserNodeTraverser(),
187187
);
188188

189-
$traverser->addVisitor(new NodeVisitor\ParentNodeAppender());
189+
$traverser->addVisitor(new NodeVisitor\AttributeAppender\ParentNodeAppender());
190190
$traverser->addVisitor(
191191
new NodeVisitor\NamespaceStmt\NamespaceStmtPrefixer(
192192
'Humbug',

0 commit comments

Comments
 (0)