package org.develnext.jphp.core.tokenizer.token.expr.value;
import org.develnext.jphp.core.tokenizer.TokenMeta;
import org.develnext.jphp.core.tokenizer.TokenType;
import org.develnext.jphp.core.tokenizer.token.Token;
import org.develnext.jphp.core.tokenizer.token.expr.ValueExprToken;
import org.develnext.jphp.core.tokenizer.token.stmt.ExprStmtToken;
import java.util.List;
public class NewExprToken extends ValueExprToken implements CallableExprToken {
private Token name;
private ExprStmtToken exprName;
private List<ExprStmtToken> parameters;
public NewExprToken(TokenMeta meta) {
super(meta, TokenType.T_NEW);
}
public Token getName() {
return name;
}
public void setName(FulledNameToken name) {
this.name = name;
}
public void setName(SelfExprToken name) {
this.name = name;
}
public void setName(ExprStmtToken name){
this.exprName = name;
}
public void setName(StaticExprToken name){
this.name = name;
}
public boolean isDynamic(){
return exprName != null;
}
public List<ExprStmtToken> getParameters() {
return parameters;
}
public void setParameters(List<ExprStmtToken> parameters) {
this.parameters = parameters;
}
@Override
public boolean isNamedToken() {
return true;
}
public ExprStmtToken getExprName() {
return exprName;
}
}