Comments (3)
That's expected, you can't use NodeTraverser::REMOVE_NODE
directly under refactor()
on Expr
, you need to remove the whole Expression
stmt, something like:
public function getNodeTypes(): array {
return [
Node\Stmt\Expression::class
];
}
public function refactor(Node $node) {
if ($node->expr instanceof Node\Expr\ErrorSuppress && $node->expr->expr instanceof Include_) {
return NodeTraverser::REMOVE_NODE;
}
if ($node->expr instanceof Include_) {
return NodeTraverser::REMOVE_NODE;
}
return null;
}
that already answered at #8172
from rector.
Thank you! Is it defined somewhere in the documentation? I cannot find this
from rector.
It's inherited treat of AST tree, so I'd look for it somewhere in:
https://github.com/nikic/PHP-Parser/tree/4.x/doc
Still, we might add a "AST Gotchas" page to our docs, as this is something hard to find.
Where would you expect this to find?
from rector.
Related Issues (20)
- [ERROR] Class "Rector\Core\Rector\AbstractRector" not found HOT 1
- Self-upgrading Rector HOT 3
- Parallel configuration does not work correctly HOT 1
- rectorphp or rector have a problem with fluent function \TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression::add HOT 12
- Error on php 7.2 and php 7.3 with nette/utils 4.0 HOT 4
- nette/utils 4.0 cause error RectorPrefix202403\Nette\Utils\Reflection::getUseStatements(): Return value must be of type array, null returned HOT 4
- php-parser v5 compat HOT 12
- Incorrect behavior of ClassPropertyAssignToConstructorPromotionRector HOT 1
- Incorrect behavior of ChildDoctrineRepositoryClassTypeRector HOT 2
- Incorrect behavior of ReturnNeverTypeRector HOT 1
- Multiple rule configurations with the same class name as identifier HOT 4
- How to use disableParallel() with RectorConfig::configure()? HOT 3
- Incorrect behavior of RemoveUnusedPrivateMethodRector
- PHPStan rule to detect duplicate rector rules
- switch to match on non native types HOT 9
- Incorrect behavior of RemoveUnusedPrivateMethodRector
- first-class-callable-syntax is not allow on property HOT 2
- Is it possible that the changed code more human readable after rector change HOT 2
- Incorrect Behavior of RemoveUnusedConstructorParamRector with Interfaces
- Rector produce not human readable code with fluent functions calls HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rector.