001package gudusoft.gsqlparser.ir.bound;
002
003import gudusoft.gsqlparser.ir.common.SourceAnchor;
004
005/**
006 * A variable or constant declared in a PL/SQL scope.
007 */
008public class BoundVariableSymbol extends BoundSymbol {
009
010    private final BoundTypeRef variableType;
011    private final boolean isConstant;
012
013    public BoundVariableSymbol(String name, BoundScope declaringScope,
014                               SourceAnchor declarationAnchor,
015                               BoundTypeRef variableType, boolean isConstant) {
016        super(name, declaringScope, declarationAnchor);
017        this.variableType = variableType;
018        this.isConstant = isConstant;
019    }
020
021    public BoundTypeRef getVariableType() { return variableType; }
022    public boolean isConstant() { return isConstant; }
023
024    @Override
025    public ESymbolKind getSymbolKind() {
026        return ESymbolKind.VARIABLE;
027    }
028}