package org.develnext.jphp.core.tokenizer.token.expr.value;
import org.develnext.jphp.core.tokenizer.TokenType;
import org.develnext.jphp.core.tokenizer.TokenMeta;
import org.develnext.jphp.core.tokenizer.token.expr.ValueExprToken;
import org.develnext.jphp.core.tokenizer.token.stmt.ExprStmtToken;
public class StaticAccessExprToken extends ValueExprToken {
protected ValueExprToken clazz;
protected ValueExprToken field;
protected ExprStmtToken fieldExpr;
public StaticAccessExprToken(TokenMeta meta) {
super(meta, TokenType.T_DOUBLE_COLON);
}
public ValueExprToken getClazz() {
return clazz;
}
public void setClazz(ValueExprToken clazz) {
this.clazz = clazz;
}
public ValueExprToken getField() {
return field;
}
public void setField(ValueExprToken field) {
this.field = field;
}
public ExprStmtToken getFieldExpr() {
return fieldExpr;
}
public void setFieldExpr(ExprStmtToken fieldExpr) {
this.fieldExpr = fieldExpr;
}
public boolean isGetStaticField(){
return field instanceof VariableExprToken;
}
public boolean isGetMethod(){
return field instanceof NameToken;
}
public boolean isAsParent(){
return clazz.getLast() instanceof ParentExprToken;
}
}