package net.sourceforge.phpdt.internal.compiler.ast;
/**
+ * A Variable assignation.
+ * $varname = initializer
* @author Matthieu Casanova
*/
public class VarAssignation extends Expression {
public static final int LSHIFT_EQUAL = 11;
public static final int RSIGNEDSHIFT_EQUAL = 12;
- public char[] variable;
- public Expression expression;
+ public Expression variableName;
+ public Expression initializer;
public int operator;
-
- public VarAssignation(char[] variable,
- Expression expression,
- int operator,
- int sourceStart,
- int sourceEnd) {
+ /**
+ * Create a new variable assignation.
+ * @param variableName the name of the variable
+ * @param initializer the expression in initializer
+ * @param operator the operator of assignation
+ * @param sourceStart the sourceStart
+ * @param sourceEnd the sourceEnd
+ */
+ public VarAssignation(final Expression variableName,
+ final Expression initializer,
+ final int operator,
+ final int sourceStart,
+ final int sourceEnd) {
super(sourceStart, sourceEnd);
- this.variable = variable;
- this.expression = expression;
+ this.variableName = variableName;
+ this.initializer = initializer;
this.operator = operator;
}
- public String operatorToString() {
+ /**
+ * Return the operator as String.
+ * @return the operator
+ */
+ public final String operatorToString() {
switch (operator) {
case EQUAL:
return "="; //$NON-NLS-1$
case REM_EQUAL:
return "%="; //$NON-NLS-1$
case TILDE_EQUAL:
- return " ="; //$NON-NLS-1$
+ return "~="; //$NON-NLS-1$
case LSHIFT_EQUAL:
return "<<="; //$NON-NLS-1$
case RSIGNEDSHIFT_EQUAL:
return ">>="; //$NON-NLS-1$
}
- return " unknown operator ";
+ return " unknown operator ";//$NON-NLS-1$
}
/**
* @return the expression
*/
public String toStringExpression() {
- final StringBuffer buff = new StringBuffer();
- buff.append(variable);
- buff.append(" ");
+ final StringBuffer buff = new StringBuffer(variableName.toStringExpression());
+ buff.append(" ");//$NON-NLS-1$
buff.append(operatorToString());
- buff.append(" ");
- buff.append(expression.toStringExpression());
+ buff.append(" ");//$NON-NLS-1$
+ buff.append(initializer.toStringExpression());
return buff.toString();
}
}