Skip to content

DSLD improve support for generics in method param and return types #746

@eric-milles

Description

@eric-milles

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions