ASTVisit.cpp 29 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313
  1. // Copyright (c) 2008 Roberto Raggi <[email protected]>
  2. //
  3. // Permission is hereby granted, free of charge, to any person obtaining a copy
  4. // of this software and associated documentation files (the "Software"), to deal
  5. // in the Software without restriction, including without limitation the rights
  6. // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  7. // copies of the Software, and to permit persons to whom the Software is
  8. // furnished to do so, subject to the following conditions:
  9. //
  10. // The above copyright notice and this permission notice shall be included in
  11. // all copies or substantial portions of the Software.
  12. //
  13. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  14. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  15. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  16. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  18. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  19. // THE SOFTWARE.
  20. //
  21. // W A R N I N G
  22. // -------------
  23. //
  24. // This file is automatically generated by "cplusplus-update-frontend".
  25. // Changes will be lost.
  26. //
  27. #include "AST.h"
  28. #include "ASTVisitor.h"
  29. using namespace CPlusPlus;
  30. void ObjCSelectorArgumentAST::accept0(ASTVisitor *visitor)
  31. {
  32. if (visitor->visit(this)) {
  33. }
  34. visitor->endVisit(this);
  35. }
  36. void ObjCSelectorAST::accept0(ASTVisitor *visitor)
  37. {
  38. if (visitor->visit(this)) {
  39. accept(selector_argument_list, visitor);
  40. }
  41. visitor->endVisit(this);
  42. }
  43. void SimpleSpecifierAST::accept0(ASTVisitor *visitor)
  44. {
  45. if (visitor->visit(this)) {
  46. }
  47. visitor->endVisit(this);
  48. }
  49. void AlignmentSpecifierAST::accept0(ASTVisitor *visitor)
  50. {
  51. if (visitor->visit(this)) {
  52. accept(typeIdExprOrAlignmentExpr, visitor);
  53. }
  54. visitor->endVisit(this);
  55. }
  56. void GnuAttributeSpecifierAST::accept0(ASTVisitor *visitor)
  57. {
  58. if (visitor->visit(this)) {
  59. accept(attribute_list, visitor);
  60. }
  61. visitor->endVisit(this);
  62. }
  63. void GnuAttributeAST::accept0(ASTVisitor *visitor)
  64. {
  65. if (visitor->visit(this)) {
  66. accept(expression_list, visitor);
  67. }
  68. visitor->endVisit(this);
  69. }
  70. void TypeofSpecifierAST::accept0(ASTVisitor *visitor)
  71. {
  72. if (visitor->visit(this)) {
  73. accept(expression, visitor);
  74. }
  75. visitor->endVisit(this);
  76. }
  77. void DecltypeSpecifierAST::accept0(ASTVisitor *visitor)
  78. {
  79. if (visitor->visit(this)) {
  80. accept(expression, visitor);
  81. }
  82. visitor->endVisit(this);
  83. }
  84. void DeclaratorAST::accept0(ASTVisitor *visitor)
  85. {
  86. if (visitor->visit(this)) {
  87. accept(attribute_list, visitor);
  88. accept(ptr_operator_list, visitor);
  89. accept(core_declarator, visitor);
  90. accept(postfix_declarator_list, visitor);
  91. accept(post_attribute_list, visitor);
  92. accept(initializer, visitor);
  93. }
  94. visitor->endVisit(this);
  95. }
  96. void SimpleDeclarationAST::accept0(ASTVisitor *visitor)
  97. {
  98. if (visitor->visit(this)) {
  99. accept(decl_specifier_list, visitor);
  100. accept(declarator_list, visitor);
  101. }
  102. visitor->endVisit(this);
  103. }
  104. void EmptyDeclarationAST::accept0(ASTVisitor *visitor)
  105. {
  106. if (visitor->visit(this)) {
  107. }
  108. visitor->endVisit(this);
  109. }
  110. void AccessDeclarationAST::accept0(ASTVisitor *visitor)
  111. {
  112. if (visitor->visit(this)) {
  113. }
  114. visitor->endVisit(this);
  115. }
  116. void QtObjectTagAST::accept0(ASTVisitor *visitor)
  117. {
  118. if (visitor->visit(this)) {
  119. }
  120. visitor->endVisit(this);
  121. }
  122. void QtPrivateSlotAST::accept0(ASTVisitor *visitor)
  123. {
  124. if (visitor->visit(this)) {
  125. accept(type_specifier_list, visitor);
  126. accept(declarator, visitor);
  127. }
  128. visitor->endVisit(this);
  129. }
  130. void QtPropertyDeclarationItemAST::accept0(ASTVisitor *visitor)
  131. {
  132. if (visitor->visit(this)) {
  133. accept(expression, visitor);
  134. }
  135. visitor->endVisit(this);
  136. }
  137. void QtPropertyDeclarationAST::accept0(ASTVisitor *visitor)
  138. {
  139. if (visitor->visit(this)) {
  140. accept(expression, visitor);
  141. accept(type_id, visitor);
  142. accept(property_name, visitor);
  143. accept(property_declaration_item_list, visitor);
  144. }
  145. visitor->endVisit(this);
  146. }
  147. void QtEnumDeclarationAST::accept0(ASTVisitor *visitor)
  148. {
  149. if (visitor->visit(this)) {
  150. accept(enumerator_list, visitor);
  151. }
  152. visitor->endVisit(this);
  153. }
  154. void QtFlagsDeclarationAST::accept0(ASTVisitor *visitor)
  155. {
  156. if (visitor->visit(this)) {
  157. accept(flag_enums_list, visitor);
  158. }
  159. visitor->endVisit(this);
  160. }
  161. void QtInterfaceNameAST::accept0(ASTVisitor *visitor)
  162. {
  163. if (visitor->visit(this)) {
  164. accept(interface_name, visitor);
  165. accept(constraint_list, visitor);
  166. }
  167. visitor->endVisit(this);
  168. }
  169. void QtInterfacesDeclarationAST::accept0(ASTVisitor *visitor)
  170. {
  171. if (visitor->visit(this)) {
  172. accept(interface_name_list, visitor);
  173. }
  174. visitor->endVisit(this);
  175. }
  176. void AsmDefinitionAST::accept0(ASTVisitor *visitor)
  177. {
  178. if (visitor->visit(this)) {
  179. }
  180. visitor->endVisit(this);
  181. }
  182. void BaseSpecifierAST::accept0(ASTVisitor *visitor)
  183. {
  184. if (visitor->visit(this)) {
  185. accept(name, visitor);
  186. }
  187. visitor->endVisit(this);
  188. }
  189. void IdExpressionAST::accept0(ASTVisitor *visitor)
  190. {
  191. if (visitor->visit(this)) {
  192. accept(name, visitor);
  193. }
  194. visitor->endVisit(this);
  195. }
  196. void CompoundExpressionAST::accept0(ASTVisitor *visitor)
  197. {
  198. if (visitor->visit(this)) {
  199. accept(statement, visitor);
  200. }
  201. visitor->endVisit(this);
  202. }
  203. void CompoundLiteralAST::accept0(ASTVisitor *visitor)
  204. {
  205. if (visitor->visit(this)) {
  206. accept(type_id, visitor);
  207. accept(initializer, visitor);
  208. }
  209. visitor->endVisit(this);
  210. }
  211. void QtMethodAST::accept0(ASTVisitor *visitor)
  212. {
  213. if (visitor->visit(this)) {
  214. accept(declarator, visitor);
  215. }
  216. visitor->endVisit(this);
  217. }
  218. void QtMemberDeclarationAST::accept0(ASTVisitor *visitor)
  219. {
  220. if (visitor->visit(this)) {
  221. accept(type_id, visitor);
  222. }
  223. visitor->endVisit(this);
  224. }
  225. void BinaryExpressionAST::accept0(ASTVisitor *visitor)
  226. {
  227. if (visitor->visit(this)) {
  228. accept(left_expression, visitor);
  229. accept(right_expression, visitor);
  230. }
  231. visitor->endVisit(this);
  232. }
  233. void CastExpressionAST::accept0(ASTVisitor *visitor)
  234. {
  235. if (visitor->visit(this)) {
  236. accept(type_id, visitor);
  237. accept(expression, visitor);
  238. }
  239. visitor->endVisit(this);
  240. }
  241. void ClassSpecifierAST::accept0(ASTVisitor *visitor)
  242. {
  243. if (visitor->visit(this)) {
  244. accept(attribute_list, visitor);
  245. accept(name, visitor);
  246. accept(base_clause_list, visitor);
  247. accept(member_specifier_list, visitor);
  248. }
  249. visitor->endVisit(this);
  250. }
  251. void CaseStatementAST::accept0(ASTVisitor *visitor)
  252. {
  253. if (visitor->visit(this)) {
  254. accept(expression, visitor);
  255. accept(statement, visitor);
  256. }
  257. visitor->endVisit(this);
  258. }
  259. void CompoundStatementAST::accept0(ASTVisitor *visitor)
  260. {
  261. if (visitor->visit(this)) {
  262. accept(statement_list, visitor);
  263. }
  264. visitor->endVisit(this);
  265. }
  266. void ConditionAST::accept0(ASTVisitor *visitor)
  267. {
  268. if (visitor->visit(this)) {
  269. accept(type_specifier_list, visitor);
  270. accept(declarator, visitor);
  271. }
  272. visitor->endVisit(this);
  273. }
  274. void ConditionalExpressionAST::accept0(ASTVisitor *visitor)
  275. {
  276. if (visitor->visit(this)) {
  277. accept(condition, visitor);
  278. accept(left_expression, visitor);
  279. accept(right_expression, visitor);
  280. }
  281. visitor->endVisit(this);
  282. }
  283. void CppCastExpressionAST::accept0(ASTVisitor *visitor)
  284. {
  285. if (visitor->visit(this)) {
  286. accept(type_id, visitor);
  287. accept(expression, visitor);
  288. }
  289. visitor->endVisit(this);
  290. }
  291. void CtorInitializerAST::accept0(ASTVisitor *visitor)
  292. {
  293. if (visitor->visit(this)) {
  294. accept(member_initializer_list, visitor);
  295. }
  296. visitor->endVisit(this);
  297. }
  298. void DeclarationStatementAST::accept0(ASTVisitor *visitor)
  299. {
  300. if (visitor->visit(this)) {
  301. accept(declaration, visitor);
  302. }
  303. visitor->endVisit(this);
  304. }
  305. void DeclaratorIdAST::accept0(ASTVisitor *visitor)
  306. {
  307. if (visitor->visit(this)) {
  308. accept(name, visitor);
  309. }
  310. visitor->endVisit(this);
  311. }
  312. void NestedDeclaratorAST::accept0(ASTVisitor *visitor)
  313. {
  314. if (visitor->visit(this)) {
  315. accept(declarator, visitor);
  316. }
  317. visitor->endVisit(this);
  318. }
  319. void FunctionDeclaratorAST::accept0(ASTVisitor *visitor)
  320. {
  321. if (visitor->visit(this)) {
  322. accept(parameter_declaration_clause, visitor);
  323. accept(cv_qualifier_list, visitor);
  324. accept(exception_specification, visitor);
  325. accept(trailing_return_type, visitor);
  326. accept(as_cpp_initializer, visitor);
  327. }
  328. visitor->endVisit(this);
  329. }
  330. void ArrayDeclaratorAST::accept0(ASTVisitor *visitor)
  331. {
  332. if (visitor->visit(this)) {
  333. accept(expression, visitor);
  334. }
  335. visitor->endVisit(this);
  336. }
  337. void DeleteExpressionAST::accept0(ASTVisitor *visitor)
  338. {
  339. if (visitor->visit(this)) {
  340. accept(expression, visitor);
  341. }
  342. visitor->endVisit(this);
  343. }
  344. void DoStatementAST::accept0(ASTVisitor *visitor)
  345. {
  346. if (visitor->visit(this)) {
  347. accept(statement, visitor);
  348. accept(expression, visitor);
  349. }
  350. visitor->endVisit(this);
  351. }
  352. void NamedTypeSpecifierAST::accept0(ASTVisitor *visitor)
  353. {
  354. if (visitor->visit(this)) {
  355. accept(name, visitor);
  356. }
  357. visitor->endVisit(this);
  358. }
  359. void ElaboratedTypeSpecifierAST::accept0(ASTVisitor *visitor)
  360. {
  361. if (visitor->visit(this)) {
  362. accept(attribute_list, visitor);
  363. accept(name, visitor);
  364. }
  365. visitor->endVisit(this);
  366. }
  367. void EnumSpecifierAST::accept0(ASTVisitor *visitor)
  368. {
  369. if (visitor->visit(this)) {
  370. accept(name, visitor);
  371. accept(type_specifier_list, visitor);
  372. accept(enumerator_list, visitor);
  373. }
  374. visitor->endVisit(this);
  375. }
  376. void EnumeratorAST::accept0(ASTVisitor *visitor)
  377. {
  378. if (visitor->visit(this)) {
  379. accept(expression, visitor);
  380. }
  381. visitor->endVisit(this);
  382. }
  383. void ExceptionDeclarationAST::accept0(ASTVisitor *visitor)
  384. {
  385. if (visitor->visit(this)) {
  386. accept(type_specifier_list, visitor);
  387. accept(declarator, visitor);
  388. }
  389. visitor->endVisit(this);
  390. }
  391. void DynamicExceptionSpecificationAST::accept0(ASTVisitor *visitor)
  392. {
  393. if (visitor->visit(this)) {
  394. accept(type_id_list, visitor);
  395. }
  396. visitor->endVisit(this);
  397. }
  398. void NoExceptSpecificationAST::accept0(ASTVisitor *visitor)
  399. {
  400. if (visitor->visit(this)) {
  401. accept(expression, visitor);
  402. }
  403. visitor->endVisit(this);
  404. }
  405. void ExpressionOrDeclarationStatementAST::accept0(ASTVisitor *visitor)
  406. {
  407. if (visitor->visit(this)) {
  408. accept(expression, visitor);
  409. accept(declaration, visitor);
  410. }
  411. visitor->endVisit(this);
  412. }
  413. void ExpressionStatementAST::accept0(ASTVisitor *visitor)
  414. {
  415. if (visitor->visit(this)) {
  416. accept(expression, visitor);
  417. }
  418. visitor->endVisit(this);
  419. }
  420. void FunctionDefinitionAST::accept0(ASTVisitor *visitor)
  421. {
  422. if (visitor->visit(this)) {
  423. accept(decl_specifier_list, visitor);
  424. accept(declarator, visitor);
  425. accept(ctor_initializer, visitor);
  426. accept(function_body, visitor);
  427. }
  428. visitor->endVisit(this);
  429. }
  430. void ForeachStatementAST::accept0(ASTVisitor *visitor)
  431. {
  432. if (visitor->visit(this)) {
  433. accept(type_specifier_list, visitor);
  434. accept(declarator, visitor);
  435. accept(initializer, visitor);
  436. accept(expression, visitor);
  437. accept(statement, visitor);
  438. }
  439. visitor->endVisit(this);
  440. }
  441. void RangeBasedForStatementAST::accept0(ASTVisitor *visitor)
  442. {
  443. if (visitor->visit(this)) {
  444. accept(type_specifier_list, visitor);
  445. accept(declarator, visitor);
  446. accept(expression, visitor);
  447. accept(statement, visitor);
  448. }
  449. visitor->endVisit(this);
  450. }
  451. void ForStatementAST::accept0(ASTVisitor *visitor)
  452. {
  453. if (visitor->visit(this)) {
  454. accept(initializer, visitor);
  455. accept(condition, visitor);
  456. accept(expression, visitor);
  457. accept(statement, visitor);
  458. }
  459. visitor->endVisit(this);
  460. }
  461. void IfStatementAST::accept0(ASTVisitor *visitor)
  462. {
  463. if (visitor->visit(this)) {
  464. accept(condition, visitor);
  465. accept(statement, visitor);
  466. accept(else_statement, visitor);
  467. }
  468. visitor->endVisit(this);
  469. }
  470. void ArrayInitializerAST::accept0(ASTVisitor *visitor)
  471. {
  472. if (visitor->visit(this)) {
  473. accept(expression_list, visitor);
  474. }
  475. visitor->endVisit(this);
  476. }
  477. void LabeledStatementAST::accept0(ASTVisitor *visitor)
  478. {
  479. if (visitor->visit(this)) {
  480. accept(statement, visitor);
  481. }
  482. visitor->endVisit(this);
  483. }
  484. void LinkageBodyAST::accept0(ASTVisitor *visitor)
  485. {
  486. if (visitor->visit(this)) {
  487. accept(declaration_list, visitor);
  488. }
  489. visitor->endVisit(this);
  490. }
  491. void LinkageSpecificationAST::accept0(ASTVisitor *visitor)
  492. {
  493. if (visitor->visit(this)) {
  494. accept(declaration, visitor);
  495. }
  496. visitor->endVisit(this);
  497. }
  498. void MemInitializerAST::accept0(ASTVisitor *visitor)
  499. {
  500. if (visitor->visit(this)) {
  501. accept(name, visitor);
  502. accept(expression, visitor);
  503. }
  504. visitor->endVisit(this);
  505. }
  506. void NestedNameSpecifierAST::accept0(ASTVisitor *visitor)
  507. {
  508. if (visitor->visit(this)) {
  509. accept(class_or_namespace_name, visitor);
  510. }
  511. visitor->endVisit(this);
  512. }
  513. void QualifiedNameAST::accept0(ASTVisitor *visitor)
  514. {
  515. if (visitor->visit(this)) {
  516. accept(nested_name_specifier_list, visitor);
  517. accept(unqualified_name, visitor);
  518. }
  519. visitor->endVisit(this);
  520. }
  521. void OperatorFunctionIdAST::accept0(ASTVisitor *visitor)
  522. {
  523. if (visitor->visit(this)) {
  524. accept(op, visitor);
  525. }
  526. visitor->endVisit(this);
  527. }
  528. void ConversionFunctionIdAST::accept0(ASTVisitor *visitor)
  529. {
  530. if (visitor->visit(this)) {
  531. accept(type_specifier_list, visitor);
  532. accept(ptr_operator_list, visitor);
  533. }
  534. visitor->endVisit(this);
  535. }
  536. void AnonymousNameAST::accept0(ASTVisitor *visitor)
  537. {
  538. if (visitor->visit(this)) {
  539. }
  540. visitor->endVisit(this);
  541. }
  542. void SimpleNameAST::accept0(ASTVisitor *visitor)
  543. {
  544. if (visitor->visit(this)) {
  545. }
  546. visitor->endVisit(this);
  547. }
  548. void DestructorNameAST::accept0(ASTVisitor *visitor)
  549. {
  550. if (visitor->visit(this)) {
  551. accept(unqualified_name, visitor);
  552. }
  553. visitor->endVisit(this);
  554. }
  555. void TemplateIdAST::accept0(ASTVisitor *visitor)
  556. {
  557. if (visitor->visit(this)) {
  558. accept(template_argument_list, visitor);
  559. }
  560. visitor->endVisit(this);
  561. }
  562. void NamespaceAST::accept0(ASTVisitor *visitor)
  563. {
  564. if (visitor->visit(this)) {
  565. accept(attribute_list, visitor);
  566. accept(linkage_body, visitor);
  567. }
  568. visitor->endVisit(this);
  569. }
  570. void NamespaceAliasDefinitionAST::accept0(ASTVisitor *visitor)
  571. {
  572. if (visitor->visit(this)) {
  573. accept(name, visitor);
  574. }
  575. visitor->endVisit(this);
  576. }
  577. void AliasDeclarationAST::accept0(ASTVisitor *visitor)
  578. {
  579. if (visitor->visit(this)) {
  580. accept(name, visitor);
  581. accept(typeId, visitor);
  582. }
  583. visitor->endVisit(this);
  584. }
  585. void ExpressionListParenAST::accept0(ASTVisitor *visitor)
  586. {
  587. if (visitor->visit(this)) {
  588. accept(expression_list, visitor);
  589. }
  590. visitor->endVisit(this);
  591. }
  592. void NewArrayDeclaratorAST::accept0(ASTVisitor *visitor)
  593. {
  594. if (visitor->visit(this)) {
  595. accept(expression, visitor);
  596. }
  597. visitor->endVisit(this);
  598. }
  599. void NewExpressionAST::accept0(ASTVisitor *visitor)
  600. {
  601. if (visitor->visit(this)) {
  602. accept(new_placement, visitor);
  603. accept(type_id, visitor);
  604. accept(new_type_id, visitor);
  605. accept(new_initializer, visitor);
  606. }
  607. visitor->endVisit(this);
  608. }
  609. void NewTypeIdAST::accept0(ASTVisitor *visitor)
  610. {
  611. if (visitor->visit(this)) {
  612. accept(type_specifier_list, visitor);
  613. accept(ptr_operator_list, visitor);
  614. accept(new_array_declarator_list, visitor);
  615. }
  616. visitor->endVisit(this);
  617. }
  618. void OperatorAST::accept0(ASTVisitor *visitor)
  619. {
  620. if (visitor->visit(this)) {
  621. }
  622. visitor->endVisit(this);
  623. }
  624. void ParameterDeclarationAST::accept0(ASTVisitor *visitor)
  625. {
  626. if (visitor->visit(this)) {
  627. accept(type_specifier_list, visitor);
  628. accept(declarator, visitor);
  629. accept(expression, visitor);
  630. }
  631. visitor->endVisit(this);
  632. }
  633. void ParameterDeclarationClauseAST::accept0(ASTVisitor *visitor)
  634. {
  635. if (visitor->visit(this)) {
  636. accept(parameter_declaration_list, visitor);
  637. }
  638. visitor->endVisit(this);
  639. }
  640. void CallAST::accept0(ASTVisitor *visitor)
  641. {
  642. if (visitor->visit(this)) {
  643. accept(base_expression, visitor);
  644. accept(expression_list, visitor);
  645. }
  646. visitor->endVisit(this);
  647. }
  648. void ArrayAccessAST::accept0(ASTVisitor *visitor)
  649. {
  650. if (visitor->visit(this)) {
  651. accept(base_expression, visitor);
  652. accept(expression, visitor);
  653. }
  654. visitor->endVisit(this);
  655. }
  656. void PostIncrDecrAST::accept0(ASTVisitor *visitor)
  657. {
  658. if (visitor->visit(this)) {
  659. accept(base_expression, visitor);
  660. }
  661. visitor->endVisit(this);
  662. }
  663. void MemberAccessAST::accept0(ASTVisitor *visitor)
  664. {
  665. if (visitor->visit(this)) {
  666. accept(base_expression, visitor);
  667. accept(member_name, visitor);
  668. }
  669. visitor->endVisit(this);
  670. }
  671. void TypeidExpressionAST::accept0(ASTVisitor *visitor)
  672. {
  673. if (visitor->visit(this)) {
  674. accept(expression, visitor);
  675. }
  676. visitor->endVisit(this);
  677. }
  678. void TypenameCallExpressionAST::accept0(ASTVisitor *visitor)
  679. {
  680. if (visitor->visit(this)) {
  681. accept(name, visitor);
  682. accept(expression, visitor);
  683. }
  684. visitor->endVisit(this);
  685. }
  686. void TypeConstructorCallAST::accept0(ASTVisitor *visitor)
  687. {
  688. if (visitor->visit(this)) {
  689. accept(type_specifier_list, visitor);
  690. accept(expression, visitor);
  691. }
  692. visitor->endVisit(this);
  693. }
  694. void PointerToMemberAST::accept0(ASTVisitor *visitor)
  695. {
  696. if (visitor->visit(this)) {
  697. accept(nested_name_specifier_list, visitor);
  698. accept(cv_qualifier_list, visitor);
  699. }
  700. visitor->endVisit(this);
  701. }
  702. void PointerAST::accept0(ASTVisitor *visitor)
  703. {
  704. if (visitor->visit(this)) {
  705. accept(cv_qualifier_list, visitor);
  706. }
  707. visitor->endVisit(this);
  708. }
  709. void ReferenceAST::accept0(ASTVisitor *visitor)
  710. {
  711. if (visitor->visit(this)) {
  712. }
  713. visitor->endVisit(this);
  714. }
  715. void BreakStatementAST::accept0(ASTVisitor *visitor)
  716. {
  717. if (visitor->visit(this)) {
  718. }
  719. visitor->endVisit(this);
  720. }
  721. void ContinueStatementAST::accept0(ASTVisitor *visitor)
  722. {
  723. if (visitor->visit(this)) {
  724. }
  725. visitor->endVisit(this);
  726. }
  727. void GotoStatementAST::accept0(ASTVisitor *visitor)
  728. {
  729. if (visitor->visit(this)) {
  730. }
  731. visitor->endVisit(this);
  732. }
  733. void ReturnStatementAST::accept0(ASTVisitor *visitor)
  734. {
  735. if (visitor->visit(this)) {
  736. accept(expression, visitor);
  737. }
  738. visitor->endVisit(this);
  739. }
  740. void SizeofExpressionAST::accept0(ASTVisitor *visitor)
  741. {
  742. if (visitor->visit(this)) {
  743. accept(expression, visitor);
  744. }
  745. visitor->endVisit(this);
  746. }
  747. void AlignofExpressionAST::accept0(ASTVisitor *visitor)
  748. {
  749. if (visitor->visit(this)) {
  750. accept(typeId, visitor);
  751. }
  752. visitor->endVisit(this);
  753. }
  754. void PointerLiteralAST::accept0(ASTVisitor *visitor)
  755. {
  756. if (visitor->visit(this)) {
  757. }
  758. visitor->endVisit(this);
  759. }
  760. void NumericLiteralAST::accept0(ASTVisitor *visitor)
  761. {
  762. if (visitor->visit(this)) {
  763. }
  764. visitor->endVisit(this);
  765. }
  766. void BoolLiteralAST::accept0(ASTVisitor *visitor)
  767. {
  768. if (visitor->visit(this)) {
  769. }
  770. visitor->endVisit(this);
  771. }
  772. void ThisExpressionAST::accept0(ASTVisitor *visitor)
  773. {
  774. if (visitor->visit(this)) {
  775. }
  776. visitor->endVisit(this);
  777. }
  778. void NestedExpressionAST::accept0(ASTVisitor *visitor)
  779. {
  780. if (visitor->visit(this)) {
  781. accept(expression, visitor);
  782. }
  783. visitor->endVisit(this);
  784. }
  785. void StaticAssertDeclarationAST::accept0(ASTVisitor *visitor)
  786. {
  787. if (visitor->visit(this)) {
  788. accept(expression, visitor);
  789. accept(string_literal, visitor);
  790. }
  791. visitor->endVisit(this);
  792. }
  793. void StringLiteralAST::accept0(ASTVisitor *visitor)
  794. {
  795. if (visitor->visit(this)) {
  796. }
  797. visitor->endVisit(this);
  798. }
  799. void SwitchStatementAST::accept0(ASTVisitor *visitor)
  800. {
  801. if (visitor->visit(this)) {
  802. accept(condition, visitor);
  803. accept(statement, visitor);
  804. }
  805. visitor->endVisit(this);
  806. }
  807. void TemplateDeclarationAST::accept0(ASTVisitor *visitor)
  808. {
  809. if (visitor->visit(this)) {
  810. accept(template_parameter_list, visitor);
  811. accept(declaration, visitor);
  812. }
  813. visitor->endVisit(this);
  814. }
  815. void ThrowExpressionAST::accept0(ASTVisitor *visitor)
  816. {
  817. if (visitor->visit(this)) {
  818. accept(expression, visitor);
  819. }
  820. visitor->endVisit(this);
  821. }
  822. void TranslationUnitAST::accept0(ASTVisitor *visitor)
  823. {
  824. if (visitor->visit(this)) {
  825. accept(declaration_list, visitor);
  826. }
  827. visitor->endVisit(this);
  828. }
  829. void TryBlockStatementAST::accept0(ASTVisitor *visitor)
  830. {
  831. if (visitor->visit(this)) {
  832. accept(statement, visitor);
  833. accept(catch_clause_list, visitor);
  834. }
  835. visitor->endVisit(this);
  836. }
  837. void CatchClauseAST::accept0(ASTVisitor *visitor)
  838. {
  839. if (visitor->visit(this)) {
  840. accept(exception_declaration, visitor);
  841. accept(statement, visitor);
  842. }
  843. visitor->endVisit(this);
  844. }
  845. void TypeIdAST::accept0(ASTVisitor *visitor)
  846. {
  847. if (visitor->visit(this)) {
  848. accept(type_specifier_list, visitor);
  849. accept(declarator, visitor);
  850. }
  851. visitor->endVisit(this);
  852. }
  853. void TypenameTypeParameterAST::accept0(ASTVisitor *visitor)
  854. {
  855. if (visitor->visit(this)) {
  856. accept(name, visitor);
  857. accept(type_id, visitor);
  858. }
  859. visitor->endVisit(this);
  860. }
  861. void TemplateTypeParameterAST::accept0(ASTVisitor *visitor)
  862. {
  863. if (visitor->visit(this)) {
  864. accept(template_parameter_list, visitor);
  865. accept(name, visitor);
  866. accept(type_id, visitor);
  867. }
  868. visitor->endVisit(this);
  869. }
  870. void UnaryExpressionAST::accept0(ASTVisitor *visitor)
  871. {
  872. if (visitor->visit(this)) {
  873. accept(expression, visitor);
  874. }
  875. visitor->endVisit(this);
  876. }
  877. void UsingAST::accept0(ASTVisitor *visitor)
  878. {
  879. if (visitor->visit(this)) {
  880. accept(name, visitor);
  881. }
  882. visitor->endVisit(this);
  883. }
  884. void UsingDirectiveAST::accept0(ASTVisitor *visitor)
  885. {
  886. if (visitor->visit(this)) {
  887. accept(name, visitor);
  888. }
  889. visitor->endVisit(this);
  890. }
  891. void WhileStatementAST::accept0(ASTVisitor *visitor)
  892. {
  893. if (visitor->visit(this)) {
  894. accept(condition, visitor);
  895. accept(statement, visitor);
  896. }
  897. visitor->endVisit(this);
  898. }
  899. void ObjCClassForwardDeclarationAST::accept0(ASTVisitor *visitor)
  900. {
  901. if (visitor->visit(this)) {
  902. accept(attribute_list, visitor);
  903. accept(identifier_list, visitor);
  904. }
  905. visitor->endVisit(this);
  906. }
  907. void ObjCClassDeclarationAST::accept0(ASTVisitor *visitor)
  908. {
  909. if (visitor->visit(this)) {
  910. accept(attribute_list, visitor);
  911. accept(class_name, visitor);
  912. accept(category_name, visitor);
  913. accept(superclass, visitor);
  914. accept(protocol_refs, visitor);
  915. accept(inst_vars_decl, visitor);
  916. accept(member_declaration_list, visitor);
  917. }
  918. visitor->endVisit(this);
  919. }
  920. void ObjCProtocolForwardDeclarationAST::accept0(ASTVisitor *visitor)
  921. {
  922. if (visitor->visit(this)) {
  923. accept(attribute_list, visitor);
  924. accept(identifier_list, visitor);
  925. }
  926. visitor->endVisit(this);
  927. }
  928. void ObjCProtocolDeclarationAST::accept0(ASTVisitor *visitor)
  929. {
  930. if (visitor->visit(this)) {
  931. accept(attribute_list, visitor);
  932. accept(name, visitor);
  933. accept(protocol_refs, visitor);
  934. accept(member_declaration_list, visitor);
  935. }
  936. visitor->endVisit(this);
  937. }
  938. void ObjCProtocolRefsAST::accept0(ASTVisitor *visitor)
  939. {
  940. if (visitor->visit(this)) {
  941. accept(identifier_list, visitor);
  942. }
  943. visitor->endVisit(this);
  944. }
  945. void ObjCMessageArgumentAST::accept0(ASTVisitor *visitor)
  946. {
  947. if (visitor->visit(this)) {
  948. accept(parameter_value_expression, visitor);
  949. }
  950. visitor->endVisit(this);
  951. }
  952. void ObjCMessageExpressionAST::accept0(ASTVisitor *visitor)
  953. {
  954. if (visitor->visit(this)) {
  955. accept(receiver_expression, visitor);
  956. accept(selector, visitor);
  957. accept(argument_list, visitor);
  958. }
  959. visitor->endVisit(this);
  960. }
  961. void ObjCProtocolExpressionAST::accept0(ASTVisitor *visitor)
  962. {
  963. if (visitor->visit(this)) {
  964. }
  965. visitor->endVisit(this);
  966. }
  967. void ObjCTypeNameAST::accept0(ASTVisitor *visitor)
  968. {
  969. if (visitor->visit(this)) {
  970. accept(type_id, visitor);
  971. }
  972. visitor->endVisit(this);
  973. }
  974. void ObjCEncodeExpressionAST::accept0(ASTVisitor *visitor)
  975. {
  976. if (visitor->visit(this)) {
  977. accept(type_name, visitor);
  978. }
  979. visitor->endVisit(this);
  980. }
  981. void ObjCSelectorExpressionAST::accept0(ASTVisitor *visitor)
  982. {
  983. if (visitor->visit(this)) {
  984. accept(selector, visitor);
  985. }
  986. visitor->endVisit(this);
  987. }
  988. void ObjCInstanceVariablesDeclarationAST::accept0(ASTVisitor *visitor)
  989. {
  990. if (visitor->visit(this)) {
  991. accept(instance_variable_list, visitor);
  992. }
  993. visitor->endVisit(this);
  994. }
  995. void ObjCVisibilityDeclarationAST::accept0(ASTVisitor *visitor)
  996. {
  997. if (visitor->visit(this)) {
  998. }
  999. visitor->endVisit(this);
  1000. }
  1001. void ObjCPropertyAttributeAST::accept0(ASTVisitor *visitor)
  1002. {
  1003. if (visitor->visit(this)) {
  1004. accept(method_selector, visitor);
  1005. }
  1006. visitor->endVisit(this);
  1007. }
  1008. void ObjCPropertyDeclarationAST::accept0(ASTVisitor *visitor)
  1009. {
  1010. if (visitor->visit(this)) {
  1011. accept(attribute_list, visitor);
  1012. accept(property_attribute_list, visitor);
  1013. accept(simple_declaration, visitor);
  1014. }
  1015. visitor->endVisit(this);
  1016. }
  1017. void ObjCMessageArgumentDeclarationAST::accept0(ASTVisitor *visitor)
  1018. {
  1019. if (visitor->visit(this)) {
  1020. accept(type_name, visitor);
  1021. accept(attribute_list, visitor);
  1022. accept(param_name, visitor);
  1023. }
  1024. visitor->endVisit(this);
  1025. }
  1026. void ObjCMethodPrototypeAST::accept0(ASTVisitor *visitor)
  1027. {
  1028. if (visitor->visit(this)) {
  1029. accept(type_name, visitor);
  1030. accept(selector, visitor);
  1031. accept(argument_list, visitor);
  1032. accept(attribute_list, visitor);
  1033. }
  1034. visitor->endVisit(this);
  1035. }
  1036. void ObjCMethodDeclarationAST::accept0(ASTVisitor *visitor)
  1037. {
  1038. if (visitor->visit(this)) {
  1039. accept(method_prototype, visitor);
  1040. accept(function_body, visitor);
  1041. }
  1042. visitor->endVisit(this);
  1043. }
  1044. void ObjCSynthesizedPropertyAST::accept0(ASTVisitor *visitor)
  1045. {
  1046. if (visitor->visit(this)) {
  1047. }
  1048. visitor->endVisit(this);
  1049. }
  1050. void ObjCSynthesizedPropertiesDeclarationAST::accept0(ASTVisitor *visitor)
  1051. {
  1052. if (visitor->visit(this)) {
  1053. accept(property_identifier_list, visitor);
  1054. }
  1055. visitor->endVisit(this);
  1056. }
  1057. void ObjCDynamicPropertiesDeclarationAST::accept0(ASTVisitor *visitor)
  1058. {
  1059. if (visitor->visit(this)) {
  1060. accept(property_identifier_list, visitor);
  1061. }
  1062. visitor->endVisit(this);
  1063. }
  1064. void ObjCFastEnumerationAST::accept0(ASTVisitor *visitor)
  1065. {
  1066. if (visitor->visit(this)) {
  1067. accept(type_specifier_list, visitor);
  1068. accept(declarator, visitor);
  1069. accept(initializer, visitor);
  1070. accept(fast_enumeratable_expression, visitor);
  1071. accept(statement, visitor);
  1072. }
  1073. visitor->endVisit(this);
  1074. }
  1075. void ObjCSynchronizedStatementAST::accept0(ASTVisitor *visitor)
  1076. {
  1077. if (visitor->visit(this)) {
  1078. accept(synchronized_object, visitor);
  1079. accept(statement, visitor);
  1080. }
  1081. visitor->endVisit(this);
  1082. }
  1083. void LambdaExpressionAST::accept0(ASTVisitor *visitor)
  1084. {
  1085. if (visitor->visit(this)) {
  1086. accept(lambda_introducer, visitor);
  1087. accept(lambda_declarator, visitor);
  1088. accept(statement, visitor);
  1089. }
  1090. visitor->endVisit(this);
  1091. }
  1092. void LambdaIntroducerAST::accept0(ASTVisitor *visitor)
  1093. {
  1094. if (visitor->visit(this)) {
  1095. accept(lambda_capture, visitor);
  1096. }
  1097. visitor->endVisit(this);
  1098. }
  1099. void LambdaCaptureAST::accept0(ASTVisitor *visitor)
  1100. {
  1101. if (visitor->visit(this)) {
  1102. accept(capture_list, visitor);
  1103. }
  1104. visitor->endVisit(this);
  1105. }
  1106. void CaptureAST::accept0(ASTVisitor *visitor)
  1107. {
  1108. if (visitor->visit(this)) {
  1109. accept(identifier, visitor);
  1110. }
  1111. visitor->endVisit(this);
  1112. }
  1113. void LambdaDeclaratorAST::accept0(ASTVisitor *visitor)
  1114. {
  1115. if (visitor->visit(this)) {
  1116. accept(parameter_declaration_clause, visitor);
  1117. accept(attributes, visitor);
  1118. accept(exception_specification, visitor);
  1119. accept(trailing_return_type, visitor);
  1120. }
  1121. visitor->endVisit(this);
  1122. }
  1123. void TrailingReturnTypeAST::accept0(ASTVisitor *visitor)
  1124. {
  1125. if (visitor->visit(this)) {
  1126. accept(attributes, visitor);
  1127. accept(type_specifier_list, visitor);
  1128. accept(declarator, visitor);
  1129. }
  1130. visitor->endVisit(this);
  1131. }
  1132. void BracedInitializerAST::accept0(ASTVisitor *visitor)
  1133. {
  1134. if (visitor->visit(this)) {
  1135. accept(expression_list, visitor);
  1136. }
  1137. visitor->endVisit(this);
  1138. }
  1139. void DotDesignatorAST::accept0(ASTVisitor *visitor)
  1140. {
  1141. if (visitor->visit(this)) {
  1142. }
  1143. visitor->endVisit(this);
  1144. }
  1145. void BracketDesignatorAST::accept0(ASTVisitor *visitor)
  1146. {
  1147. if (visitor->visit(this)) {
  1148. accept(expression, visitor);
  1149. }
  1150. visitor->endVisit(this);
  1151. }
  1152. void DesignatedInitializerAST::accept0(ASTVisitor *visitor)
  1153. {
  1154. if (visitor->visit(this)) {
  1155. accept(designator_list, visitor);
  1156. accept(initializer, visitor);
  1157. }
  1158. visitor->endVisit(this);
  1159. }