package de.skuzzle.polly.core.parser.ast.expressions.literals; import de.skuzzle.polly.core.parser.Position; import de.skuzzle.polly.core.parser.ast.declarations.types.Type; import de.skuzzle.polly.core.parser.ast.expressions.Expression; import de.skuzzle.polly.core.parser.ast.visitor.ASTTraversalException; import de.skuzzle.polly.core.parser.ast.visitor.Transformation; public class UserLiteral extends StringLiteral { public UserLiteral(Position position, String value) { super(position, value, Type.USER); } @Override public String format(LiteralFormatter formatter) { return formatter.formatUser(this); } @Override public Literal castTo(Type type) throws ASTTraversalException { if (type == Type.STRING) { return new StringLiteral(this.getPosition(), this.getValue()); } return super.castTo(type); } @Override public Expression transform(Transformation transformation) throws ASTTraversalException { return transformation.transformUser(this); } }