transform: introduce `full_transform_visitor` for complex transformations
authorJean Privat <jean@pryen.org>
Wed, 17 Dec 2014 16:50:04 +0000 (11:50 -0500)
committerJean Privat <jean@pryen.org>
Wed, 17 Dec 2014 20:29:28 +0000 (15:29 -0500)
Signed-off-by: Jean Privat <jean@pryen.org>

src/transform.nit

index fe46105..2c0fb02 100644 (file)
@@ -68,8 +68,7 @@ private class TransformVisitor
        redef fun visit(node)
        do
                if node isa AAnnotations then return
-               node.visit_all(self)
-               node.accept_transform_visitor(self)
+               node.full_transform_visitor(self)
        end
 
        # Get a primitive class or display a fatal error on `location`.
@@ -86,6 +85,11 @@ private class TransformVisitor
 end
 
 redef class ANode
+       private fun full_transform_visitor(v: TransformVisitor)
+       do
+               visit_all(v)
+               accept_transform_visitor(v)
+       end
        private fun accept_transform_visitor(v: TransformVisitor)
        do
        end