Exemple #1
0
        public override IASTNode VisitDataType(SqlServerCommandParser.DataTypeContext context)
        {
            DataTypeSegment dataTypeSegment = new DataTypeSegment();

            dataTypeSegment.SetDataTypeName(((KeywordValue)Visit(context.dataTypeName())).GetValue());
            dataTypeSegment.SetStartIndex(context.Start.StartIndex);
            dataTypeSegment.SetStopIndex(context.Stop.StopIndex);
            if (null != context.dataTypeLength())
            {
                DataTypeLengthSegment dataTypeLengthSegment = (DataTypeLengthSegment)Visit(context.dataTypeLength());
                dataTypeSegment.SetDataLength(dataTypeLengthSegment);
            }
            return(dataTypeSegment);
        }
Exemple #2
0
        public override IASTNode VisitDataTypeLength(SqlServerCommandParser.DataTypeLengthContext context)
        {
            DataTypeLengthSegment dataTypeLengthSegment = new DataTypeLengthSegment();

            dataTypeLengthSegment.SetStartIndex(context.Start.StartIndex);
            dataTypeLengthSegment.SetStopIndex(context.Stop.StartIndex);
            ITerminalNode[] numbers = context.NUMBER_();
            if (numbers.Length == 1)
            {
                dataTypeLengthSegment.SetPrecision(int.Parse(numbers[0].GetText()));
            }
            if (numbers.Length == 2)
            {
                dataTypeLengthSegment.SetPrecision(int.Parse(numbers[0].GetText()));
                dataTypeLengthSegment.SetScale(int.Parse(numbers[1].GetText()));
            }
            return(dataTypeLengthSegment);
        }
 public void SetDataLength(DataTypeLengthSegment dataLength)
 {
     this.dataLength = dataLength;
 }