@Override public String generate(final Context context) { final StringBuilder parms = new StringBuilder(); for (int i = 0; i < parameters.length; i++) { parms.append(GenUtil.generate(context, parameters[i])); if (i + 1 < parameters.length) parms.append(", "); } return methodName + "(" + parms.toString() + ")"; }
@Override public String generate(final Context context) { final StringBuilder parms = new StringBuilder(); for (int i = 0; i < parameters.length; i++) { parms.append(GenUtil.generate(context, parameters[i])); if (i + 1 < parameters.length) parms.append(", "); } return methodName + "(" + parms.toString() + ")"; }
public static Statement[] generateCallParameters(final Context context, final Object... parameters) { return Arrays.stream(parameters).map(p -> generate(context, p)).toArray(s -> new Statement[s]); }
public static Statement[] generateCallParameters(final Context context, final Object... parameters) { return Arrays.stream(parameters).map(p -> generate(context, p)).toArray(s -> new Statement[s]); }
@Override public BlockBuilder<StatementEnd> while_(BooleanOperator op, Object rhs) { return while_(op, GenUtil.generate(context, rhs)); }
@Override public BlockBuilder<ElseBlockBuilder> elseif_(Statement lhs, BooleanOperator op, Object rhs) { return elseif_(lhs, op, GenUtil.generate(context, rhs)); }
@Override public BlockBuilder<StatementEnd> while_(BooleanOperator op, Object rhs) { return while_(op, GenUtil.generate(context, rhs)); }
@Override public BlockBuilder<ElseBlockBuilder> elseif_(Statement lhs, BooleanOperator op, Object rhs) { return elseif_(lhs, op, GenUtil.generate(context, rhs)); }
private static String renderInlineArrayLiteral(final Context context, final Object arrayInstance) { final StringBuilder builder = new StringBuilder("{ "); final int length = Array.getLength(arrayInstance); Object element; for (int i = 0; i < length; i++) { element = Array.get(arrayInstance, i); if (element == null) { builder.append("null"); } else if (element.getClass().isArray()) { builder.append(renderInlineArrayLiteral(context, element)); } else { builder.append(GenUtil.generate(context, element).generate(context)); } if (i + 1 < length) { builder.append(", "); } } return builder.append(" }").toString(); }
private MetaClass inferType(final Context context, final Object initialization) { final Statement initStatement = GenUtil.generate(context, initialization); final MetaClass inferredType = (initStatement != null) ? initStatement.getType() : null; if (inferredType == null) { throw new InvalidTypeException("No type specified and no initialization provided to infer the type."); } return inferredType; }
@Override public void handleCall(final CallWriter writer, final Context context, final Statement statement) { try { nextOrReturn(writer, context, GenUtil.generate(context, value)); } catch (GenerationException e) { blameAndRethrow(e); } }
@Override public BlockBuilder<ElseBlockBuilder> if_(BooleanOperator op, Object rhs) { final Statement rhsStatement = GenUtil.generate(context, rhs); return if_(new BooleanExpressionBuilder(rhsStatement, op)); }
@Override public void handleCall(final CallWriter writer, final Context context, final Statement statement) { try { nextOrReturn(writer, context, GenUtil.generate(context, value)); } catch (GenerationException e) { blameAndRethrow(e); } }
@Override public BlockBuilder<ElseBlockBuilder> if_(BooleanOperator op, Object rhs) { final Statement rhsStatement = GenUtil.generate(context, rhs); return if_(new BooleanExpressionBuilder(rhsStatement, op)); }
private MetaClass inferType(final Context context, final Object initialization) { final Statement initStatement = GenUtil.generate(context, initialization); final MetaClass inferredType = (initStatement != null) ? initStatement.getType() : null; if (inferredType == null) { throw new InvalidTypeException("No type specified and no initialization provided to infer the type."); } return inferredType; }
private void generateInitialization(Context context, StringBuilder buf, Object values) { buf.append("{ "); int length = Array.getLength(values); for (int i = 0; i < length; i++) { Object element = Array.get(values, i); if (element.getClass().isArray()) { generateInitialization(context, buf, element); } else { Statement statement = GenUtil.generate(context, element); String statementExpr = statement.generate(context); GenUtil.assertAssignableTypes(context, statement.getType(), componentType); buf.append(statementExpr); } if (i + 1 < length) { buf.append(", "); } } buf.append(" }"); } }
@Override public String generate(final Context context) { if (operator == null) { lhs = GenUtil.generate(context, lhs); lhs = GenUtil.convert(context, lhs, MetaClassFactory.get(Boolean.class)); } if (negated) { return UnaryOperator.Complement.getCanonicalString().concat("(") + super.generate(context).concat(")"); } return super.generate(context); }
@Override public String generate(final Context context) { if (operator == null) { lhs = GenUtil.generate(context, lhs); lhs = GenUtil.convert(context, lhs, MetaClassFactory.get(Boolean.class)); } if (negated) { return UnaryOperator.Complement.getCanonicalString().concat("(") + super.generate(context).concat(")"); } return super.generate(context); }
@Override public String generate(final Context context) { if (operator == null) { lhs = GenUtil.generate(context, lhs); lhs = GenUtil.convert(context, lhs, MetaClassFactory.get(Boolean.class)); } return super.generate(context); }
@Override public String generate(final Context context) { if (operator == null) { lhs = GenUtil.generate(context, lhs); lhs = GenUtil.convert(context, lhs, MetaClassFactory.get(Boolean.class)); } return super.generate(context); }