()
| 3847 | } |
| 3848 | |
| 3849 | func (p *SqlBaseParser) JoinType() (localctx IJoinTypeContext) { |
| 3850 | localctx = NewJoinTypeContext(p, p.GetParserRuleContext(), p.GetState()) |
| 3851 | p.EnterRule(localctx, 30, SqlBaseParserRULE_joinType) |
| 3852 | var _la int |
| 3853 | |
| 3854 | defer func() { |
| 3855 | p.ExitRule() |
| 3856 | }() |
| 3857 | |
| 3858 | defer func() { |
| 3859 | if err := recover(); err != nil { |
| 3860 | if v, ok := err.(antlr.RecognitionException); ok { |
| 3861 | localctx.SetException(v) |
| 3862 | p.GetErrorHandler().ReportError(p, v) |
| 3863 | p.GetErrorHandler().Recover(p, v) |
| 3864 | } else { |
| 3865 | panic(err) |
| 3866 | } |
| 3867 | } |
| 3868 | }() |
| 3869 | |
| 3870 | p.SetState(300) |
| 3871 | p.GetErrorHandler().Sync(p) |
| 3872 | |
| 3873 | switch p.GetTokenStream().LA(1) { |
| 3874 | case SqlBaseParserINNER, SqlBaseParserJOIN: |
| 3875 | p.EnterOuterAlt(localctx, 1) |
| 3876 | p.SetState(286) |
| 3877 | p.GetErrorHandler().Sync(p) |
| 3878 | _la = p.GetTokenStream().LA(1) |
| 3879 | |
| 3880 | if _la == SqlBaseParserINNER { |
| 3881 | { |
| 3882 | p.SetState(285) |
| 3883 | p.Match(SqlBaseParserINNER) |
| 3884 | } |
| 3885 | |
| 3886 | } |
| 3887 | |
| 3888 | case SqlBaseParserLEFT: |
| 3889 | p.EnterOuterAlt(localctx, 2) |
| 3890 | { |
| 3891 | p.SetState(288) |
| 3892 | p.Match(SqlBaseParserLEFT) |
| 3893 | } |
| 3894 | p.SetState(290) |
| 3895 | p.GetErrorHandler().Sync(p) |
| 3896 | _la = p.GetTokenStream().LA(1) |
| 3897 | |
| 3898 | if _la == SqlBaseParserOUTER { |
| 3899 | { |
| 3900 | p.SetState(289) |
| 3901 | p.Match(SqlBaseParserOUTER) |
| 3902 | } |
| 3903 | |
| 3904 | } |
| 3905 | |
| 3906 | case SqlBaseParserRIGHT: |
no test coverage detected