File tree 2 files changed +10
-6
lines changed
2 files changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -33,24 +33,28 @@ public function __construct(Root $ast) {
33
33
/**
34
34
* Walk the root
35
35
*
36
+ * @param Callable $pre
37
+ * @param Callable $after
36
38
* @return void
37
39
*/
38
- public function __invoke (Callable $ callback ) {
39
- $ this ->walk ($ this ->ast , $ callback );
40
+ public function __invoke (Callable $ pre , Callable $ after ) {
41
+ $ this ->walk ($ this ->ast , $ pre , $ after );
40
42
}
41
43
42
44
/**
43
45
* Walk a node
44
46
*
45
47
* @param Node $ast
46
- * @param Callable $callback
48
+ * @param Callable $pre
49
+ * @param Callable $after
47
50
* @return void
48
51
*/
49
- public function walk (Node $ ast , Callable $ callback ) {
50
- $ callback ($ ast );
52
+ public function walk (Node $ ast , Callable $ pre , Callable $ after ) {
53
+ $ pre ($ ast );
51
54
foreach ($ ast ->children as $ child ) {
52
- self ::walk ($ child , $ callback );
55
+ self ::walk ($ child , $ pre , $ after );
53
56
}
57
+ $ after ($ ast );
54
58
}
55
59
56
60
}
You can’t perform that action at this time.
0 commit comments