package net.sourceforge.phpdt.internal.compiler.ast; import java.util.List; import java.util.ArrayList; /** * Any class access. * @author Matthieu Casanova */ public class ClassAccess extends AbstractSuffixExpression { public static final int STATIC = 0; public static final int NORMAL = 1; public Expression prefix; public Expression suffix; public int type; public ClassAccess(final Expression prefix, final Expression suffix, final int type) { super(prefix.sourceStart, suffix.sourceEnd); this.prefix = prefix; this.suffix = suffix; this.type = type; } public String toStringOperator() { switch (type) { case STATIC : return "::"; //$NON-NLS-1$ case NORMAL : return "->"; //$NON-NLS-1$ } return "unknown operator"; //$NON-NLS-1$ } /** * Return the expression as String. * @return the expression */ public String toStringExpression() { final StringBuffer buff = new StringBuffer(); buff.append(prefix.toStringExpression()); buff.append(toStringOperator()); buff.append(suffix.toStringExpression()); return buff.toString(); } /** * Get the variables from outside (parameters, globals ...) * @return the variables from outside */ public List getOutsideVariable() { return new ArrayList(); } /** * get the modified variables. * @return the variables from we change value */ public List getModifiedVariable() { return new ArrayList(); } /** * Get the variables used. * @return the variables used */ public List getUsedVariable() { return prefix.getUsedVariable(); } }