protected Statement assertStatement(AST assertNode) { AST node = assertNode.getFirstChild(); BooleanExpression booleanExpression = booleanExpression(node); Expression messageExpression = null; node = node.getNextSibling(); if (node != null) { messageExpression = expression(node); } else { messageExpression = ConstantExpression.NULL; } AssertStatement assertStatement = new AssertStatement(booleanExpression, messageExpression); configureAST(assertStatement, assertNode); return assertStatement; }
namedArgKey, callX(varX(mapParam), "keySet"), new AssertStatement(boolX(callX(list2args(propNames), "contains", varX(namedArgKey))), plusX(new ConstantExpression("Unrecognized namedArgKey: "), varX(namedArgKey))) ));
private boolean processExplicitNamedParam(MethodNode mNode, Parameter mapParam, BlockStatement inner, ArgumentListExpression args, List<String> propNames, Parameter fromParam) { AnnotationNode namedParam = fromParam.getAnnotations(NAMED_PARAM_TYPE).get(0); boolean required = memberHasValue(namedParam, "required", true); if (getMemberStringValue(namedParam, "value") == null) { namedParam.addMember("value", constX(fromParam.getName())); } String name = getMemberStringValue(namedParam, "value"); if (getMemberValue(namedParam, "type") == null) { namedParam.addMember("type", classX(fromParam.getType())); } if (hasDuplicates(mNode, propNames, name)) return false; // TODO check specified type is assignable from declared param type? // ClassNode type = getMemberClassValue(namedParam, "type"); if (required) { if (fromParam.hasInitialExpression()) { addError("Error during " + MY_TYPE_NAME + " processing. A required parameter can't have an initial value.", mNode); return false; } inner.addStatement(new AssertStatement(boolX(callX(varX(mapParam), "containsKey", args(constX(name)))), plusX(new ConstantExpression("Missing required named argument '" + name + "'. Keys found: "), callX(varX(mapParam), "keySet")))); } args.addExpression(propX(varX(mapParam), name)); mapParam.addAnnotation(namedParam); fromParam.getAnnotations().remove(namedParam); return true; }
new AssertStatement( new BooleanExpression( new BinaryExpression(
/** * Returns an instance of {@link AssertStatement} * <br><br> * * <strong>AST</strong> * <pre><code>assertS(booleanExpr)</code></pre> * * <strong>Result</strong> * <pre><code>assert 1 == 1</code></pre> * * @param booleanExpr the expression we want to check * @return an instance of {@link AssertStatement} * @since 0.1.5 */ public static AssertStatement assertS(final BooleanExpression booleanExpr) { return new AssertStatement(booleanExpr, A.EXPR.constX("Compilation assertion error")); }
/** * Returns an instance of {@link AssertStatement} * <br><br> * * <strong>AST</strong> * <pre><code>assertS(booleanExpr, "checking something important")</code></pre> * * <strong>Result</strong> * <pre><code>assert 1 == 1 : "checking something important"</code></pre> * * @param booleanExpr the expression we want to check * @param errorMessage the error message in case assertion fails * @return an instance of {@link AssertStatement} * @since 0.1.5 */ public static AssertStatement assertS(final BooleanExpression booleanExpr, final String errorMessage) { return new AssertStatement(booleanExpr, A.EXPR.constX(errorMessage)); }
/** * Reusable method for creating assert statements for the given <tt>booleanExpression</tt>. * * @param booleanExpression the assertion's {@link org.codehaus.groovy.ast.expr.BooleanExpression} * * @return a newly created {@link org.codehaus.groovy.ast.stmt.AssertStatement} */ public static AssertStatement getAssertionStatement(final BooleanExpression booleanExpression) { final AssertStatement assertStatement = new AssertStatement(booleanExpression); assertStatement.setStatementLabel((String) booleanExpression.getNodeMetaData("statementLabel")); assertStatement.setSourcePosition(booleanExpression); return assertStatement; }
protected Statement assertStatement(AST assertNode) { AST node = assertNode.getFirstChild(); BooleanExpression booleanExpression = booleanExpression(node); Expression messageExpression = null; node = node.getNextSibling(); if (node != null) { messageExpression = expression(node); } else { messageExpression = ConstantExpression.NULL; } AssertStatement assertStatement = new AssertStatement(booleanExpression, messageExpression); configureAST(assertStatement, assertNode); return assertStatement; }
protected Statement assertStatement(AST assertNode) { AST node = assertNode.getFirstChild(); BooleanExpression booleanExpression = booleanExpression(node); Expression messageExpression = null; node = node.getNextSibling(); if (node != null) { messageExpression = expression(node); } else { messageExpression = ConstantExpression.NULL; } AssertStatement assertStatement = new AssertStatement(booleanExpression, messageExpression); configureAST(assertStatement, assertNode); return assertStatement; }
protected Statement assertStatement(AST assertNode) { AST node = assertNode.getFirstChild(); BooleanExpression booleanExpression = booleanExpression(node); Expression messageExpression = null; node = node.getNextSibling(); if (node != null) { messageExpression = expression(node); } else { messageExpression = ConstantExpression.NULL; } AssertStatement assertStatement = new AssertStatement(booleanExpression, messageExpression); configureAST(assertStatement, assertNode); return assertStatement; }
protected Statement assertStatement(AST assertNode) { AST node = assertNode.getFirstChild(); BooleanExpression booleanExpression = booleanExpression(node); Expression messageExpression = null; node = node.getNextSibling(); if (node != null) { messageExpression = expression(node); } else { messageExpression = ConstantExpression.NULL; } AssertStatement assertStatement = new AssertStatement(booleanExpression, messageExpression); configureAST(assertStatement, assertNode); return assertStatement; }