package uva.qls.ast.literal;
import uva.qls.ast.CodeLines;
import uva.qls.ast.statements.visitor.StatementVisitor;
import uva.qls.ast.value.StringValue;
public class StringLiteral extends Literal {
private String value;
public StringLiteral(CodeLines _codeLines){
super(_codeLines);
}
public StringLiteral(String _value, CodeLines _codeLines){
super(_codeLines);
this.value = _value;
}
@Override
public String toString(){
if (this.value != null) return "StringLiteral(" + this.value + ")";
else return "StringLiteral()";
}
@Override
public <T> T accept(StatementVisitor<T> visitor) {
return visitor.visitStringLiteral(this);
}
@Override
public StringValue evaluate() {
return new StringValue(this.value);
}
}