123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671 |
- 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 {
- var 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 {
- var 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)
- var _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 {
- var 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 {
- var 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 {
- var t = s.GetTypedRuleContext(reflect.TypeOf((*IMapTypeContext)(nil)).Elem(), 0)
- if t == nil {
- return nil
- }
- return t.(IMapTypeContext)
- }
- func (s *DataTypeContext) ArrayType() IArrayTypeContext {
- var 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 {
- var t = s.GetTypedRuleContext(reflect.TypeOf((*IPointerTypeContext)(nil)).Elem(), 0)
- if t == nil {
- return nil
- }
- return t.(IPointerTypeContext)
- }
- func (s *DataTypeContext) TypeStruct() ITypeStructContext {
- var 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)
- var _m = p.Match(ApiParserParserINTERFACE)
- localctx.(*DataTypeContext).inter = _m
- }
- case 5:
- p.EnterOuterAlt(localctx, 5)
- {
- p.SetState(216)
- var _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 {
- var 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 {
- var 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)
- var _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 {
- var 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 {
- var 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 {
- var 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)
- var _m = p.Match(ApiParserParserID)
- localctx.(*MapTypeContext).mapToken = _m
- }
- {
- p.SetState(227)
- var _m = p.Match(ApiParserParserT__7)
- localctx.(*MapTypeContext).lbrack = _m
- }
- checkKey(p)
- {
- p.SetState(229)
- var _m = p.Match(ApiParserParserID)
- localctx.(*MapTypeContext).key = _m
- }
- {
- p.SetState(230)
- var _m = p.Match(ApiParserParserT__8)
- localctx.(*MapTypeContext).rbrack = _m
- }
- {
- p.SetState(231)
- var _x = p.DataType()
- localctx.(*MapTypeContext).value = _x
- }
- return localctx
- }
|