()
| 10362 | } |
| 10363 | |
| 10364 | func (p *SqlBaseParser) QualifiedName() (localctx IQualifiedNameContext) { |
| 10365 | localctx = NewQualifiedNameContext(p, p.GetParserRuleContext(), p.GetState()) |
| 10366 | p.EnterRule(localctx, 82, SqlBaseParserRULE_qualifiedName) |
| 10367 | |
| 10368 | defer func() { |
| 10369 | p.ExitRule() |
| 10370 | }() |
| 10371 | |
| 10372 | defer func() { |
| 10373 | if err := recover(); err != nil { |
| 10374 | if v, ok := err.(antlr.RecognitionException); ok { |
| 10375 | localctx.SetException(v) |
| 10376 | p.GetErrorHandler().ReportError(p, v) |
| 10377 | p.GetErrorHandler().Recover(p, v) |
| 10378 | } else { |
| 10379 | panic(err) |
| 10380 | } |
| 10381 | } |
| 10382 | }() |
| 10383 | |
| 10384 | var _alt int |
| 10385 | |
| 10386 | p.EnterOuterAlt(localctx, 1) |
| 10387 | { |
| 10388 | p.SetState(710) |
| 10389 | p.Identifier() |
| 10390 | } |
| 10391 | p.SetState(715) |
| 10392 | p.GetErrorHandler().Sync(p) |
| 10393 | _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 89, p.GetParserRuleContext()) |
| 10394 | |
| 10395 | for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { |
| 10396 | if _alt == 1 { |
| 10397 | { |
| 10398 | p.SetState(711) |
| 10399 | p.Match(SqlBaseParserT__3) |
| 10400 | } |
| 10401 | { |
| 10402 | p.SetState(712) |
| 10403 | p.Identifier() |
| 10404 | } |
| 10405 | |
| 10406 | } |
| 10407 | p.SetState(717) |
| 10408 | p.GetErrorHandler().Sync(p) |
| 10409 | _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 89, p.GetParserRuleContext()) |
| 10410 | } |
| 10411 | |
| 10412 | return localctx |
| 10413 | } |
| 10414 | |
| 10415 | // IIdentifierContext is an interface to support dynamic dispatch. |
| 10416 | type IIdentifierContext interface { |
no test coverage detected