69b361634b0033118cd12b37b550f045efb57eda
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / FieldDeclaration.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
4 import net.sourceforge.phpdt.internal.ui.PHPUiImages;
5 import org.eclipse.jface.resource.ImageDescriptor;
6 import org.eclipse.jface.text.Position;
7
8 /**
9  * A Field declaration.
10  * This is a variable declaration for a php class
11  * In fact it's an array of VariableDeclaration, since a field could contains
12  * several vars :
13  * var $toto,$tata;
14  * @author Matthieu Casanova
15  */
16 public class FieldDeclaration extends Statement implements Outlineable {
17
18   /** The variables. */
19   public VariableDeclaration[] vars;
20
21   private Object parent;
22   private Position position;
23   /**
24    * Create a new field.
25    * @param vars the array of variables.
26    * @param sourceStart the starting offset
27    * @param sourceEnd   the ending offset
28    */
29   public FieldDeclaration(VariableDeclaration[] vars, int sourceStart, int sourceEnd, Object parent) {
30     super(sourceStart, sourceEnd);
31     this.vars = vars;
32     this.parent = parent;
33     position = new Position(sourceStart, sourceEnd);
34   }
35
36   /**
37    * Return the object into String.
38    * @param tab how many tabs (not used here
39    * @return a String
40    */
41   public String toString(int tab) {
42     final StringBuffer buff = new StringBuffer(tabString(tab));
43     buff.append("var ");//$NON-NLS-1$
44     for (int i = 0; i < vars.length; i++) {
45       VariableDeclaration var = vars[i];
46       if (i != 0) {
47         buff.append(',');//$NON-NLS-1$
48       }
49       buff.append(var.toStringExpression());
50     }
51     return buff.toString();
52   }
53
54   /**
55    * Get the image of a variable.
56    * @return the image that represents a php variable
57    */
58   public ImageDescriptor getImage() {
59       return PHPUiImages.DESC_VAR;
60   }
61
62   public Object getParent() {
63     return parent;
64   }
65
66   public Position getPosition() {
67     return position;
68   }
69 }