package uva.qls.ast.style;
import uva.qls.ast.CodeLines;
import uva.qls.ast.literal.IntLiteral;
import uva.qls.ast.statements.visitor.StatementVisitor;
import uva.qls.ast.value.NumberValue;
public class Width extends Style{
private IntLiteral width;
public Width(IntLiteral intLiteral, CodeLines _codeLines) {
super(_codeLines);
this.width = intLiteral;
}
public Integer evaluatedValue(){
return this.width.evaluate().getValue();
}
@Override
public <T> T accept(StatementVisitor<T> visitor) {
return visitor.visitWidth(this);
}
@Override
public NumberValue evaluate() {
return new NumberValue(this.width.evaluate().getValue());
}
@Override
public String getStyleType() {
return this.getClass().getName();
}
@Override
public String toString() {
return "Width(" + this.evaluatedValue().toString() + ")";
}
}