changed how special variables are detected
authorkpouer <kpouer>
Mon, 11 Aug 2003 22:24:37 +0000 (22:24 +0000)
committerkpouer <kpouer>
Mon, 11 Aug 2003 22:24:37 +0000 (22:24 +0000)
net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/Variable.java

index cd38e79..bd3c0fd 100644 (file)
@@ -4,6 +4,7 @@ import net.sourceforge.phpdt.internal.compiler.ast.declarations.VariableUsage;
 
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Arrays;
 
 /**
  * A variable.
@@ -18,12 +19,28 @@ public class Variable extends AbstractVariable {
   /** A variable inside ($$varname). */
   private AbstractVariable variable;
 
-  private static final String _GET = "_GET";
-  private static final String _POST = "_POST";
-  private static final String _REQUEST = "_REQUEST";
-  private static final String _SERVER = "_SERVER";
-  private static final String _SESSION = "_SESSION";
-  private static final String _this = "this";
+  public static final String _GET = "_GET";
+  public static final String _POST = "_POST";
+  public static final String _REQUEST = "_REQUEST";
+  public static final String _SERVER = "_SERVER";
+  public static final String _SESSION = "_SESSION";
+  public static final String _this = "this";
+  public static final String GLOBALS = "GLOBALS";
+  public static final String _COOKIE = "_COOKIE";
+  public static final String _FILES = "_FILES";
+  public static final String _ENV = "_ENV";
+
+  /** Here is an array of all superglobals variables and the special "this". */
+  public static final String[] SPECIAL_VARS = {_GET,
+                                               _POST,
+                                               _REQUEST,
+                                               _SERVER,
+                                               _SESSION,
+                                               _this,
+                                               GLOBALS,
+                                               _COOKIE,
+                                               _FILES,
+                                               _ENV};
 
   /**
    * Create a new simple variable.
@@ -93,12 +110,7 @@ public class Variable extends AbstractVariable {
     } else {
       varName = name;
     }
-    if (name.equals(_GET) ||
-        name.equals(_POST) ||
-        name.equals(_REQUEST) ||
-        name.equals(_SERVER) ||
-        name.equals(_SESSION) ||
-        name.equals(_this)) {
+    if (arrayContains(SPECIAL_VARS, name)) {
       return new ArrayList(1);
     }
     final ArrayList list = new ArrayList(1);