public abstract class AstUtils extends Object
| Constructor and Description | 
|---|
| AstUtils() | 
| Modifier and Type | Method and Description | 
|---|---|
| static org.codehaus.groovy.ast.expr.ClosureExpression | getClosure(org.codehaus.groovy.ast.stmt.BlockStatement block,
          String name) | 
| static org.codehaus.groovy.ast.expr.ClosureExpression | getClosure(org.codehaus.groovy.ast.stmt.BlockStatement block,
          String name,
          boolean remove)Extract a top-level  nameclosure from inside this block if there is one,
 optionally removing it from the block at the same time. | 
| static boolean | hasAtLeastOneAnnotation(org.codehaus.groovy.ast.AnnotatedNode node,
                       String... annotations)Determine if an  AnnotatedNodehas one or more of the specified annotations. | 
| static boolean | hasAtLeastOneAnnotation(org.codehaus.groovy.ast.ClassNode node,
                       String... annotations)Determine if a  ClassNodehas one or more of the specified annotations on
 the class or any of its methods. | 
| static boolean | hasAtLeastOneFieldOrMethod(org.codehaus.groovy.ast.ClassNode node,
                          String... types)Determine if a  ClassNodehas one or more fields of the specified types or
 method returning one or more of the specified types. | 
| static boolean | hasAtLeastOneInterface(org.codehaus.groovy.ast.ClassNode classNode,
                      String... types) | 
| static boolean | subclasses(org.codehaus.groovy.ast.ClassNode node,
          String... types)Determine if a  ClassNodesubclasses any of the specified types N.B. | 
public static boolean hasAtLeastOneAnnotation(org.codehaus.groovy.ast.ClassNode node,
                                              String... annotations)
ClassNode has one or more of the specified annotations on
 the class or any of its methods. N.B. the type names are not normally fully
 qualified.node - the class to examineannotations - the annotations to look fortrue if at least one of the annotations is found, otherwise
 falsepublic static boolean hasAtLeastOneAnnotation(org.codehaus.groovy.ast.AnnotatedNode node,
                                              String... annotations)
AnnotatedNode has one or more of the specified annotations.
 N.B. the annotation type names are not normally fully qualified.node - the node to examineannotations - the annotations to look fortrue if at least one of the annotations is found, otherwise
 falsepublic static boolean hasAtLeastOneFieldOrMethod(org.codehaus.groovy.ast.ClassNode node,
                                                 String... types)
ClassNode has one or more fields of the specified types or
 method returning one or more of the specified types. N.B. the type names are not
 normally fully qualified.node - the class to examinetypes - the types to look fortrue if at least one of the types is found, otherwise falsepublic static boolean subclasses(org.codehaus.groovy.ast.ClassNode node,
                                 String... types)
ClassNode subclasses any of the specified types N.B. the
 type names are not normally fully qualified.node - the class to examinetypes - the types that may have been sub-classedtrue if the class subclasses any of the specified types, otherwise
 falsepublic static boolean hasAtLeastOneInterface(org.codehaus.groovy.ast.ClassNode classNode,
                                             String... types)
public static org.codehaus.groovy.ast.expr.ClosureExpression getClosure(org.codehaus.groovy.ast.stmt.BlockStatement block,
                                                                        String name,
                                                                        boolean remove)
name closure from inside this block if there is one,
 optionally removing it from the block at the same time.block - a block statement (class definition)name - the name to look forremove - whether or not the extracted closure should be removedpublic static org.codehaus.groovy.ast.expr.ClosureExpression getClosure(org.codehaus.groovy.ast.stmt.BlockStatement block,
                                                                        String name)
Copyright © 2021 Pivotal Software, Inc.. All rights reserved.