Package org.codehaus.groovy.transform
Class AbstractASTTransformation
- java.lang.Object
-
- org.codehaus.groovy.transform.AbstractASTTransformation
-
- All Implemented Interfaces:
ASTTransformation,ErrorCollecting
- Direct Known Subclasses:
AutoCloneASTTransformation,AutoFinalASTTransformation,AutoImplementASTTransformation,BaseScriptASTTransformation,BuilderASTTransformation,DelegateASTTransformation,EqualsAndHashCodeASTTransformation,ExternalizeMethodsASTTransformation,ExternalizeVerifierASTTransformation,ImmutableASTTransformation,IndexedPropertyASTTransformation,InheritConstructorsASTTransformation,LazyASTTransformation,LogASTTransformation,MapConstructorASTTransformation,MemoizedASTTransformation,MixinASTTransformation,NamedVariantASTTransformation,NotYetImplementedASTTransformation,NullCheckASTTransformation,PackageScopeASTTransformation,ReadWriteLockASTTransformation,RecordTypeASTTransformation,SingletonASTTransformation,SortableASTTransformation,SourceURIASTTransformation,SynchronizedASTTransformation,ToStringASTTransformation,TraitASTTransformation,TupleConstructorASTTransformation
public abstract class AbstractASTTransformation extends Object implements ASTTransformation, ErrorCollecting
-
-
Field Summary
Fields Modifier and Type Field Description static ClassNodeRETENTION_CLASSNODEprotected SourceUnitsourceUnit
-
Constructor Summary
Constructors Constructor Description AbstractASTTransformation()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddError(String msg, ASTNode expr)protected booleancheckIncludeExcludeUndefinedAware(AnnotationNode node, List<String> excludes, List<String> includes, String typeName)protected voidcheckIncludeExcludeUndefinedAware(AnnotationNode node, List<String> excludes, List<String> includes, List<ClassNode> excludeTypes, List<ClassNode> includeTypes, String typeName)protected booleancheckNotInterface(ClassNode cNode, String annotationName)booleancheckPropertyList(ClassNode cNode, List<String> propertyNameList, String listName, AnnotationNode anno, String typeName, boolean includeFields)booleancheckPropertyList(ClassNode cNode, List<String> propertyNameList, String listName, AnnotationNode anno, String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties)booleancheckPropertyList(ClassNode cNode, List<String> propertyNameList, String listName, AnnotationNode anno, String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties, boolean includeSuperFields, boolean includeStatic)protected List<AnnotationNode>copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, String myTypeName)Copies all candidateAnnotations with retention policyRetentionPolicy.RUNTIMEandRetentionPolicy.CLASS.protected List<AnnotationNode>copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, String myTypeName, boolean includeGenerated)Copies all candidateAnnotations with retention policyRetentionPolicy.RUNTIMEandRetentionPolicy.CLASS.static booleandeemedInternalName(String name)StringgetAnnotationName()If the transform is associated with a single annotation, returns a name suitable for displaying in error messages.List<ClassNode>getMemberClassList(AnnotationNode anno, String name)ClassNodegetMemberClassValue(AnnotationNode node, String name)ClassNodegetMemberClassValue(AnnotationNode node, String name, ClassNode defaultValue)intgetMemberIntValue(AnnotationNode node, String name)static List<String>getMemberStringList(AnnotationNode anno, String name)static StringgetMemberStringValue(AnnotationNode node, String name)static StringgetMemberStringValue(AnnotationNode node, String name, String defaultValue)ObjectgetMemberValue(AnnotationNode node, String name)booleanhasAnnotation(ClassNode node, ClassNode annotation)protected voidinit(ASTNode[] nodes, SourceUnit sourceUnit)booleanmemberHasValue(AnnotationNode node, String name, Object value)static booleanshouldSkip(String name, List<String> excludes, List<String> includes)static booleanshouldSkip(String name, List<String> excludes, List<String> includes, boolean allNames)static booleanshouldSkipOnDescriptorUndefinedAware(boolean checkReturn, Map genericsSpec, MethodNode mNode, List<ClassNode> excludeTypes, List<ClassNode> includeTypes)static booleanshouldSkipUndefinedAware(String name, List<String> excludes, List<String> includes)static booleanshouldSkipUndefinedAware(String name, List<String> excludes, List<String> includes, boolean allNames)static List<String>tokenize(String rawExcludes)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.codehaus.groovy.transform.ASTTransformation
visit
-
-
-
-
Field Detail
-
RETENTION_CLASSNODE
public static final ClassNode RETENTION_CLASSNODE
-
sourceUnit
protected SourceUnit sourceUnit
-
-
Method Detail
-
copyAnnotatedNodeAnnotations
protected List<AnnotationNode> copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, String myTypeName)
Copies all candidateAnnotations with retention policyRetentionPolicy.RUNTIMEandRetentionPolicy.CLASS.Annotations with
GeneratedClosuremembers are not supported for now.
-
copyAnnotatedNodeAnnotations
protected List<AnnotationNode> copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, String myTypeName, boolean includeGenerated)
Copies all candidateAnnotations with retention policyRetentionPolicy.RUNTIMEandRetentionPolicy.CLASS.Annotations with
GeneratedClosuremembers are not supported for now.
-
getAnnotationName
public String getAnnotationName()
If the transform is associated with a single annotation, returns a name suitable for displaying in error messages.- Returns:
- The simple name of the annotation including the "@" or null if no such name is defined
-
init
protected void init(ASTNode[] nodes, SourceUnit sourceUnit)
-
memberHasValue
public boolean memberHasValue(AnnotationNode node, String name, Object value)
-
getMemberValue
public Object getMemberValue(AnnotationNode node, String name)
-
getMemberStringValue
public static String getMemberStringValue(AnnotationNode node, String name, String defaultValue)
-
getMemberStringValue
public static String getMemberStringValue(AnnotationNode node, String name)
-
getMemberIntValue
public int getMemberIntValue(AnnotationNode node, String name)
-
getMemberClassValue
public ClassNode getMemberClassValue(AnnotationNode node, String name)
-
getMemberClassValue
public ClassNode getMemberClassValue(AnnotationNode node, String name, ClassNode defaultValue)
-
getMemberStringList
public static List<String> getMemberStringList(AnnotationNode anno, String name)
-
getMemberClassList
public List<ClassNode> getMemberClassList(AnnotationNode anno, String name)
-
addError
public void addError(String msg, ASTNode expr)
- Specified by:
addErrorin interfaceErrorCollecting
-
deemedInternalName
public static boolean deemedInternalName(String name)
-
shouldSkipUndefinedAware
public static boolean shouldSkipUndefinedAware(String name, List<String> excludes, List<String> includes)
-
shouldSkipUndefinedAware
public static boolean shouldSkipUndefinedAware(String name, List<String> excludes, List<String> includes, boolean allNames)
-
shouldSkip
public static boolean shouldSkip(String name, List<String> excludes, List<String> includes)
-
shouldSkip
public static boolean shouldSkip(String name, List<String> excludes, List<String> includes, boolean allNames)
-
shouldSkipOnDescriptorUndefinedAware
public static boolean shouldSkipOnDescriptorUndefinedAware(boolean checkReturn, Map genericsSpec, MethodNode mNode, List<ClassNode> excludeTypes, List<ClassNode> includeTypes)
-
checkIncludeExcludeUndefinedAware
protected boolean checkIncludeExcludeUndefinedAware(AnnotationNode node, List<String> excludes, List<String> includes, String typeName)
-
checkIncludeExcludeUndefinedAware
protected void checkIncludeExcludeUndefinedAware(AnnotationNode node, List<String> excludes, List<String> includes, List<ClassNode> excludeTypes, List<ClassNode> includeTypes, String typeName)
-
checkPropertyList
public boolean checkPropertyList(ClassNode cNode, List<String> propertyNameList, String listName, AnnotationNode anno, String typeName, boolean includeFields)
-
checkPropertyList
public boolean checkPropertyList(ClassNode cNode, List<String> propertyNameList, String listName, AnnotationNode anno, String typeName, boolean includeFields, boolean includeSuperProperties, boolean allProperties)
-
-