001package gudusoft.gsqlparser.dlineage.dataflow.model;
002
003import gudusoft.gsqlparser.nodes.TFunctionCall;
004import gudusoft.gsqlparser.nodes.TTable;
005
006import java.util.List;
007
008/**
009 * Represents a call site where TABLE(pipelined_func(...)) was used but the
010 * function signature was not yet available at analysis time. These are
011 * resolved during the finalize phase.
012 */
013public class PendingPipelinedCallSite {
014    private List<String> functionKeyCandidates;
015    private int argCount;
016    private TTable table;
017    private TFunctionCall callExpr;
018
019    public PendingPipelinedCallSite(List<String> functionKeyCandidates, int argCount,
020                                    TTable table, TFunctionCall callExpr) {
021        this.functionKeyCandidates = functionKeyCandidates;
022        this.argCount = argCount;
023        this.table = table;
024        this.callExpr = callExpr;
025    }
026
027    public List<String> getFunctionKeyCandidates() {
028        return functionKeyCandidates;
029    }
030
031    public int getArgCount() {
032        return argCount;
033    }
034
035    public TTable getTable() {
036        return table;
037    }
038
039    public TFunctionCall getCallExpr() {
040        return callExpr;
041    }
042
043    @Override
044    public String toString() {
045        return "PendingPipelinedCallSite{candidates=" + functionKeyCandidates + ", args=" + argCount + "}";
046    }
047}