package parser.ast.function;
import interfaces.DataType;
import lexer.Token;
import parser.ast.ASTNode;
import java.util.ArrayList;
import java.util.List;
public class FunctionRetDefNode extends ASTNode implements DataType {
private Token type;
public FunctionRetDefNode() {
super();
setTokens(new ArrayList<>());
setType(new Token(Token.TokenType.NULL, ""));
}
public FunctionRetDefNode(ASTNode node) {
super(node);
}
public FunctionRetDefNode(List<Token> tokens) {
super(tokens);
}
@Override
public void visit(ASTNode node, StringBuilder queryString) {
queryString.append(") " + toString() + " ");
for (ASTNode child : node.getChildren()) {
child.visit(child, queryString);
}
}
@Override
public Token getType() {
return type;
}
@Override
public void setType(Token type) {
this.type = type;
}
@Override
public void ResetTokensbyType() {
List <Token> tokens = new ArrayList<>();
tokens.add(new Token(Token.TokenType.KEYWORD, "RETURN"));
tokens.add(type);
tokens.add(new Token(Token.TokenType.KEYWORD, "IS"));
setTokens(tokens);
}
}