X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/test/PHPVar.java b/net.sourceforge.phpeclipse/src/test/PHPVar.java new file mode 100644 index 0000000..aa2123c --- /dev/null +++ b/net.sourceforge.phpeclipse/src/test/PHPVar.java @@ -0,0 +1,96 @@ +package test; + +import net.sourceforge.phpeclipse.PHPeclipsePlugin; + +/** + * A Variable usage. It could be a first use, an in code use of an already declared var. + * In fact I'm not sure for the moment I will keep this + * @author Matthieu Casanova + */ +public class PHPVar { + + /** The name of the variable. It couldn't be changed. */ + private final String name; + + /** The value. It could change. */ + private String value; + + private String prefix; + + /** + * Does the variable have a value or not. + * If we don't know if it was initialized it should be set on true. + * (when we have a global keyword for example) + */ + private boolean initialized; + + /** This variable indicate if it is used or not in the code. */ + private boolean used; + + /** + * We initialize the name and the value of the variable. + * @param name the name of the variable + * @param value the value of the variable + */ + public PHPVar(String name, String value) { + this.name = name; + this.value = value; + initialized = value != null; + } + + /** + * We initialize the name of the variable. The value will be null + * @param name the name of the variable + */ + public PHPVar(String name) { + this.name = name; + } + + /** + * Initialize the variable name and set the initialization status. + * @param name the name of the variable + * @param initialized the initialization status (it should be true or it's unuseful) + */ + public PHPVar(String name, boolean initialized) { + this(name); + this.initialized = initialized; + } + + /** + * Give a prefix to the variable. + * @param prefix a prefix + */ + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + public void setUsed(boolean used) { + PHPeclipsePlugin.log(1,name + " is used"); + this.used = used; + } + + public String getName() { + return name; + } + + public boolean isUsed() { + return used; + } + + /** + * Return a human readable variable (: + * @return a string representation of the object. + */ + public String toString() { + if (value == null) { + if (prefix != null) { + return prefix + "$" + name; + } + return "$" + name; + } + if (prefix != null) { + return prefix + "$" + name + "=" + value; + } + return "$" + name + "=" + value; + } +}