X-Git-Url: http://git.phpeclipse.com 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 69163ca..cd38e79 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 @@ -18,13 +18,22 @@ 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"; + /** * Create a new simple variable. * @param name the name * @param sourceStart the starting position * @param sourceEnd the ending position */ - public Variable(final String name, final int sourceStart, final int sourceEnd) { + public Variable(final String name, + final int sourceStart, + final int sourceEnd) { super(sourceStart, sourceEnd); this.name = name; } @@ -35,7 +44,9 @@ public class Variable extends AbstractVariable { * @param sourceStart the starting position * @param sourceEnd the ending position */ - public Variable(final AbstractVariable variable, final int sourceStart, final int sourceEnd) { + public Variable(final AbstractVariable variable, + final int sourceStart, + final int sourceEnd) { super(sourceStart, sourceEnd); this.variable = variable; } @@ -76,12 +87,22 @@ public class Variable extends AbstractVariable { * @return the variables used */ public List getUsedVariable() { - final ArrayList list = new ArrayList(1); + final String varName; if (name == null) { - list.add(new VariableUsage(variable.getName(), getSourceStart())); + varName = variable.getName(); } else { - list.add(new VariableUsage(name, getSourceStart())); + varName = name; } + if (name.equals(_GET) || + name.equals(_POST) || + name.equals(_REQUEST) || + name.equals(_SERVER) || + name.equals(_SESSION) || + name.equals(_this)) { + return new ArrayList(1); + } + final ArrayList list = new ArrayList(1); + list.add(new VariableUsage(varName, sourceStart)); return list; } }