config.dsld:
def configBlock = { -> enclosingCall(name('withConfig') & hasArgument('configuration')) & inClosure() & isThisType() }
contribute(configBlock()) {
method(name:'ast', params:[xform:'Class<? extends java.lang.annotation.Annotation>'])
method(name:'customizers', params:[customizers:'Collection<org.codehaus.groovy.control.customizers.CompilationCustomizer>'])
}
config.groovy:
withConfig(configuration) {
source(classValidator: { !it.isInterface() }) {
ast(groovy.transform.ToString, includeNames: true, includePackage: false)
ast(groovy.util.logging.Log, value:'logger', loggingStrategy:groovy.util.logging.Log.JavaUtilLoggingStrategy)
}
}
Completion proposals for methods ast and customizers are showing a raw Class and Collection respectively.
config.dsld:
config.groovy:
withConfig(configuration) { source(classValidator: { !it.isInterface() }) { ast(groovy.transform.ToString, includeNames: true, includePackage: false) ast(groovy.util.logging.Log, value:'logger', loggingStrategy:groovy.util.logging.Log.JavaUtilLoggingStrategy) } }Completion proposals for methods
astandcustomizersare showing a rawClassandCollectionrespectively.