- org.codehaus.groovy.control.customizers.builder.SourceAwareCustomizerFactory
-
- All Implemented Interfaces and Traits:
- PostCompletionFactory
public class SourceAwareCustomizerFactory
extends AbstractFactory
implements PostCompletionFactory
Factory for use with CompilerCustomizationBuilder. Allows the construction of source aware customizers. Syntax:
// apply CompileStatic AST annotation on .sgroovy files
builder.source(extension: 'sgroovy') {
ast(CompileStatic)
}
// apply CompileStatic AST annotation on .sgroovy or .sg files
builder.source(extensions: ['sgroovy','sg']) {
ast(CompileStatic)
}
// apply CompileStatic AST annotation on .sgroovy or .sg files
builder.source(extensionValidator: { it.name in ['sgroovy','sg']}) {
ast(CompileStatic)
}
// apply CompileStatic AST annotation on files whose name is 'foo'
builder.source(basename: 'foo') {
ast(CompileStatic)
}
// apply CompileStatic AST annotation on files whose name is 'foo' or 'bar'
builder.source(basenames: ['foo', 'bar']) {
ast(CompileStatic)
}
// apply CompileStatic AST annotation on files whose name is 'foo' or 'bar'
builder.source(basenameValidator: { it in ['foo', 'bar'] }) {
ast(CompileStatic)
}
// apply CompileStatic AST annotation on files that do not contain a class named 'Baz'
builder.source(unitValidator: { unit ->
!unit.AST.classes.any { it.name == 'Baz' } }) {
ast(CompileStatic)
}
// apply CompileStatic AST annotation on class nodes that end with 'CS'
builder.source(classValidator: { cn ->
cn.name.endsWith('CS') }) {
ast(CompileStatic)
}
-
-
Methods Summary
-
Inherited Methods Summary
Inherited Methods
Methods inherited from class |
Name |
class AbstractFactory |
isLeaf, onNodeChildren, onNodeCompleted, setChild, onHandleNodeAttributes, onFactoryRegistration, isHandlesNodeChildren, setParent, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll, newInstance |
- | Detail:
Field Constructor - Method
Copyright © 2003-2021 The Apache Software Foundation. All rights reserved.