package org.develnext.jphp.core.tokenizer.token.expr.operator;
import php.runtime.common.Association;
import org.develnext.jphp.core.tokenizer.TokenType;
import org.develnext.jphp.core.tokenizer.TokenMeta;
import org.develnext.jphp.core.tokenizer.token.Token;
import org.develnext.jphp.core.tokenizer.token.expr.ExprToken;
import org.develnext.jphp.core.tokenizer.token.expr.OperatorExprToken;
import org.develnext.jphp.core.tokenizer.token.stmt.ExprStmtToken;
public class LogicOperatorExprToken extends OperatorExprToken {
private ExprStmtToken rightValue;
@Override
public Association getAssociation() {
return Association.LEFT;
}
@Override
public boolean isBinary() {
return false;
}
public LogicOperatorExprToken(TokenMeta meta, TokenType type) {
super(meta, type);
}
public ExprStmtToken getRightValue() {
return rightValue;
}
public void setRightValue(ExprStmtToken rightValue) {
this.rightValue = rightValue;
}
@Override
public Token getLast() {
if (rightValue == null) {
return null;
}
Token token = rightValue.getLast();
if (token instanceof ExprToken)
return ((ExprToken) token).getLast();
return token;
}
}