* 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;
+ /**
+ * 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) {
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 ...)
- * @return the variables from outside
*/
- public List getOutsideVariable() {
- return new ArrayList();
+ public void getOutsideVariable(final List list) {
}
/**
* get the modified variables.
- * @return the variables from we change value
*/
- public List getModifiedVariable() {
- return new ArrayList();
+ public void getModifiedVariable(final List list) {
}
/**
* Get the variables used.
- * @return the variables used
*/
- public List getUsedVariable() {
- return prefix.getUsedVariable();
+ public void getUsedVariable(final List list) {
+ prefix.getUsedVariable(list);
+ suffix.getUsedVariable(list);
}
}