/**
* @author Matthieu Casanova
*/
-public class ForeachStatement extends Statement {
+public final class ForeachStatement extends Statement {
- public Expression expression;
- public Expression variable;
- public Statement statement;
+ private final Expression expression;
+ private final Expression variable;
+ private final Statement statement;
public ForeachStatement(final Expression expression,
final Expression variable,
/**
* Return the object into String.
+ *
* @param tab how many tabs (not used here
* @return a String
*/
public String toString(final int tab) {
- final StringBuffer buff = new StringBuffer(tabString(tab));
+ final String expressionString = expression.toStringExpression();
+ final String variableString = variable.toStringExpression();
+ final String statementString = statement.toString(tab + 1);
+ final StringBuffer buff = new StringBuffer(tab +
+ expressionString.length() +
+ variableString.length() +
+ statementString.length() + 18);
+ buff.append(tabString(tab));
buff.append("foreach (");
- buff.append(expression.toStringExpression());
+ buff.append(expressionString);
buff.append(" as ");
- buff.append(variable.toStringExpression());
+ buff.append(variableString);
buff.append(" {\n");
- buff.append(statement.toString(tab+1));
+ buff.append(statementString);
buff.append("\n}");
return buff.toString();
}
/**
* Get the variables from outside (parameters, globals ...)
+ *
+ * @param list the list where we will put variables
*/
public void getOutsideVariable(final List list) {
expression.getOutsideVariable(list);
/**
* get the modified variables.
+ *
+ * @param list the list where we will put variables
*/
public void getModifiedVariable(final List list) {
expression.getModifiedVariable(list);
/**
* Get the variables used.
+ *
+ * @param list the list where we will put variables
*/
public void getUsedVariable(final List list) {
expression.getUsedVariable(list);