X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/FunctionCall.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/FunctionCall.java index 4e127ca..1d1e4c8 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/FunctionCall.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/FunctionCall.java @@ -1,18 +1,25 @@ package net.sourceforge.phpdt.internal.compiler.ast; +import java.util.List; +import java.util.ArrayList; + /** + * A Function call. * @author Matthieu Casanova */ public class FunctionCall extends AbstractSuffixExpression { - public Expression prefix; + /** the function name. */ + public Expression functionName; + + /** the arguments. */ public Expression[] args; - public FunctionCall(Expression prefix, - Expression[] args, - int sourceEnd) { + public FunctionCall(final Expression prefix, + final Expression[] args, + final int sourceEnd) { super(prefix.sourceStart, sourceEnd); - this.prefix = prefix; + this.functionName = prefix; this.args = args; } @@ -21,16 +28,47 @@ public class FunctionCall extends AbstractSuffixExpression { * @return the expression */ public String toStringExpression() { - final StringBuffer buff = new StringBuffer(prefix.toStringExpression()); + final StringBuffer buff = new StringBuffer(functionName.toStringExpression()); buff.append('('); - for (int i = 0; i < args.length; i++) { - Expression arg = args[i]; - if (i != 0) { - buff.append(','); + if (args != null) { + for (int i = 0; i < args.length; i++) { + final Expression arg = args[i]; + if (i != 0) { + buff.append(','); + } + buff.append(arg.toStringExpression()); } - buff.append(arg.toStringExpression()); } buff.append(')'); 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) { + if (args != null) { + for (int i = 0; i < args.length; i++) { + args[i].getModifiedVariable(list); + } + } + } + + /** + * Get the variables used. + */ + public void getUsedVariable(final List list) { + functionName.getUsedVariable(list); + if (args != null) { + for (int i = 0; i < args.length; i++) { + args[i].getUsedVariable(list); + } + } + } }