public static BooleanExpression boolX(Expression boolExpr) { return new BooleanExpression(boolExpr); }
public static Statement ifElseS(Expression cond, Statement thenStmt, Statement elseStmt) { return new IfStatement( cond instanceof BooleanExpression ? (BooleanExpression) cond : new BooleanExpression(cond), thenStmt, elseStmt ); }
public static Statement ifS(Expression cond, Statement trueStmt) { return new IfStatement( cond instanceof BooleanExpression ? (BooleanExpression) cond : new BooleanExpression(cond), trueStmt, EmptyStatement.INSTANCE ); }
public static TernaryExpression ternaryX(Expression cond, Expression trueExpr, Expression elseExpr) { return new TernaryExpression( cond instanceof BooleanExpression ? (BooleanExpression) cond : new BooleanExpression(cond), trueExpr, elseExpr); }
private static BooleanExpression getBool(Expression base) { BooleanExpression be = new BooleanExpression(base); be.setSourcePosition(base); return be; }
@Override public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression) { MethodCallExpression condition = new MethodCallExpression( logVariable, "is" + methodName.substring(0, 1).toUpperCase(Locale.ENGLISH) + methodName.substring(1) + "Enabled", ArgumentListExpression.EMPTY_ARGUMENTS); condition.setImplicitThis(false); return new TernaryExpression( new BooleanExpression(condition), originalExpression, ConstantExpression.NULL); } }
@Override public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression) { MethodCallExpression condition = new MethodCallExpression( logVariable, "is" + methodName.substring(0, 1).toUpperCase(Locale.ENGLISH) + methodName.substring(1) + "Enabled", ArgumentListExpression.EMPTY_ARGUMENTS); condition.setImplicitThis(false); return new TernaryExpression( new BooleanExpression(condition), originalExpression, ConstantExpression.NULL); } }
@Override public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression) { MethodCallExpression condition = new MethodCallExpression( logVariable, "is" + methodName.substring(0, 1).toUpperCase(Locale.ENGLISH) + methodName.substring(1) + "Enabled", ArgumentListExpression.EMPTY_ARGUMENTS); condition.setImplicitThis(false); return new TernaryExpression( new BooleanExpression(condition), originalExpression, ConstantExpression.NULL); } }
protected BooleanExpression booleanExpression(AST node) { BooleanExpression booleanExpression = new BooleanExpression(expression(node)); configureAST(booleanExpression, node); return booleanExpression; }
public static BooleanExpression sameX(Expression self, Expression other) { return new BooleanExpression(callX(self, "is", args(other))); }
public Expression transformExpression(ExpressionTransformer transformer) { Expression ret = new BooleanExpression(transformer.transform(expression)); ret.setSourcePosition(this); ret.copyNodeMetaData(this); return ret; }
public static BooleanExpression equalsNullX(Expression argExpr) { return new BooleanExpression(eqX(argExpr, new ConstantExpression(null))); }
public static BooleanExpression isInstanceOfX(Expression objectExpression, ClassNode cNode) { return new BooleanExpression(new BinaryExpression(objectExpression, INSTANCEOF, classX(cNode))); }
@Override public void visitBooleanExpression(BooleanExpression expr) { BooleanExpression conversion = new BooleanExpression( convert(expr.getExpression()) ); conversion.setSourcePosition(expr); result = recordNa(conversion); }
@Override public void visitBooleanExpression(BooleanExpression expr) { BooleanExpression result = new BooleanExpression( replaceExpr(expr.getExpression())); result.setType(expr.getType()); result.setSourcePosition(expr); replaceVisitedExpressionWith(result); }
public static BooleanExpression isZeroX(Expression expr) { return new BooleanExpression(new BinaryExpression(expr, EQ, new ConstantExpression(0))); }
public static BooleanExpression notNullX(Expression argExpr) { return new BooleanExpression(new BinaryExpression(argExpr, NE, new ConstantExpression(null))); }
public static BooleanExpression isOneX(Expression expr) { return new BooleanExpression(new BinaryExpression(expr, EQ, new ConstantExpression(1))); }
private TernaryExpression createStaticReceiver(final Expression receiver) { return new TernaryExpression( new BooleanExpression(new BinaryExpression( receiver, Token.newSymbol(Types.KEYWORD_INSTANCEOF, -1, -1), new ClassExpression(ClassHelper.CLASS_Type) )), receiver, new MethodCallExpression(createFieldHelperReceiver(), "getClass", ArgumentListExpression.EMPTY_ARGUMENTS) ); }
private CatchStatement createHandleSuppressedThrowableStatement(VariableExpression featureThrowableVar) { Parameter catchParameter = new Parameter(nodeCache.Throwable, "$spock_tmp_throwable"); MethodCallExpression addSuppressedCall = new MethodCallExpression(featureThrowableVar, "addSuppressed", new ArgumentListExpression(new VariableExpression(catchParameter))); BinaryExpression featureThrowableNotNullExpr = createVariableNotNullExpression(featureThrowableVar); List<Statement> addSuppressedStats = Collections.<Statement>singletonList(new ExpressionStatement(addSuppressedCall)); List<Statement> throwFeatureStats = Collections.<Statement>singletonList(new ThrowStatement(new VariableExpression(catchParameter))); IfStatement ifFeatureNotNullStat = new IfStatement(new BooleanExpression(featureThrowableNotNullExpr), new BlockStatement(addSuppressedStats, new VariableScope()), new BlockStatement(throwFeatureStats, new VariableScope())); return new CatchStatement(catchParameter, new BlockStatement( Collections.<Statement>singletonList(ifFeatureNotNullStat), new VariableScope())); }