X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ClassAccess.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ClassAccess.java index 59b2c23..303b62a 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ClassAccess.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ClassAccess.java @@ -1,21 +1,36 @@ package net.sourceforge.phpdt.internal.compiler.ast; +import java.util.List; + /** * Any class access. * @author Matthieu Casanova */ -public class ClassAccess extends AbstractSuffixExpression { +public class ClassAccess extends AbstractVariable { + /** a static class access : "::" */ public static final int STATIC = 0; + + /** a normal class access : "->" */ public static final int NORMAL = 1; public Expression prefix; + + /** the suffix. */ public Expression suffix; + + /** the type of access. */ public int type; - public ClassAccess(Expression prefix, - Expression suffix, - int type) { + /** + * Create a new class access. + * @param prefix + * @param suffix + * @param type the type of access {@link #STATIC} or {@link #NORMAL} + */ + public ClassAccess(final Expression prefix, + final Expression suffix, + final int type) { super(prefix.sourceStart, suffix.sourceEnd); this.prefix = prefix; this.suffix = suffix; @@ -36,9 +51,40 @@ public class ClassAccess extends AbstractSuffixExpression { */ public String toStringExpression() { final StringBuffer buff = new StringBuffer(); - buff.append(prefix); + buff.append(prefix.toStringExpression()); buff.append(toStringOperator()); buff.append(suffix.toStringExpression()); return buff.toString(); } + + /** + * todo: find a better way to handle this + * @return + */ + public String getName() { + if (prefix instanceof AbstractVariable) { + return ((AbstractVariable)prefix).getName(); + } + return prefix.toStringExpression(); + } + + /** + * Get the variables from outside (parameters, globals ...) + */ + public void getOutsideVariable(final List list) { + } + + /** + * get the modified variables. + */ + public void getModifiedVariable(final List list) { + } + + /** + * Get the variables used. + */ + public void getUsedVariable(final List list) { + prefix.getUsedVariable(list); + suffix.getUsedVariable(list); + } }