
grails.plugins.redis.ast.MemoizeHashFieldASTTransformation.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of grails-redis Show documentation
Show all versions of grails-redis Show documentation
This Plugin provides access to Redis and various utilities(service, annotations, etc) for caching.
The newest version!
package grails.plugins.redis.ast
import org.codehaus.groovy.ast.ASTNode
import org.codehaus.groovy.ast.expr.ConstantExpression
import org.codehaus.groovy.control.CompilePhase
import org.codehaus.groovy.control.SourceUnit
import org.codehaus.groovy.transform.GroovyASTTransformation
@GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
class MemoizeHashFieldASTTransformation extends MemoizeASTTransformation {
@Override
protected void generateMemoizeProperties(ASTNode[] astNodes, SourceUnit sourceUnit, Map memoizeProperties) {
super.generateMemoizeProperties(astNodes, sourceUnit, memoizeProperties)
def member = astNodes[0]?.members?.member?.value
if(!member || member?.class != String) {
addError('Internal Error: member is required for score', astNodes[0], sourceUnit)
return
}
memoizeProperties.put(MEMBER, member)
}
@Override
protected ConstantExpression makeRedisServiceConstantExpression() {
new ConstantExpression('memoizeHashField')
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy