public static final int LSHIFT_EQUAL = 11;
public static final int RSIGNEDSHIFT_EQUAL = 12;
- protected Variable variable;
+ protected AbstractVariable variable;
/** The value for variable initialization. */
public Expression initialization;
private Object parent;
private boolean reference;
+
private Position position;
private int operator;
/**
* Create a variable.
- * @param initialization the initialization
* @param variable the name of the variable
+ * @param initialization the initialization
+ * @param operator the assign operator
* @param sourceStart the start point
*/
public VariableDeclaration(final Object parent,
- final Variable variable,
+ final AbstractVariable variable,
final Expression initialization,
final int operator,
final int sourceStart) {
/**
* Create a variable.
- * @param name the name of the variable
+ * @param variable a variable (in case of $$variablename)
* @param sourceStart the start point
*/
public VariableDeclaration(final Object parent,
- final Variable variable,
+ final AbstractVariable variable,
final int sourceStart,
final int sourceEnd) {
super(sourceStart, sourceEnd);
this.variable = variable;
this.parent = parent;
+ position = new Position(sourceStart, sourceEnd);
}
public void setReference(final boolean reference) {
/**
* Create a variable.
* @param initialization the initialization
- * @param name the name of the variable
+ * @param variable a variable (in case of $$variablename)
* @param sourceStart the start point
*/
- public VariableDeclaration(final Variable variable,
+ public VariableDeclaration(final AbstractVariable variable,
final Expression initialization,
final int operator,
final int sourceStart) {
/**
* Create a variable.
- * @param name the name of the variable
+ * @param variable a variable (in case of $$variablename)
* @param sourceStart the start point
*/
- public VariableDeclaration(final Variable variable,
+ public VariableDeclaration(final AbstractVariable variable,
final int sourceStart) {
super(sourceStart, variable.sourceEnd);
this.variable = variable;
/**
* Get the variables from outside (parameters, globals ...)
- * @return the variables from outside
*/
- public List getOutsideVariable() {
- return new ArrayList();
+ public void getOutsideVariable(final List list) {
}
/**
* get the modified variables.
- * @return the variables from we change value
*/
- public List getModifiedVariable() {
- final ArrayList list = new ArrayList();
- list.addAll(variable.getModifiedVariable());
+ public void getModifiedVariable(final List list) {
+ variable.getUsedVariable(list);
if (initialization != null) {
- list.addAll(initialization.getModifiedVariable());
+ initialization.getModifiedVariable(list);
}
- return list;
}
/**
* Get the variables used.
- * @return the variables used
*/
- public List getUsedVariable() {
- final ArrayList list = new ArrayList();
+ public void getUsedVariable(final List list) {
if (initialization != null) {
- list.addAll(initialization.getModifiedVariable());//yes it's getModified variable (in a variable declaration $a = $b, $a is modified, event if you have only $a and no initialization
+ initialization.getUsedVariable(list);
}
- return list;
}
}