*/
@GroovyASTTransformation(phase = CompilePhase.SEMANTIC_ANALYSIS)
public class ClosureExpressionEvaluationASTTransformation extends BaseASTTransformation {
private void generateAnnotationClosureClasses(SourceUnit unit, ReaderSource source, List<ClassNode> classNodes) {
final AnnotationClosureVisitor annotationClosureVisitor = new AnnotationClosureVisitor(unit, source);
for (final ClassNode classNode : classNodes) {
annotationClosureVisitor.visitClass(classNode);
if (!CandidateChecks.isContractsCandidate(classNode)) continue;
final ContractElementVisitor contractElementVisitor = new ContractElementVisitor(unit, source);
contractElementVisitor.visitClass(classNode);
if (!contractElementVisitor.isFoundContractElement()) continue;
annotationClosureVisitor.visitClass(classNode);
markClassNodeAsContracted(classNode);
new ConfigurationSetup().init(classNode);
}
}