package net.sourceforge.phpdt.internal.compiler.ast;
+import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
+import net.sourceforge.phpdt.internal.ui.PHPUiImages;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.text.Position;
+
+import java.util.List;
+import java.util.ArrayList;
+
/**
* A Field declaration.
* This is a variable declaration for a php class
- * In fact it's an array of VariableDeclaration, since a field could contains
- * several vars :
+ * In fact it's an array of VariableUsage, since a field could contains
+ * several var :
* var $toto,$tata;
* @author Matthieu Casanova
*/
-public class FieldDeclaration extends Statement {
+public class FieldDeclaration extends Statement implements Outlineable {
/** The variables. */
public VariableDeclaration[] vars;
+ private Object parent;
+ private Position position;
+
/**
* Create a new field.
* @param vars the array of variables.
* @param sourceStart the starting offset
* @param sourceEnd the ending offset
*/
- public FieldDeclaration(VariableDeclaration[] vars, int sourceStart, int sourceEnd) {
+ public FieldDeclaration(final VariableDeclaration[] vars,
+ final int sourceStart,
+ final int sourceEnd,
+ final Object parent) {
super(sourceStart, sourceEnd);
this.vars = vars;
+ this.parent = parent;
+ position = new Position(sourceStart, sourceEnd);
}
/**
* @param tab how many tabs (not used here
* @return a String
*/
- public String toString(int tab) {
+ public String toString(final int tab) {
final StringBuffer buff = new StringBuffer(tabString(tab));
- buff.append("var ");
+ buff.append("var ");//$NON-NLS-1$
for (int i = 0; i < vars.length; i++) {
- VariableDeclaration var = vars[i];
if (i != 0) {
- buff.append(',');
+ buff.append(",");//$NON-NLS-1$
}
- buff.append(var.toStringExpression());
+ buff.append(vars[i].toStringExpression());
}
return buff.toString();
}
+
+ /**
+ * Get the image of a variable.
+ * @return the image that represents a php variable
+ */
+ public ImageDescriptor getImage() {
+ return PHPUiImages.DESC_VAR;
+ }
+
+ public Object getParent() {
+ return parent;
+ }
+
+ public Position getPosition() {
+ return position;
+ }
+
+ /**
+ * Get the variables from outside (parameters, globals ...)
+ */
+ public void getOutsideVariable(final List list) {
+ }
+
+ /**
+ * get the modified variables.
+ */
+ public void getModifiedVariable(final List list) {
+ }
+
+ /**
+ * Get the variables used.
+ */
+ public void getUsedVariable(final List list) {
+ }
}