func()

in shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go [4917:4982]


func (p *RDLStatementParser) ShardingColumns() (localctx IShardingColumnsContext) {
	localctx = NewShardingColumnsContext(p, p.GetParserRuleContext(), p.GetState())
	p.EnterRule(localctx, 54, RDLStatementParserRULE_shardingColumns)

	defer func() {
		p.ExitRule()
	}()

	defer func() {
		if err := recover(); err != nil {
			if v, ok := err.(antlr.RecognitionException); ok {
				localctx.SetException(v)
				p.GetErrorHandler().ReportError(p, v)
				p.GetErrorHandler().Recover(p, v)
			} else {
				panic(err)
			}
		}
	}()

	var _alt int

	p.EnterOuterAlt(localctx, 1)
	{
		p.SetState(388)
		p.Match(RDLStatementParserSHARDING_COLUMNS)
	}
	{
		p.SetState(389)
		p.Match(RDLStatementParserEQ_)
	}
	{
		p.SetState(390)
		p.ColumnName()
	}
	{
		p.SetState(391)
		p.Match(RDLStatementParserCOMMA_)
	}
	{
		p.SetState(392)
		p.ColumnName()
	}
	p.SetState(397)
	p.GetErrorHandler().Sync(p)
	_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 32, p.GetParserRuleContext())

	for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
		if _alt == 1 {
			{
				p.SetState(393)
				p.Match(RDLStatementParserCOMMA_)
			}
			{
				p.SetState(394)
				p.ColumnName()
			}

		}
		p.SetState(399)
		p.GetErrorHandler().Sync(p)
		_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 32, p.GetParserRuleContext())
	}

	return localctx
}