apiparser_parser7.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. package api
  2. import (
  3. "reflect"
  4. "github.com/zeromicro/antlr"
  5. )
  6. // Part 7
  7. // The apiparser_parser.go file was split into multiple files because it
  8. // was too large and caused a possible memory overflow during goctl installation.
  9. // IAtHandlerContext is an interface to support dynamic dispatch.
  10. type IAtHandlerContext interface {
  11. antlr.ParserRuleContext
  12. // GetParser returns the parser.
  13. GetParser() antlr.Parser
  14. // IsAtHandlerContext differentiates from other interfaces.
  15. IsAtHandlerContext()
  16. }
  17. type AtHandlerContext struct {
  18. *antlr.BaseParserRuleContext
  19. parser antlr.Parser
  20. }
  21. func NewEmptyAtHandlerContext() *AtHandlerContext {
  22. var p = new(AtHandlerContext)
  23. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
  24. p.RuleIndex = ApiParserParserRULE_atHandler
  25. return p
  26. }
  27. func (*AtHandlerContext) IsAtHandlerContext() {}
  28. func NewAtHandlerContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AtHandlerContext {
  29. var p = new(AtHandlerContext)
  30. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
  31. p.parser = parser
  32. p.RuleIndex = ApiParserParserRULE_atHandler
  33. return p
  34. }
  35. func (s *AtHandlerContext) GetParser() antlr.Parser { return s.parser }
  36. func (s *AtHandlerContext) ATHANDLER() antlr.TerminalNode {
  37. return s.GetToken(ApiParserParserATHANDLER, 0)
  38. }
  39. func (s *AtHandlerContext) ID() antlr.TerminalNode {
  40. return s.GetToken(ApiParserParserID, 0)
  41. }
  42. func (s *AtHandlerContext) GetRuleContext() antlr.RuleContext {
  43. return s
  44. }
  45. func (s *AtHandlerContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
  46. return antlr.TreesStringTree(s, ruleNames, recog)
  47. }
  48. func (s *AtHandlerContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
  49. switch t := visitor.(type) {
  50. case ApiParserVisitor:
  51. return t.VisitAtHandler(s)
  52. default:
  53. return t.VisitChildren(s)
  54. }
  55. }
  56. func (p *ApiParserParser) AtHandler() (localctx IAtHandlerContext) {
  57. localctx = NewAtHandlerContext(p, p.GetParserRuleContext(), p.GetState())
  58. p.EnterRule(localctx, 60, ApiParserParserRULE_atHandler)
  59. defer func() {
  60. p.ExitRule()
  61. }()
  62. defer func() {
  63. if err := recover(); err != nil {
  64. if v, ok := err.(antlr.RecognitionException); ok {
  65. localctx.SetException(v)
  66. p.GetErrorHandler().ReportError(p, v)
  67. p.GetErrorHandler().Recover(p, v)
  68. } else {
  69. panic(err)
  70. }
  71. }
  72. }()
  73. p.EnterOuterAlt(localctx, 1)
  74. {
  75. p.SetState(289)
  76. p.Match(ApiParserParserATHANDLER)
  77. }
  78. {
  79. p.SetState(290)
  80. p.Match(ApiParserParserID)
  81. }
  82. return localctx
  83. }
  84. // IRouteContext is an interface to support dynamic dispatch.
  85. type IRouteContext interface {
  86. antlr.ParserRuleContext
  87. // GetParser returns the parser.
  88. GetParser() antlr.Parser
  89. // GetHttpMethod returns the httpMethod token.
  90. GetHttpMethod() antlr.Token
  91. // SetHttpMethod sets the httpMethod token.
  92. SetHttpMethod(antlr.Token)
  93. // GetRequest returns the request rule contexts.
  94. GetRequest() IBodyContext
  95. // GetResponse returns the response rule contexts.
  96. GetResponse() IReplybodyContext
  97. // SetRequest sets the request rule contexts.
  98. SetRequest(IBodyContext)
  99. // SetResponse sets the response rule contexts.
  100. SetResponse(IReplybodyContext)
  101. // IsRouteContext differentiates from other interfaces.
  102. IsRouteContext()
  103. }
  104. type RouteContext struct {
  105. *antlr.BaseParserRuleContext
  106. parser antlr.Parser
  107. httpMethod antlr.Token
  108. request IBodyContext
  109. response IReplybodyContext
  110. }
  111. func NewEmptyRouteContext() *RouteContext {
  112. var p = new(RouteContext)
  113. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
  114. p.RuleIndex = ApiParserParserRULE_route
  115. return p
  116. }
  117. func (*RouteContext) IsRouteContext() {}
  118. func NewRouteContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RouteContext {
  119. var p = new(RouteContext)
  120. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
  121. p.parser = parser
  122. p.RuleIndex = ApiParserParserRULE_route
  123. return p
  124. }
  125. func (s *RouteContext) GetParser() antlr.Parser { return s.parser }
  126. func (s *RouteContext) GetHttpMethod() antlr.Token { return s.httpMethod }
  127. func (s *RouteContext) SetHttpMethod(v antlr.Token) { s.httpMethod = v }
  128. func (s *RouteContext) GetRequest() IBodyContext { return s.request }
  129. func (s *RouteContext) GetResponse() IReplybodyContext { return s.response }
  130. func (s *RouteContext) SetRequest(v IBodyContext) { s.request = v }
  131. func (s *RouteContext) SetResponse(v IReplybodyContext) { s.response = v }
  132. func (s *RouteContext) Path() IPathContext {
  133. var t = s.GetTypedRuleContext(reflect.TypeOf((*IPathContext)(nil)).Elem(), 0)
  134. if t == nil {
  135. return nil
  136. }
  137. return t.(IPathContext)
  138. }
  139. func (s *RouteContext) ID() antlr.TerminalNode {
  140. return s.GetToken(ApiParserParserID, 0)
  141. }
  142. func (s *RouteContext) Body() IBodyContext {
  143. var t = s.GetTypedRuleContext(reflect.TypeOf((*IBodyContext)(nil)).Elem(), 0)
  144. if t == nil {
  145. return nil
  146. }
  147. return t.(IBodyContext)
  148. }
  149. func (s *RouteContext) Replybody() IReplybodyContext {
  150. var t = s.GetTypedRuleContext(reflect.TypeOf((*IReplybodyContext)(nil)).Elem(), 0)
  151. if t == nil {
  152. return nil
  153. }
  154. return t.(IReplybodyContext)
  155. }
  156. func (s *RouteContext) GetRuleContext() antlr.RuleContext {
  157. return s
  158. }
  159. func (s *RouteContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
  160. return antlr.TreesStringTree(s, ruleNames, recog)
  161. }
  162. func (s *RouteContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
  163. switch t := visitor.(type) {
  164. case ApiParserVisitor:
  165. return t.VisitRoute(s)
  166. default:
  167. return t.VisitChildren(s)
  168. }
  169. }
  170. func (p *ApiParserParser) Route() (localctx IRouteContext) {
  171. localctx = NewRouteContext(p, p.GetParserRuleContext(), p.GetState())
  172. p.EnterRule(localctx, 62, ApiParserParserRULE_route)
  173. var _la int
  174. defer func() {
  175. p.ExitRule()
  176. }()
  177. defer func() {
  178. if err := recover(); err != nil {
  179. if v, ok := err.(antlr.RecognitionException); ok {
  180. localctx.SetException(v)
  181. p.GetErrorHandler().ReportError(p, v)
  182. p.GetErrorHandler().Recover(p, v)
  183. } else {
  184. panic(err)
  185. }
  186. }
  187. }()
  188. p.EnterOuterAlt(localctx, 1)
  189. checkHTTPMethod(p)
  190. {
  191. p.SetState(293)
  192. var _m = p.Match(ApiParserParserID)
  193. localctx.(*RouteContext).httpMethod = _m
  194. }
  195. {
  196. p.SetState(294)
  197. p.Path()
  198. }
  199. p.SetState(296)
  200. p.GetErrorHandler().Sync(p)
  201. _la = p.GetTokenStream().LA(1)
  202. if _la == ApiParserParserT__1 {
  203. {
  204. p.SetState(295)
  205. var _x = p.Body()
  206. localctx.(*RouteContext).request = _x
  207. }
  208. }
  209. p.SetState(299)
  210. p.GetErrorHandler().Sync(p)
  211. _la = p.GetTokenStream().LA(1)
  212. if _la == ApiParserParserT__9 {
  213. {
  214. p.SetState(298)
  215. var _x = p.Replybody()
  216. localctx.(*RouteContext).response = _x
  217. }
  218. }
  219. return localctx
  220. }
  221. // IBodyContext is an interface to support dynamic dispatch.
  222. type IBodyContext interface {
  223. antlr.ParserRuleContext
  224. // GetParser returns the parser.
  225. GetParser() antlr.Parser
  226. // GetLp returns the lp token.
  227. GetLp() antlr.Token
  228. // GetRp returns the rp token.
  229. GetRp() antlr.Token
  230. // SetLp sets the lp token.
  231. SetLp(antlr.Token)
  232. // SetRp sets the rp token.
  233. SetRp(antlr.Token)
  234. // IsBodyContext differentiates from other interfaces.
  235. IsBodyContext()
  236. }
  237. type BodyContext struct {
  238. *antlr.BaseParserRuleContext
  239. parser antlr.Parser
  240. lp antlr.Token
  241. rp antlr.Token
  242. }
  243. func NewEmptyBodyContext() *BodyContext {
  244. var p = new(BodyContext)
  245. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
  246. p.RuleIndex = ApiParserParserRULE_body
  247. return p
  248. }
  249. func (*BodyContext) IsBodyContext() {}
  250. func NewBodyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BodyContext {
  251. var p = new(BodyContext)
  252. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
  253. p.parser = parser
  254. p.RuleIndex = ApiParserParserRULE_body
  255. return p
  256. }
  257. func (s *BodyContext) GetParser() antlr.Parser { return s.parser }
  258. func (s *BodyContext) GetLp() antlr.Token { return s.lp }
  259. func (s *BodyContext) GetRp() antlr.Token { return s.rp }
  260. func (s *BodyContext) SetLp(v antlr.Token) { s.lp = v }
  261. func (s *BodyContext) SetRp(v antlr.Token) { s.rp = v }
  262. func (s *BodyContext) ID() antlr.TerminalNode {
  263. return s.GetToken(ApiParserParserID, 0)
  264. }
  265. func (s *BodyContext) GetRuleContext() antlr.RuleContext {
  266. return s
  267. }
  268. func (s *BodyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
  269. return antlr.TreesStringTree(s, ruleNames, recog)
  270. }
  271. func (s *BodyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
  272. switch t := visitor.(type) {
  273. case ApiParserVisitor:
  274. return t.VisitBody(s)
  275. default:
  276. return t.VisitChildren(s)
  277. }
  278. }
  279. func (p *ApiParserParser) Body() (localctx IBodyContext) {
  280. localctx = NewBodyContext(p, p.GetParserRuleContext(), p.GetState())
  281. p.EnterRule(localctx, 64, ApiParserParserRULE_body)
  282. var _la int
  283. defer func() {
  284. p.ExitRule()
  285. }()
  286. defer func() {
  287. if err := recover(); err != nil {
  288. if v, ok := err.(antlr.RecognitionException); ok {
  289. localctx.SetException(v)
  290. p.GetErrorHandler().ReportError(p, v)
  291. p.GetErrorHandler().Recover(p, v)
  292. } else {
  293. panic(err)
  294. }
  295. }
  296. }()
  297. p.EnterOuterAlt(localctx, 1)
  298. {
  299. p.SetState(301)
  300. var _m = p.Match(ApiParserParserT__1)
  301. localctx.(*BodyContext).lp = _m
  302. }
  303. p.SetState(303)
  304. p.GetErrorHandler().Sync(p)
  305. _la = p.GetTokenStream().LA(1)
  306. if _la == ApiParserParserID {
  307. {
  308. p.SetState(302)
  309. p.Match(ApiParserParserID)
  310. }
  311. }
  312. {
  313. p.SetState(305)
  314. var _m = p.Match(ApiParserParserT__2)
  315. localctx.(*BodyContext).rp = _m
  316. }
  317. return localctx
  318. }
  319. // IReplybodyContext is an interface to support dynamic dispatch.
  320. type IReplybodyContext interface {
  321. antlr.ParserRuleContext
  322. // GetParser returns the parser.
  323. GetParser() antlr.Parser
  324. // GetReturnToken returns the returnToken token.
  325. GetReturnToken() antlr.Token
  326. // GetLp returns the lp token.
  327. GetLp() antlr.Token
  328. // GetRp returns the rp token.
  329. GetRp() antlr.Token
  330. // SetReturnToken sets the returnToken token.
  331. SetReturnToken(antlr.Token)
  332. // SetLp sets the lp token.
  333. SetLp(antlr.Token)
  334. // SetRp sets the rp token.
  335. SetRp(antlr.Token)
  336. // IsReplybodyContext differentiates from other interfaces.
  337. IsReplybodyContext()
  338. }
  339. type ReplybodyContext struct {
  340. *antlr.BaseParserRuleContext
  341. parser antlr.Parser
  342. returnToken antlr.Token
  343. lp antlr.Token
  344. rp antlr.Token
  345. }
  346. func NewEmptyReplybodyContext() *ReplybodyContext {
  347. var p = new(ReplybodyContext)
  348. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
  349. p.RuleIndex = ApiParserParserRULE_replybody
  350. return p
  351. }
  352. func (*ReplybodyContext) IsReplybodyContext() {}
  353. func NewReplybodyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReplybodyContext {
  354. var p = new(ReplybodyContext)
  355. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
  356. p.parser = parser
  357. p.RuleIndex = ApiParserParserRULE_replybody
  358. return p
  359. }
  360. func (s *ReplybodyContext) GetParser() antlr.Parser { return s.parser }
  361. func (s *ReplybodyContext) GetReturnToken() antlr.Token { return s.returnToken }
  362. func (s *ReplybodyContext) GetLp() antlr.Token { return s.lp }
  363. func (s *ReplybodyContext) GetRp() antlr.Token { return s.rp }
  364. func (s *ReplybodyContext) SetReturnToken(v antlr.Token) { s.returnToken = v }
  365. func (s *ReplybodyContext) SetLp(v antlr.Token) { s.lp = v }
  366. func (s *ReplybodyContext) SetRp(v antlr.Token) { s.rp = v }
  367. func (s *ReplybodyContext) DataType() IDataTypeContext {
  368. var t = s.GetTypedRuleContext(reflect.TypeOf((*IDataTypeContext)(nil)).Elem(), 0)
  369. if t == nil {
  370. return nil
  371. }
  372. return t.(IDataTypeContext)
  373. }
  374. func (s *ReplybodyContext) GetRuleContext() antlr.RuleContext {
  375. return s
  376. }
  377. func (s *ReplybodyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
  378. return antlr.TreesStringTree(s, ruleNames, recog)
  379. }
  380. func (s *ReplybodyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
  381. switch t := visitor.(type) {
  382. case ApiParserVisitor:
  383. return t.VisitReplybody(s)
  384. default:
  385. return t.VisitChildren(s)
  386. }
  387. }
  388. func (p *ApiParserParser) Replybody() (localctx IReplybodyContext) {
  389. localctx = NewReplybodyContext(p, p.GetParserRuleContext(), p.GetState())
  390. p.EnterRule(localctx, 66, ApiParserParserRULE_replybody)
  391. var _la int
  392. defer func() {
  393. p.ExitRule()
  394. }()
  395. defer func() {
  396. if err := recover(); err != nil {
  397. if v, ok := err.(antlr.RecognitionException); ok {
  398. localctx.SetException(v)
  399. p.GetErrorHandler().ReportError(p, v)
  400. p.GetErrorHandler().Recover(p, v)
  401. } else {
  402. panic(err)
  403. }
  404. }
  405. }()
  406. p.EnterOuterAlt(localctx, 1)
  407. {
  408. p.SetState(307)
  409. var _m = p.Match(ApiParserParserT__9)
  410. localctx.(*ReplybodyContext).returnToken = _m
  411. }
  412. {
  413. p.SetState(308)
  414. var _m = p.Match(ApiParserParserT__1)
  415. localctx.(*ReplybodyContext).lp = _m
  416. }
  417. p.SetState(310)
  418. p.GetErrorHandler().Sync(p)
  419. _la = p.GetTokenStream().LA(1)
  420. if ((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<ApiParserParserT__5)|(1<<ApiParserParserT__6)|(1<<ApiParserParserT__7)|(1<<ApiParserParserINTERFACE)|(1<<ApiParserParserID))) != 0 {
  421. {
  422. p.SetState(309)
  423. p.DataType()
  424. }
  425. }
  426. {
  427. p.SetState(312)
  428. var _m = p.Match(ApiParserParserT__2)
  429. localctx.(*ReplybodyContext).rp = _m
  430. }
  431. return localctx
  432. }
  433. // IKvLitContext is an interface to support dynamic dispatch.
  434. type IKvLitContext interface {
  435. antlr.ParserRuleContext
  436. // GetParser returns the parser.
  437. GetParser() antlr.Parser
  438. // GetKey returns the key token.
  439. GetKey() antlr.Token
  440. // GetValue returns the value token.
  441. GetValue() antlr.Token
  442. // SetKey sets the key token.
  443. SetKey(antlr.Token)
  444. // SetValue sets the value token.
  445. SetValue(antlr.Token)
  446. // IsKvLitContext differentiates from other interfaces.
  447. IsKvLitContext()
  448. }
  449. type KvLitContext struct {
  450. *antlr.BaseParserRuleContext
  451. parser antlr.Parser
  452. key antlr.Token
  453. value antlr.Token
  454. }
  455. func NewEmptyKvLitContext() *KvLitContext {
  456. var p = new(KvLitContext)
  457. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
  458. p.RuleIndex = ApiParserParserRULE_kvLit
  459. return p
  460. }
  461. func (*KvLitContext) IsKvLitContext() {}
  462. func NewKvLitContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *KvLitContext {
  463. var p = new(KvLitContext)
  464. p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
  465. p.parser = parser
  466. p.RuleIndex = ApiParserParserRULE_kvLit
  467. return p
  468. }
  469. func (s *KvLitContext) GetParser() antlr.Parser { return s.parser }
  470. func (s *KvLitContext) GetKey() antlr.Token { return s.key }
  471. func (s *KvLitContext) GetValue() antlr.Token { return s.value }
  472. func (s *KvLitContext) SetKey(v antlr.Token) { s.key = v }
  473. func (s *KvLitContext) SetValue(v antlr.Token) { s.value = v }
  474. func (s *KvLitContext) ID() antlr.TerminalNode {
  475. return s.GetToken(ApiParserParserID, 0)
  476. }
  477. func (s *KvLitContext) LINE_VALUE() antlr.TerminalNode {
  478. return s.GetToken(ApiParserParserLINE_VALUE, 0)
  479. }
  480. func (s *KvLitContext) GetRuleContext() antlr.RuleContext {
  481. return s
  482. }
  483. func (s *KvLitContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
  484. return antlr.TreesStringTree(s, ruleNames, recog)
  485. }