@@ -82,14 +82,10 @@ public function afterTraverse(array $nodes): array
82
82
83
83
protected function prependNodeAfterNode (Expr $ nodeToPrepend , Node $ positionNode ): void
84
84
{
85
- /** @var Node $parentNode */
85
+ /** @var Expression $parentNode */
86
86
$ parentNode = $ positionNode ->getAttribute (Attribute::PARENT_NODE );
87
- if (! $ parentNode instanceof Expression) {
88
- // validate?
89
- return ;
90
- }
91
87
92
- $ expressionToPrepend = new Expression ($ nodeToPrepend );
88
+ $ expressionToPrepend = $ this -> resolveToExpression ($ nodeToPrepend );
93
89
94
90
if (isset ($ this ->expressionsToPrependAfter [$ parentNode ])) {
95
91
$ this ->expressionsToPrependAfter [$ parentNode ] = array_merge (
@@ -103,14 +99,10 @@ protected function prependNodeAfterNode(Expr $nodeToPrepend, Node $positionNode)
103
99
104
100
protected function prependNodeBeforeNode (Expr $ nodeToPrepend , Node $ positionNode ): void
105
101
{
106
- /** @var Node $parentNode */
102
+ /** @var Expression $parentNode */
107
103
$ parentNode = $ positionNode ->getAttribute (Attribute::PARENT_NODE );
108
- if (! $ parentNode instanceof Expression) {
109
- // validate?
110
- return ;
111
- }
112
104
113
- $ expressionToPrepend = new Expression ($ nodeToPrepend );
105
+ $ expressionToPrepend = $ this -> resolveToExpression ($ nodeToPrepend );
114
106
115
107
if (isset ($ this ->expressionsToPrependBefore [$ parentNode ])) {
116
108
$ this ->expressionsToPrependBefore [$ parentNode ] = array_merge (
@@ -123,6 +115,8 @@ protected function prependNodeBeforeNode(Expr $nodeToPrepend, Node $positionNode
123
115
}
124
116
125
117
/**
118
+ * Adds new nodes before or after particular Expression nodes.
119
+ *
126
120
* @param Node[] $nodes
127
121
* @return Node[] array
128
122
*/
@@ -159,4 +153,13 @@ private function prependNodesAfterAndBeforeExpression(array $nodes, Node $node,
159
153
160
154
return $ nodes ;
161
155
}
156
+
157
+ private function resolveToExpression (Expr $ exprNode ): Expression
158
+ {
159
+ if ($ exprNode instanceof Expression) {
160
+ return $ exprNode ;
161
+ }
162
+
163
+ return new Expression ($ exprNode );
164
+ }
162
165
}
0 commit comments