001package gudusoft.gsqlparser.ir.bound;
002
003import gudusoft.gsqlparser.ir.common.SourceAnchor;
004
005/**
006 * A procedure/function parameter symbol.
007 */
008public class BoundParameterSymbol extends BoundSymbol {
009
010    private final String paramName;
011    private final BoundTypeRef paramType;
012    private final EParameterMode mode;
013
014    public BoundParameterSymbol(String paramName, BoundScope declaringScope,
015                                SourceAnchor declarationAnchor,
016                                BoundTypeRef paramType, EParameterMode mode) {
017        super(paramName, declaringScope, declarationAnchor);
018        this.paramName = paramName;
019        this.paramType = paramType;
020        this.mode = mode;
021    }
022
023    public String getParamName() { return paramName; }
024    public BoundTypeRef getParamType() { return paramType; }
025    public EParameterMode getMode() { return mode; }
026
027    @Override
028    public ESymbolKind getSymbolKind() {
029        return ESymbolKind.PARAMETER;
030    }
031}