X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/VariableDeclaration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/VariableDeclaration.java index 20a3c26..8d08f65 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/VariableDeclaration.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/VariableDeclaration.java @@ -1,7 +1,6 @@ package net.sourceforge.phpdt.internal.compiler.ast; import net.sourceforge.phpdt.internal.compiler.parser.Outlineable; -import net.sourceforge.phpdt.internal.compiler.ast.declarations.VariableUsage; import net.sourceforge.phpdt.internal.ui.PHPUiImages; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.text.Position; @@ -29,25 +28,27 @@ public class VariableDeclaration extends Expression implements Outlineable { 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) { @@ -61,16 +62,17 @@ public class VariableDeclaration extends Expression implements Outlineable { /** * 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) { @@ -80,10 +82,10 @@ public class VariableDeclaration extends Expression implements Outlineable { /** * 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) { @@ -95,10 +97,10 @@ public class VariableDeclaration extends Expression implements Outlineable { /** * 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; @@ -192,7 +194,7 @@ public class VariableDeclaration extends Expression implements Outlineable { * @return the variables from outside */ public List getOutsideVariable() { - return new ArrayList(); + return new ArrayList(1); } /** @@ -200,8 +202,7 @@ public class VariableDeclaration extends Expression implements Outlineable { * @return the variables from we change value */ public List getModifiedVariable() { - final ArrayList list = new ArrayList(); - list.addAll(variable.getModifiedVariable()); + final List list = variable.getUsedVariable(); if (initialization != null) { list.addAll(initialization.getModifiedVariable()); } @@ -213,10 +214,9 @@ public class VariableDeclaration extends Expression implements Outlineable { * @return the variables used */ public List getUsedVariable() { - final ArrayList list = new ArrayList(); 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 + return initialization.getUsedVariable(); } - return list; + return new ArrayList(1); } }