3.x RC1 compatibility
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / VarAssignation.java
index 6fff25b..3c8699e 100644 (file)
@@ -1,11 +1,13 @@
 package net.sourceforge.phpdt.internal.compiler.ast;
 
+import java.util.List;
+
 /**
  * A Variable assignation.
  * $varname = initializer
  * @author Matthieu Casanova
  */
-public class VarAssignation extends Expression {
+public final class VarAssignation extends Expression {
 
   public static final int EQUAL = 0;
   public static final int PLUS_EQUAL = 1;
@@ -21,9 +23,9 @@ public class VarAssignation extends Expression {
   public static final int LSHIFT_EQUAL = 11;
   public static final int RSIGNEDSHIFT_EQUAL = 12;
 
-  public Expression variableName;
-  public Expression initializer;
-  public int operator;
+  public final Expression variableName;
+  public final Expression initializer;
+  public final int operator;
 
   /**
    * Create a new variable assignation.
@@ -46,9 +48,9 @@ public class VarAssignation extends Expression {
 
   /**
    * Return the operator as String.
-    * @return the operator
+   * @return the operator
    */
-  public final String operatorToString() {
+  public String operatorToString() {
     switch (operator) {
       case EQUAL:
         return "="; //$NON-NLS-1$
@@ -71,7 +73,7 @@ public class VarAssignation extends Expression {
       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:
@@ -85,11 +87,37 @@ public class VarAssignation extends Expression {
    * @return the expression
    */
   public String toStringExpression() {
-    final StringBuffer buff = new StringBuffer(variableName.toStringExpression());
+    final String varName = variableName.toStringExpression();
+    final String init = initializer.toStringExpression();
+    final String operatorString = operatorToString();
+    final StringBuffer buff = new StringBuffer(varName.length() + operatorString.length() + init.length() + 2);
+    buff.append(varName);
     buff.append(" ");//$NON-NLS-1$
-    buff.append(operatorToString());
+    buff.append(operatorString);
     buff.append(" ");//$NON-NLS-1$
-    buff.append(initializer.toStringExpression());
+    buff.append(init);
     return buff.toString();
   }
+
+
+  /**
+   * Get the variables from outside (parameters, globals ...)
+   */
+  public void getOutsideVariable(final List list) {
+  }
+
+  /**
+   * get the modified variables.
+   */
+  public void getModifiedVariable(final List list) {
+    variableName.getUsedVariable(list);
+    initializer.getModifiedVariable(list);
+  }
+
+  /**
+   * Get the variables used.
+   */
+  public void getUsedVariable(final List list) {
+    initializer.getUsedVariable(list);
+  }
 }