From: kpouer Date: Mon, 11 Aug 2003 22:24:37 +0000 (+0000) Subject: changed how special variables are detected X-Git-Url: http://secure.phpeclipse.com changed how special variables are detected --- diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/Variable.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/Variable.java index cd38e79..bd3c0fd 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/Variable.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/Variable.java @@ -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);