changes about variables
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / ClassAccess.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 import java.util.List;
4 import java.util.ArrayList;
5
6 /**
7  * Any class access.
8  * @author Matthieu Casanova
9  */
10 public class ClassAccess extends AbstractSuffixExpression {
11
12   public static final int STATIC = 0;
13   public static final int NORMAL = 1;
14
15   public Expression prefix;
16   public Expression suffix;
17   public int type;
18
19   public ClassAccess(final Expression prefix,
20                      final Expression suffix,
21                      final int type) {
22     super(prefix.sourceStart, suffix.sourceEnd);
23     this.prefix = prefix;
24     this.suffix = suffix;
25     this.type = type;
26   }
27
28   public String toStringOperator() {
29     switch (type) {
30       case STATIC : return "::"; //$NON-NLS-1$
31       case NORMAL : return "->"; //$NON-NLS-1$
32     }
33     return "unknown operator"; //$NON-NLS-1$
34   }
35
36   /**
37    * Return the expression as String.
38    * @return the expression
39    */
40   public String toStringExpression() {
41     final StringBuffer buff = new StringBuffer();
42     buff.append(prefix.toStringExpression());
43     buff.append(toStringOperator());
44     buff.append(suffix.toStringExpression());
45     return buff.toString();
46   }
47
48           /**
49    * Get the variables from outside (parameters, globals ...)
50    * @return the variables from outside
51    */
52   public List getOutsideVariable() {
53     return new ArrayList();
54   }
55
56   /**
57    * get the modified variables.
58    * @return the variables from we change value
59    */
60   public List getModifiedVariable() {
61     return new ArrayList();
62   }
63
64   /**
65    * Get the variables used.
66    * @return the variables used
67    */
68   public List getUsedVariable() {
69     return prefix.getUsedVariable();
70   }
71 }