9a9e409799c1254b1e6d21e4a71978d75587e498
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / StaticStatement.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 import net.sourceforge.phpdt.internal.compiler.ast.declarations.VariableUsage;
4
5 import java.util.List;
6 import java.util.ArrayList;
7
8 /**
9  * A GlobalStatement statement in php.
10  * @author Matthieu Casanova
11  */
12 public class StaticStatement extends Statement {
13
14   /** An array of the variables called by this global statement. */
15   public String[] variables;
16
17   public StaticStatement(final String[] variables, final int sourceStart, final int sourceEnd) {
18     super(sourceStart, sourceEnd);
19     this.variables = variables;
20   }
21
22   public String toString() {
23     final StringBuffer buff = new StringBuffer("static ");
24     for (int i = 0; i < variables.length; i++) {
25       if (i != 0) {
26         buff.append(", ");
27       }
28       buff.append(variables[i]);
29     }
30     return buff.toString();
31   }
32
33   public String toString(final int tab) {
34     return tabString(tab) + toString();
35   }
36
37   /**
38    * Get the variables from outside (parameters, globals ...)
39    * @return the variables from outside
40    */
41   public List getOutsideVariable() {
42     final ArrayList list = new ArrayList(variables.length);
43     for (int i = 0; i < variables.length; i++) {
44       list.add(new VariableUsage(variables[i], sourceStart));
45     }
46     return list;
47   }
48
49   /**
50    * get the modified variables.
51    * @return the variables modified
52    */
53   public List getModifiedVariable() {
54     return new ArrayList();
55   }
56
57   /**
58    * Get the variables used.
59    * @return the variables used
60    */
61   public List getUsedVariable() {
62     return new ArrayList();
63   }
64 }