@Override public String generate(Context context) { StringBuilder buf = new StringBuilder(); try { buf.append("throw "); if (throwableType != null) { buf.append(ObjectBuilder.newInstanceOf(throwableType).withParameters(parameters).generate(context)); } else { VariableReference exceptionVar = context.getVariable(exceptionVariableName); if (!exceptionVar.getType().isAssignableTo(Throwable.class)) { throw new InvalidTypeException("Variable " + exceptionVariableName + " is not a Throwable"); } buf.append(exceptionVar.generate(context)); } } catch (GenerationException e) { blameAndRethrow(e); } return buf.toString(); } };
@Override public String generate(Context context) { StringBuilder buf = new StringBuilder(); try { buf.append("throw "); if (throwableType != null) { buf.append(ObjectBuilder.newInstanceOf(throwableType).withParameters(parameters).generate(context)); } else { VariableReference exceptionVar = context.getVariable(exceptionVariableName); if (!exceptionVar.getType().isAssignableTo(Throwable.class)) { throw new InvalidTypeException("Variable " + exceptionVariableName + " is not a Throwable"); } buf.append(exceptionVar.generate(context)); } } catch (GenerationException e) { blameAndRethrow(e); } return buf.toString(); } };
@Override public String generate(final Context context) { MetaClass referenceType = reference.getType(); final Statement[] indexes = reference.getIndexes(); if (indexes!=null) { for (final Statement index : indexes) { if (!referenceType.isArray()) throw new InvalidTypeException("Variable is not a " + indexes.length + "-dimensional array!"); referenceType = referenceType.getComponentType(); } } operator.assertCanBeApplied(referenceType); operator.assertCanBeApplied(statement.getType()); return reference.generate(context) + generateIndexes(context, indexes) + " " + operator.getCanonicalString() + " " + statement.generate(context); }
@Override public String generate(final Context context) { MetaClass referenceType = reference.getType(); final Statement[] indexes = reference.getIndexes(); if (indexes!=null) { for (final Statement index : indexes) { if (!referenceType.isArray()) throw new InvalidTypeException("Variable is not a " + indexes.length + "-dimensional array!"); referenceType = referenceType.getComponentType(); } } operator.assertCanBeApplied(referenceType); operator.assertCanBeApplied(statement.getType()); return reference.generate(context) + generateIndexes(context, indexes) + " " + operator.getCanonicalString() + " " + statement.generate(context); }