[Java] Class GeneralUtils
- org.codehaus.groovy.ast.tools.GeneralUtils
Handy methods when working with the Groovy AST
Field Summary
Modifiers | Name | Description |
---|---|---|
static Token | AND | |
static Token | ASSIGN | |
static Token | CMP | |
static Token | EQ | |
static Token | LT | |
static Token | NE | |
static Token | OR |
Methods Summary
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Field Detail
public static final Token AND
public static final Token ASSIGN
public static final Token CMP
public static final Token EQ
public static final Token LT
public static final Token NE
public static final Token OR
Method Detail
public static BinaryExpression andX(Expression lhv, Expression rhv)
public static ArgumentListExpression args(Expression... expressions)
public static ArgumentListExpression args(List<Expression> expressions)
public static ArgumentListExpression args(Parameter[] parameters)
public static ArgumentListExpression args(String... names)
public static Statement assignS(Expression target, Expression value)
public static Expression assignX(Expression target, Expression value)
public static Expression attrX(Expression oe, Expression prop)
public static BinaryExpression binX(Expression left, Token token, Expression right)
public static BlockStatement block(VariableScope varScope, Statement... stmts)
public static BlockStatement block(VariableScope varScope, List<Statement> stmts)
public static BlockStatement block(Statement... stmts)
public static MethodCallExpression callSuperX(String methodName, Expression args)
public static MethodCallExpression callSuperX(String methodName)
public static MethodCallExpression callThisX(String methodName, Expression args)
public static MethodCallExpression callThisX(String methodName)
public static MethodCallExpression callX(Expression receiver, String methodName, Expression args)
public static MethodCallExpression callX(Expression receiver, Expression method, Expression args)
public static MethodCallExpression callX(Expression receiver, String methodName)
public static StaticMethodCallExpression callX(ClassNode receiver, String methodName, Expression args)
public static StaticMethodCallExpression callX(ClassNode receiver, String methodName)
public static CastExpression castX(ClassNode type, Expression expression)
public static CastExpression castX(ClassNode type, Expression expression, boolean ignoreAutoboxing)
public static CatchStatement catchS(Parameter variable, Statement code)
public static ClassExpression classX(ClassNode clazz)
public static ClassExpression classX(Class clazz)
public static Parameter[] cloneParams(Parameter[] source)
public static ClosureExpression closureX(Parameter[] params, Statement code)
public static ClosureExpression closureX(Statement code)
public static BinaryExpression cmpX(Expression lhv, Expression rhv)
public static ConstantExpression constX(Object val)
public static ConstantExpression constX(Object val, boolean keepPrimitive)
public static void copyAnnotatedNodeAnnotations(AnnotatedNode annotatedNode, List<AnnotationNode> copied, List<AnnotationNode> notCopied)
Copies all candidateAnnotations with retention policy RetentionPolicy.RUNTIME and RetentionPolicy.CLASS.
Annotations with GeneratedClosure members are not supported at present.
public static Statement createConstructorStatementDefault(FieldNode fNode)
public static Statement ctorSuperS(Expression args)
public static Statement ctorSuperS()
public static Statement ctorThisS(Expression args)
public static Statement ctorThisS()
public static ConstructorCallExpression ctorX(ClassNode type, Expression args)
public static ConstructorCallExpression ctorX(ClassNode type)
public static Statement declS(Expression target, Expression init)
public static BinaryExpression eqX(Expression lhv, Expression rhv)
public static BooleanExpression equalsNullX(Expression argExpr)
public static FieldExpression fieldX(FieldNode fieldNode)
public static FieldExpression fieldX(ClassNode owner, String fieldName)
public static Expression findArg(String argName)
public static List<MethodNode> getAllMethods(ClassNode type)
public static List<PropertyNode> getAllProperties(ClassNode type)
public static String getGetterName(PropertyNode pNode)
public static List<FieldNode> getInstanceNonPropertyFields(ClassNode cNode)
public static List<PropertyNode> getInstanceProperties(ClassNode cNode)
public static List<FieldNode> getInstancePropertyFields(ClassNode cNode)
public static Set<ClassNode> getInterfacesAndSuperInterfaces(ClassNode type)
public static List<FieldNode> getSuperNonPropertyFields(ClassNode cNode)
public static List<FieldNode> getSuperPropertyFields(ClassNode cNode)
public static Expression getterThisX(ClassNode annotatedNode, PropertyNode pNode)
This method is similar to propX(Expression, Expression) but will make sure that if the property being accessed is defined inside the classnode provided as a parameter, then a getter call is generated instead of a field access.
- Parameters:
-
annotatedNode
- the class node where the property node is accessed from -
pNode
- the property being accessed
- Returns:
- a method call expression or a property expression
@Deprecated public static Expression getterX(ClassNode annotatedNode, PropertyNode pNode)
- deprecated:
- use getterThisX instead
public static Expression getterX(ClassNode annotatedNode, Expression receiver, PropertyNode pNode)
This method is similar to propX(Expression, Expression) but will make sure that if the property being accessed is defined inside the classnode provided as a parameter, then a getter call is generated instead of a field access.
- Parameters:
-
annotatedNode
- the class node where the property node is accessed from -
receiver
- the object having the property -
pNode
- the property being accessed
- Returns:
- a method call expression or a property expression
public static BinaryExpression hasClassX(Expression instance, ClassNode cNode)
public static boolean hasDeclaredMethod(ClassNode cNode, String name, int argsCount)
public static BinaryExpression hasEqualFieldX(FieldNode fNode, Expression other)
public static BinaryExpression hasEqualPropertyX(PropertyNode pNode, Expression other)
public static BooleanExpression hasSameFieldX(FieldNode fNode, Expression other)
public static BooleanExpression hasSamePropertyX(PropertyNode pNode, Expression other)
public static Statement ifElseS(Expression cond, Statement thenStmt, Statement elseStmt)
public static Statement ifS(Expression cond, Expression trueExpr)
public static Statement ifS(Expression cond, Statement trueStmt)
public static Expression indexX(Expression target, Expression value)
public static BooleanExpression isInstanceOfX(Expression objectExpression, ClassNode cNode)
public static BooleanExpression isOneX(Expression expr)
public static boolean isOrImplements(ClassNode type, ClassNode interfaceType)
public static BooleanExpression isTrueX(Expression argExpr)
public static BooleanExpression isZeroX(Expression expr)
public static BinaryExpression ltX(Expression lhv, Expression rhv)
public static String makeDescriptorWithoutReturnType(MethodNode mn)
public static BinaryExpression neX(Expression lhv, Expression rhv)
public static BooleanExpression notNullX(Expression argExpr)
public static NotExpression notX(Expression expr)
public static BinaryExpression orX(Expression lhv, Expression rhv)
public static Parameter param(ClassNode type, String name)
public static Parameter param(ClassNode type, String name, Expression initialExpression)
public static Parameter[] params(Parameter... params)
public static BinaryExpression plusX(Expression lhv, Expression rhv)
public static Expression propX(Expression owner, String property)
public static Expression propX(Expression owner, Expression property)
public static Statement returnS(Expression expr)
public static Statement safeExpression(Expression fieldExpr, Expression expression)
public static BooleanExpression sameX(Expression self, Expression other)
public static Statement stmt(Expression expr)
public static TernaryExpression ternaryX(Expression cond, Expression trueExpr, Expression elseExpr)
public static ThrowStatement throwS(Expression expr)
public static VariableExpression varX(String name)
public static VariableExpression varX(Variable variable)
public static VariableExpression varX(String name, ClassNode type)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/ast/tools/GeneralUtils.html