59b2c23ccbeffecb853ddff2634d93be38b84107
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / ClassAccess.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 /**
4  * Any class access.
5  * @author Matthieu Casanova
6  */
7 public class ClassAccess extends AbstractSuffixExpression {
8
9   public static final int STATIC = 0;
10   public static final int NORMAL = 1;
11
12   public Expression prefix;
13   public Expression suffix;
14   public int type;
15
16   public ClassAccess(Expression prefix,
17                      Expression suffix,
18                      int type) {
19     super(prefix.sourceStart, suffix.sourceEnd);
20     this.prefix = prefix;
21     this.suffix = suffix;
22     this.type = type;
23   }
24
25   public String toStringOperator() {
26     switch (type) {
27       case STATIC : return "::"; //$NON-NLS-1$
28       case NORMAL : return "->"; //$NON-NLS-1$
29     }
30     return "unknown operator"; //$NON-NLS-1$
31   }
32
33   /**
34    * Return the expression as String.
35    * @return the expression
36    */
37   public String toStringExpression() {
38     final StringBuffer buff = new StringBuffer();
39     buff.append(prefix);
40     buff.append(toStringOperator());
41     buff.append(suffix.toStringExpression());
42     return buff.toString();
43   }
44 }