package api import ( "reflect" "github.com/zeromicro/antlr" ) // Part 5 // The apiparser_parser.go file was split into multiple files because it // was too large and caused a possible memory overflow during goctl installation. type AnonymousFiledContext struct { *antlr.BaseParserRuleContext parser antlr.Parser star antlr.Token } func NewEmptyAnonymousFiledContext() *AnonymousFiledContext { p := new(AnonymousFiledContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) p.RuleIndex = ApiParserParserRULE_anonymousFiled return p } func (*AnonymousFiledContext) IsAnonymousFiledContext() {} func NewAnonymousFiledContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AnonymousFiledContext { p := new(AnonymousFiledContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) p.parser = parser p.RuleIndex = ApiParserParserRULE_anonymousFiled return p } func (s *AnonymousFiledContext) GetParser() antlr.Parser { return s.parser } func (s *AnonymousFiledContext) GetStar() antlr.Token { return s.star } func (s *AnonymousFiledContext) SetStar(v antlr.Token) { s.star = v } func (s *AnonymousFiledContext) ID() antlr.TerminalNode { return s.GetToken(ApiParserParserID, 0) } func (s *AnonymousFiledContext) GetRuleContext() antlr.RuleContext { return s } func (s *AnonymousFiledContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } func (s *AnonymousFiledContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ApiParserVisitor: return t.VisitAnonymousFiled(s) default: return t.VisitChildren(s) } } func (p *ApiParserParser) AnonymousFiled() (localctx IAnonymousFiledContext) { localctx = NewAnonymousFiledContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 40, ApiParserParserRULE_anonymousFiled) var _la int 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) } } }() p.EnterOuterAlt(localctx, 1) p.SetState(207) p.GetErrorHandler().Sync(p) _la = p.GetTokenStream().LA(1) if _la == ApiParserParserT__5 { { p.SetState(206) _m := p.Match(ApiParserParserT__5) localctx.(*AnonymousFiledContext).star = _m } } { p.SetState(209) p.Match(ApiParserParserID) } return localctx } // IDataTypeContext is an interface to support dynamic dispatch. type IDataTypeContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // GetInter returns the inter token. GetInter() antlr.Token // GetTime returns the time token. GetTime() antlr.Token // SetInter sets the inter token. SetInter(antlr.Token) // SetTime sets the time token. SetTime(antlr.Token) // IsDataTypeContext differentiates from other interfaces. IsDataTypeContext() } type DataTypeContext struct { *antlr.BaseParserRuleContext parser antlr.Parser inter antlr.Token time antlr.Token } func NewEmptyDataTypeContext() *DataTypeContext { p := new(DataTypeContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) p.RuleIndex = ApiParserParserRULE_dataType return p } func (*DataTypeContext) IsDataTypeContext() {} func NewDataTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DataTypeContext { p := new(DataTypeContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) p.parser = parser p.RuleIndex = ApiParserParserRULE_dataType return p } func (s *DataTypeContext) GetParser() antlr.Parser { return s.parser } func (s *DataTypeContext) GetInter() antlr.Token { return s.inter } func (s *DataTypeContext) GetTime() antlr.Token { return s.time } func (s *DataTypeContext) SetInter(v antlr.Token) { s.inter = v } func (s *DataTypeContext) SetTime(v antlr.Token) { s.time = v } func (s *DataTypeContext) ID() antlr.TerminalNode { return s.GetToken(ApiParserParserID, 0) } func (s *DataTypeContext) MapType() IMapTypeContext { t := s.GetTypedRuleContext(reflect.TypeOf((*IMapTypeContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IMapTypeContext) } func (s *DataTypeContext) ArrayType() IArrayTypeContext { t := s.GetTypedRuleContext(reflect.TypeOf((*IArrayTypeContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IArrayTypeContext) } func (s *DataTypeContext) INTERFACE() antlr.TerminalNode { return s.GetToken(ApiParserParserINTERFACE, 0) } func (s *DataTypeContext) PointerType() IPointerTypeContext { t := s.GetTypedRuleContext(reflect.TypeOf((*IPointerTypeContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IPointerTypeContext) } func (s *DataTypeContext) TypeStruct() ITypeStructContext { t := s.GetTypedRuleContext(reflect.TypeOf((*ITypeStructContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(ITypeStructContext) } func (s *DataTypeContext) GetRuleContext() antlr.RuleContext { return s } func (s *DataTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } func (s *DataTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ApiParserVisitor: return t.VisitDataType(s) default: return t.VisitChildren(s) } } func (p *ApiParserParser) DataType() (localctx IDataTypeContext) { localctx = NewDataTypeContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 42, ApiParserParserRULE_dataType) 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) } } }() p.SetState(219) p.GetErrorHandler().Sync(p) switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 18, p.GetParserRuleContext()) { case 1: p.EnterOuterAlt(localctx, 1) isInterface(p) { p.SetState(212) p.Match(ApiParserParserID) } case 2: p.EnterOuterAlt(localctx, 2) { p.SetState(213) p.MapType() } case 3: p.EnterOuterAlt(localctx, 3) { p.SetState(214) p.ArrayType() } case 4: p.EnterOuterAlt(localctx, 4) { p.SetState(215) _m := p.Match(ApiParserParserINTERFACE) localctx.(*DataTypeContext).inter = _m } case 5: p.EnterOuterAlt(localctx, 5) { p.SetState(216) _m := p.Match(ApiParserParserT__6) localctx.(*DataTypeContext).time = _m } case 6: p.EnterOuterAlt(localctx, 6) { p.SetState(217) p.PointerType() } case 7: p.EnterOuterAlt(localctx, 7) { p.SetState(218) p.TypeStruct() } } return localctx } // IPointerTypeContext is an interface to support dynamic dispatch. type IPointerTypeContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // GetStar returns the star token. GetStar() antlr.Token // SetStar sets the star token. SetStar(antlr.Token) // IsPointerTypeContext differentiates from other interfaces. IsPointerTypeContext() } type PointerTypeContext struct { *antlr.BaseParserRuleContext parser antlr.Parser star antlr.Token } func NewEmptyPointerTypeContext() *PointerTypeContext { p := new(PointerTypeContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) p.RuleIndex = ApiParserParserRULE_pointerType return p } func (*PointerTypeContext) IsPointerTypeContext() {} func NewPointerTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PointerTypeContext { p := new(PointerTypeContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) p.parser = parser p.RuleIndex = ApiParserParserRULE_pointerType return p } func (s *PointerTypeContext) GetParser() antlr.Parser { return s.parser } func (s *PointerTypeContext) GetStar() antlr.Token { return s.star } func (s *PointerTypeContext) SetStar(v antlr.Token) { s.star = v } func (s *PointerTypeContext) ID() antlr.TerminalNode { return s.GetToken(ApiParserParserID, 0) } func (s *PointerTypeContext) GetRuleContext() antlr.RuleContext { return s } func (s *PointerTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } func (s *PointerTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ApiParserVisitor: return t.VisitPointerType(s) default: return t.VisitChildren(s) } } func (p *ApiParserParser) PointerType() (localctx IPointerTypeContext) { localctx = NewPointerTypeContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 44, ApiParserParserRULE_pointerType) 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) } } }() p.EnterOuterAlt(localctx, 1) { p.SetState(221) _m := p.Match(ApiParserParserT__5) localctx.(*PointerTypeContext).star = _m } checkKeyword(p) { p.SetState(223) p.Match(ApiParserParserID) } return localctx } // IMapTypeContext is an interface to support dynamic dispatch. type IMapTypeContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // GetMapToken returns the mapToken token. GetMapToken() antlr.Token // GetLbrack returns the lbrack token. GetLbrack() antlr.Token // GetKey returns the key token. GetKey() antlr.Token // GetRbrack returns the rbrack token. GetRbrack() antlr.Token // SetMapToken sets the mapToken token. SetMapToken(antlr.Token) // SetLbrack sets the lbrack token. SetLbrack(antlr.Token) // SetKey sets the key token. SetKey(antlr.Token) // SetRbrack sets the rbrack token. SetRbrack(antlr.Token) // GetValue returns the value rule contexts. GetValue() IDataTypeContext // SetValue sets the value rule contexts. SetValue(IDataTypeContext) // IsMapTypeContext differentiates from other interfaces. IsMapTypeContext() } type MapTypeContext struct { *antlr.BaseParserRuleContext parser antlr.Parser mapToken antlr.Token lbrack antlr.Token key antlr.Token rbrack antlr.Token value IDataTypeContext } func NewEmptyMapTypeContext() *MapTypeContext { p := new(MapTypeContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) p.RuleIndex = ApiParserParserRULE_mapType return p } func (*MapTypeContext) IsMapTypeContext() {} func NewMapTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MapTypeContext { p := new(MapTypeContext) p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) p.parser = parser p.RuleIndex = ApiParserParserRULE_mapType return p } func (s *MapTypeContext) GetParser() antlr.Parser { return s.parser } func (s *MapTypeContext) GetMapToken() antlr.Token { return s.mapToken } func (s *MapTypeContext) GetLbrack() antlr.Token { return s.lbrack } func (s *MapTypeContext) GetKey() antlr.Token { return s.key } func (s *MapTypeContext) GetRbrack() antlr.Token { return s.rbrack } func (s *MapTypeContext) SetMapToken(v antlr.Token) { s.mapToken = v } func (s *MapTypeContext) SetLbrack(v antlr.Token) { s.lbrack = v } func (s *MapTypeContext) SetKey(v antlr.Token) { s.key = v } func (s *MapTypeContext) SetRbrack(v antlr.Token) { s.rbrack = v } func (s *MapTypeContext) GetValue() IDataTypeContext { return s.value } func (s *MapTypeContext) SetValue(v IDataTypeContext) { s.value = v } func (s *MapTypeContext) AllID() []antlr.TerminalNode { return s.GetTokens(ApiParserParserID) } func (s *MapTypeContext) ID(i int) antlr.TerminalNode { return s.GetToken(ApiParserParserID, i) } func (s *MapTypeContext) DataType() IDataTypeContext { t := s.GetTypedRuleContext(reflect.TypeOf((*IDataTypeContext)(nil)).Elem(), 0) if t == nil { return nil } return t.(IDataTypeContext) } func (s *MapTypeContext) GetRuleContext() antlr.RuleContext { return s } func (s *MapTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } func (s *MapTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case ApiParserVisitor: return t.VisitMapType(s) default: return t.VisitChildren(s) } } func (p *ApiParserParser) MapType() (localctx IMapTypeContext) { localctx = NewMapTypeContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 46, ApiParserParserRULE_mapType) 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) } } }() p.EnterOuterAlt(localctx, 1) match(p, "map") { p.SetState(226) _m := p.Match(ApiParserParserID) localctx.(*MapTypeContext).mapToken = _m } { p.SetState(227) _m := p.Match(ApiParserParserT__7) localctx.(*MapTypeContext).lbrack = _m } checkKey(p) { p.SetState(229) _m := p.Match(ApiParserParserID) localctx.(*MapTypeContext).key = _m } { p.SetState(230) _m := p.Match(ApiParserParserT__8) localctx.(*MapTypeContext).rbrack = _m } { p.SetState(231) _x := p.DataType() localctx.(*MapTypeContext).value = _x } return localctx }