GRAILS-9999 - supply type information to help @CompileStatic
Replace generic type parameters in static method arguments
GrailsASTUtils refactoring: rename parameter
GrailsASTUtils refactoring: remove duplicate method existence check in addDelegateStaticMethod
- classNode.hasDeclaredMethod already checks it
Refactor AbstractGrailsArtefactTransformer: extract shouldSkipInjection method
Refactor AbstractGrailsArtefactTransformer: extract performInstance/StaticImplementationInjection methods
AbstractGrailsArtefactTransformer: add type information to VariableExpression
AbstractGrailsArtefactTransformer: hold current instance of api implementation in static field
- implemented in addApiLookupFieldAndSetter
Fix test: Subclasses must be now mocked separately because metaclass isn't used for holding current implementation of api instance
Add @CompileStatic annotation for generated delegate methods
AbstractGrailsArtefactTransformer: make direct call to lookup method
GrailsASTUtils: add "noNullCheck" parameter to addDelegate*Method methods
- don't add null check to delegate methods generated by AGAT
Don't add validation methods to domain classes by default in DomainClassGrailsPlugin
- this is only required by old style tests that don't call mockDomain (subclasses of AbstractGrailsControllerTests in grails-test-suite-base)
Use @CompileStatic for delegate methods
Use @CompileStatic in MimeTypesTransformer
Allow using for addCompileStaticAnnotation for ClassNodes too
Add helper methods to GrailsASTUtils for building direct calls with MethodCallExpression
Move copyAnnotations method to GrailsASTUtils
Add helper methods for filtering annotations
Make inner classes public in GrailsTransactionTemplate