protected void addRedisServiceMemoizeInvocation()

in plugin/src/main/groovy/grails/plugins/redis/ast/AbstractMemoizeASTTransformation.groovy [214:236]


    protected void addRedisServiceMemoizeInvocation(BlockStatement body, MethodNode methodNode, Map memoizeProperties) {
        ArgumentListExpression argumentListExpression = makeRedisServiceArgumentListExpression(memoizeProperties)
        argumentListExpression.addExpression(makeClosureExpression(methodNode))

        def ast = new AstBuilder().buildFromString("getRedisService()")

        def getRedisServiceMethodExpression = ast[0].statements[0].expression as MethodCallExpression
        getRedisServiceMethodExpression.setSafe(true)

        def redisServiceMethodMethodExpression = new MethodCallExpression(
                getRedisServiceMethodExpression,
                makeRedisServiceConstantExpression(),
                argumentListExpression
        )

        redisServiceMethodMethodExpression.setSafe(true)

        body.addStatement(
                new ReturnStatement(
                        redisServiceMethodMethodExpression
                )
        )
    }