I'm writing an type checker for an DSL. So the type checker looks like this:

 

class MyAppDSLTypeChecker extends GroovyTypeCheckingExtensionSupport.TypeCheckingDSL {

 

    @Override

    Object run() {

        methodNotFound { receiver, name, argList, argTypes, call ->

            println argList

            handled = true

        }

    }

}

 

When my DSL runs, for now it just prints argList, which is something like this:

 

org.codehaus.groovy.ast.expr.ArgumentListExpression@1fc8bb61[org.codehaus.groovy.ast.expr.NamedArgumentListExpression@3385ed94[org.codehaus.groovy.ast.expr.MapEntryExpression@1db0a9f9(key: ConstantExpression[asdasdasddsasd], value: ConstantExpression[someId])]]

 

Is there any Visitor support does Groovy gives out of the box, so that I can traverse the above ArgumentListExpression AST node? So this is my idea, if method name matches my DSL rule, and I need to check its param, which should be only map. And that map also should be of some keys. So need to check them.

 

Thanks for your input.