X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArgumentDeclaration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArgumentDeclaration.java index e2fa5f4..c961dd1 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArgumentDeclaration.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArgumentDeclaration.java @@ -3,32 +3,32 @@ package net.sourceforge.phpdt.internal.compiler.ast; /** * An argument declaration. + * * @author Matthieu Casanova */ -public class ArgumentDeclaration extends VariableDeclaration { - - /** The argument is a reference or not. */ - public boolean reference; +public final class ArgumentDeclaration extends VariableDeclaration { /** * Create an argument. - * @param name the name - * @param reference the variable is a reference ? + * + * @param name the name + * @param reference the variable is a reference ? * @param initialization the initialization - * @param sourceStart the start point + * @param sourceStart the start point */ public ArgumentDeclaration(final Variable name, final boolean reference, final Expression initialization, final int sourceStart) { - super(name, initialization,VariableDeclaration.EQUAL, sourceStart); + super(name, initialization, VariableDeclaration.EQUAL, sourceStart); this.reference = reference; } /** * Create an argument. - * @param name the name - * @param reference the variable is a reference ? + * + * @param name the name + * @param reference the variable is a reference ? * @param sourceStart the start point */ public ArgumentDeclaration(final Variable name, @@ -37,22 +37,32 @@ public class ArgumentDeclaration extends VariableDeclaration { super(name, sourceStart); this.reference = reference; } + /** * Return the expression as String. + * * @return the expression */ public String toStringExpression() { - final StringBuffer buff; - if (reference) { - buff = new StringBuffer("&"); + if (initialization == null) { + if (reference) { + return '&' + variable.toStringExpression(); + } else { + return variable.toStringExpression(); + } } else { - buff = new StringBuffer(); - } - buff.append(variable.toStringExpression()); - if (initialization != null) { + final String variableString = variable.toStringExpression(); + final String initializationString = initialization.toStringExpression(); + final StringBuffer buff = new StringBuffer(4 + + variableString.length() + + initializationString.length()); + if (reference) { + buff.append('&'); + } + buff.append(variableString); buff.append(" = "); - buff.append(initialization.toStringExpression()); + buff.append(initializationString); + return buff.toString(); } - return buff.toString(); } }