node-types.json 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557
  1. [
  2. {
  3. "type": "arg_mapping",
  4. "named": true,
  5. "fields": {},
  6. "children": {
  7. "multiple": true,
  8. "required": true,
  9. "types": [
  10. {
  11. "type": "arg_mapping_to",
  12. "named": true
  13. },
  14. {
  15. "type": "name",
  16. "named": true
  17. }
  18. ]
  19. }
  20. },
  21. {
  22. "type": "arg_mapping_to",
  23. "named": true,
  24. "fields": {},
  25. "children": {
  26. "multiple": false,
  27. "required": true,
  28. "types": [
  29. {
  30. "type": "expr",
  31. "named": true
  32. }
  33. ]
  34. }
  35. },
  36. {
  37. "type": "binding",
  38. "named": true,
  39. "fields": {},
  40. "children": {
  41. "multiple": false,
  42. "required": true,
  43. "types": [
  44. {
  45. "type": "binding_cps",
  46. "named": true
  47. },
  48. {
  49. "type": "binding_plain",
  50. "named": true
  51. }
  52. ]
  53. }
  54. },
  55. {
  56. "type": "binding_cps",
  57. "named": true,
  58. "fields": {},
  59. "children": {
  60. "multiple": true,
  61. "required": true,
  62. "types": [
  63. {
  64. "type": "cps_pattern",
  65. "named": true
  66. },
  67. {
  68. "type": "expr",
  69. "named": true
  70. },
  71. {
  72. "type": "ref",
  73. "named": true
  74. }
  75. ]
  76. }
  77. },
  78. {
  79. "type": "binding_plain",
  80. "named": true,
  81. "fields": {},
  82. "children": {
  83. "multiple": true,
  84. "required": true,
  85. "types": [
  86. {
  87. "type": "expr",
  88. "named": true
  89. },
  90. {
  91. "type": "pattern",
  92. "named": true
  93. }
  94. ]
  95. }
  96. },
  97. {
  98. "type": "block",
  99. "named": true,
  100. "fields": {},
  101. "children": {
  102. "multiple": true,
  103. "required": true,
  104. "types": [
  105. {
  106. "type": "binding",
  107. "named": true
  108. },
  109. {
  110. "type": "expr",
  111. "named": true
  112. }
  113. ]
  114. }
  115. },
  116. {
  117. "type": "body",
  118. "named": true,
  119. "fields": {},
  120. "children": {
  121. "multiple": false,
  122. "required": true,
  123. "types": [
  124. {
  125. "type": "block",
  126. "named": true
  127. },
  128. {
  129. "type": "native_body",
  130. "named": true
  131. }
  132. ]
  133. }
  134. },
  135. {
  136. "type": "bytes",
  137. "named": true,
  138. "fields": {},
  139. "children": {
  140. "multiple": true,
  141. "required": true,
  142. "types": [
  143. {
  144. "type": "byte",
  145. "named": true
  146. }
  147. ]
  148. }
  149. },
  150. {
  151. "type": "call_ordered",
  152. "named": true,
  153. "fields": {},
  154. "children": {
  155. "multiple": true,
  156. "required": false,
  157. "types": [
  158. {
  159. "type": "expr",
  160. "named": true
  161. }
  162. ]
  163. }
  164. },
  165. {
  166. "type": "call_unordered",
  167. "named": true,
  168. "fields": {},
  169. "children": {
  170. "multiple": true,
  171. "required": false,
  172. "types": [
  173. {
  174. "type": "arg_mapping",
  175. "named": true
  176. }
  177. ]
  178. }
  179. },
  180. {
  181. "type": "case",
  182. "named": true,
  183. "fields": {},
  184. "children": {
  185. "multiple": true,
  186. "required": true,
  187. "types": [
  188. {
  189. "type": "expr",
  190. "named": true
  191. },
  192. {
  193. "type": "name",
  194. "named": true
  195. },
  196. {
  197. "type": "pattern",
  198. "named": true
  199. }
  200. ]
  201. }
  202. },
  203. {
  204. "type": "cast",
  205. "named": true,
  206. "fields": {},
  207. "children": {
  208. "multiple": false,
  209. "required": true,
  210. "types": [
  211. {
  212. "type": "type",
  213. "named": true
  214. }
  215. ]
  216. }
  217. },
  218. {
  219. "type": "cond",
  220. "named": true,
  221. "fields": {},
  222. "children": {
  223. "multiple": true,
  224. "required": true,
  225. "types": [
  226. {
  227. "type": "cond_pattern",
  228. "named": true
  229. },
  230. {
  231. "type": "expr",
  232. "named": true
  233. }
  234. ]
  235. }
  236. },
  237. {
  238. "type": "cond_pattern",
  239. "named": true,
  240. "fields": {},
  241. "children": {
  242. "multiple": false,
  243. "required": true,
  244. "types": [
  245. {
  246. "type": "pattern",
  247. "named": true
  248. }
  249. ]
  250. }
  251. },
  252. {
  253. "type": "cps_pattern",
  254. "named": true,
  255. "fields": {},
  256. "children": {
  257. "multiple": false,
  258. "required": true,
  259. "types": [
  260. {
  261. "type": "pattern",
  262. "named": true
  263. }
  264. ]
  265. }
  266. },
  267. {
  268. "type": "decl_const",
  269. "named": true,
  270. "fields": {},
  271. "children": {
  272. "multiple": true,
  273. "required": true,
  274. "types": [
  275. {
  276. "type": "body",
  277. "named": true
  278. },
  279. {
  280. "type": "docs",
  281. "named": true
  282. },
  283. {
  284. "type": "name",
  285. "named": true
  286. },
  287. {
  288. "type": "type",
  289. "named": true
  290. }
  291. ]
  292. }
  293. },
  294. {
  295. "type": "decl_entry",
  296. "named": true,
  297. "fields": {},
  298. "children": {
  299. "multiple": false,
  300. "required": true,
  301. "types": [
  302. {
  303. "type": "block",
  304. "named": true
  305. }
  306. ]
  307. }
  308. },
  309. {
  310. "type": "decl_func",
  311. "named": true,
  312. "fields": {},
  313. "children": {
  314. "multiple": true,
  315. "required": true,
  316. "types": [
  317. {
  318. "type": "body",
  319. "named": true
  320. },
  321. {
  322. "type": "docs",
  323. "named": true
  324. },
  325. {
  326. "type": "name",
  327. "named": true
  328. },
  329. {
  330. "type": "sig",
  331. "named": true
  332. }
  333. ]
  334. }
  335. },
  336. {
  337. "type": "decl_method",
  338. "named": true,
  339. "fields": {},
  340. "children": {
  341. "multiple": true,
  342. "required": true,
  343. "types": [
  344. {
  345. "type": "body",
  346. "named": true
  347. },
  348. {
  349. "type": "docs",
  350. "named": true
  351. },
  352. {
  353. "type": "name",
  354. "named": true
  355. },
  356. {
  357. "type": "receiver",
  358. "named": true
  359. },
  360. {
  361. "type": "type",
  362. "named": true
  363. }
  364. ]
  365. }
  366. },
  367. {
  368. "type": "decl_type",
  369. "named": true,
  370. "fields": {},
  371. "children": {
  372. "multiple": true,
  373. "required": true,
  374. "types": [
  375. {
  376. "type": "docs",
  377. "named": true
  378. },
  379. {
  380. "type": "impl",
  381. "named": true
  382. },
  383. {
  384. "type": "name",
  385. "named": true
  386. },
  387. {
  388. "type": "type_def",
  389. "named": true
  390. },
  391. {
  392. "type": "type_params",
  393. "named": true
  394. }
  395. ]
  396. }
  397. },
  398. {
  399. "type": "docs",
  400. "named": true,
  401. "fields": {},
  402. "children": {
  403. "multiple": true,
  404. "required": true,
  405. "types": [
  406. {
  407. "type": "doc",
  408. "named": true
  409. }
  410. ]
  411. }
  412. },
  413. {
  414. "type": "elif",
  415. "named": true,
  416. "fields": {},
  417. "children": {
  418. "multiple": true,
  419. "required": true,
  420. "types": [
  421. {
  422. "type": "block",
  423. "named": true
  424. },
  425. {
  426. "type": "cond",
  427. "named": true
  428. }
  429. ]
  430. }
  431. },
  432. {
  433. "type": "enum",
  434. "named": true,
  435. "fields": {},
  436. "children": {
  437. "multiple": true,
  438. "required": true,
  439. "types": [
  440. {
  441. "type": "enum_item",
  442. "named": true
  443. }
  444. ]
  445. }
  446. },
  447. {
  448. "type": "enum_item",
  449. "named": true,
  450. "fields": {},
  451. "children": {
  452. "multiple": true,
  453. "required": true,
  454. "types": [
  455. {
  456. "type": "docs",
  457. "named": true
  458. },
  459. {
  460. "type": "name",
  461. "named": true
  462. }
  463. ]
  464. }
  465. },
  466. {
  467. "type": "expr",
  468. "named": true,
  469. "fields": {},
  470. "children": {
  471. "multiple": true,
  472. "required": true,
  473. "types": [
  474. {
  475. "type": "cast",
  476. "named": true
  477. },
  478. {
  479. "type": "pipe",
  480. "named": true
  481. },
  482. {
  483. "type": "term",
  484. "named": true
  485. }
  486. ]
  487. }
  488. },
  489. {
  490. "type": "field",
  491. "named": true,
  492. "fields": {},
  493. "children": {
  494. "multiple": true,
  495. "required": true,
  496. "types": [
  497. {
  498. "type": "docs",
  499. "named": true
  500. },
  501. {
  502. "type": "field_default",
  503. "named": true
  504. },
  505. {
  506. "type": "name",
  507. "named": true
  508. },
  509. {
  510. "type": "type",
  511. "named": true
  512. }
  513. ]
  514. }
  515. },
  516. {
  517. "type": "field_default",
  518. "named": true,
  519. "fields": {},
  520. "children": {
  521. "multiple": false,
  522. "required": true,
  523. "types": [
  524. {
  525. "type": "expr",
  526. "named": true
  527. }
  528. ]
  529. }
  530. },
  531. {
  532. "type": "if",
  533. "named": true,
  534. "fields": {},
  535. "children": {
  536. "multiple": true,
  537. "required": true,
  538. "types": [
  539. {
  540. "type": "cond",
  541. "named": true
  542. },
  543. {
  544. "type": "elif",
  545. "named": true
  546. },
  547. {
  548. "type": "if_no",
  549. "named": true
  550. },
  551. {
  552. "type": "if_yes",
  553. "named": true
  554. }
  555. ]
  556. }
  557. },
  558. {
  559. "type": "if_no",
  560. "named": true,
  561. "fields": {},
  562. "children": {
  563. "multiple": false,
  564. "required": true,
  565. "types": [
  566. {
  567. "type": "block",
  568. "named": true
  569. }
  570. ]
  571. }
  572. },
  573. {
  574. "type": "if_yes",
  575. "named": true,
  576. "fields": {},
  577. "children": {
  578. "multiple": false,
  579. "required": true,
  580. "types": [
  581. {
  582. "type": "block",
  583. "named": true
  584. }
  585. ]
  586. }
  587. },
  588. {
  589. "type": "impl",
  590. "named": true,
  591. "fields": {},
  592. "children": {
  593. "multiple": true,
  594. "required": false,
  595. "types": [
  596. {
  597. "type": "ref_base",
  598. "named": true
  599. }
  600. ]
  601. }
  602. },
  603. {
  604. "type": "implicit",
  605. "named": true,
  606. "fields": {},
  607. "children": {
  608. "multiple": false,
  609. "required": true,
  610. "types": [
  611. {
  612. "type": "inputs",
  613. "named": true
  614. }
  615. ]
  616. }
  617. },
  618. {
  619. "type": "infix_left",
  620. "named": true,
  621. "fields": {},
  622. "children": {
  623. "multiple": false,
  624. "required": true,
  625. "types": [
  626. {
  627. "type": "expr",
  628. "named": true
  629. }
  630. ]
  631. }
  632. },
  633. {
  634. "type": "infix_right",
  635. "named": true,
  636. "fields": {},
  637. "children": {
  638. "multiple": false,
  639. "required": true,
  640. "types": [
  641. {
  642. "type": "expr",
  643. "named": true
  644. }
  645. ]
  646. }
  647. },
  648. {
  649. "type": "infix_term",
  650. "named": true,
  651. "fields": {},
  652. "children": {
  653. "multiple": true,
  654. "required": true,
  655. "types": [
  656. {
  657. "type": "infix_left",
  658. "named": true
  659. },
  660. {
  661. "type": "infix_right",
  662. "named": true
  663. },
  664. {
  665. "type": "operator",
  666. "named": true
  667. }
  668. ]
  669. }
  670. },
  671. {
  672. "type": "inputs",
  673. "named": true,
  674. "fields": {},
  675. "children": {
  676. "multiple": false,
  677. "required": true,
  678. "types": [
  679. {
  680. "type": "record_def",
  681. "named": true
  682. }
  683. ]
  684. }
  685. },
  686. {
  687. "type": "interface",
  688. "named": true,
  689. "fields": {},
  690. "children": {
  691. "multiple": true,
  692. "required": false,
  693. "types": [
  694. {
  695. "type": "method",
  696. "named": true
  697. }
  698. ]
  699. }
  700. },
  701. {
  702. "type": "lambda",
  703. "named": true,
  704. "fields": {},
  705. "children": {
  706. "multiple": true,
  707. "required": true,
  708. "types": [
  709. {
  710. "type": "expr",
  711. "named": true
  712. },
  713. {
  714. "type": "lambda_self",
  715. "named": true
  716. },
  717. {
  718. "type": "pattern",
  719. "named": true
  720. }
  721. ]
  722. }
  723. },
  724. {
  725. "type": "lambda_self",
  726. "named": true,
  727. "fields": {},
  728. "children": {
  729. "multiple": false,
  730. "required": true,
  731. "types": [
  732. {
  733. "type": "name",
  734. "named": true
  735. }
  736. ]
  737. }
  738. },
  739. {
  740. "type": "method",
  741. "named": true,
  742. "fields": {},
  743. "children": {
  744. "multiple": true,
  745. "required": true,
  746. "types": [
  747. {
  748. "type": "docs",
  749. "named": true
  750. },
  751. {
  752. "type": "name",
  753. "named": true
  754. },
  755. {
  756. "type": "type",
  757. "named": true
  758. }
  759. ]
  760. }
  761. },
  762. {
  763. "type": "native_body",
  764. "named": true,
  765. "fields": {},
  766. "children": {
  767. "multiple": false,
  768. "required": true,
  769. "types": [
  770. {
  771. "type": "text",
  772. "named": true
  773. }
  774. ]
  775. }
  776. },
  777. {
  778. "type": "ns",
  779. "named": true,
  780. "fields": {},
  781. "children": {
  782. "multiple": false,
  783. "required": false,
  784. "types": [
  785. {
  786. "type": "name",
  787. "named": true
  788. }
  789. ]
  790. }
  791. },
  792. {
  793. "type": "ns_prefix",
  794. "named": true,
  795. "fields": {},
  796. "children": {
  797. "multiple": false,
  798. "required": true,
  799. "types": [
  800. {
  801. "type": "name",
  802. "named": true
  803. }
  804. ]
  805. }
  806. },
  807. {
  808. "type": "operator",
  809. "named": true,
  810. "fields": {},
  811. "children": {
  812. "multiple": false,
  813. "required": true,
  814. "types": [
  815. {
  816. "type": "ref",
  817. "named": true
  818. }
  819. ]
  820. }
  821. },
  822. {
  823. "type": "output",
  824. "named": true,
  825. "fields": {},
  826. "children": {
  827. "multiple": false,
  828. "required": true,
  829. "types": [
  830. {
  831. "type": "type",
  832. "named": true
  833. }
  834. ]
  835. }
  836. },
  837. {
  838. "type": "pattern",
  839. "named": true,
  840. "fields": {},
  841. "children": {
  842. "multiple": false,
  843. "required": true,
  844. "types": [
  845. {
  846. "type": "pattern_multiple",
  847. "named": true
  848. },
  849. {
  850. "type": "pattern_single",
  851. "named": true
  852. }
  853. ]
  854. }
  855. },
  856. {
  857. "type": "pattern_multiple",
  858. "named": true,
  859. "fields": {},
  860. "children": {
  861. "multiple": true,
  862. "required": true,
  863. "types": [
  864. {
  865. "type": "name",
  866. "named": true
  867. }
  868. ]
  869. }
  870. },
  871. {
  872. "type": "pattern_single",
  873. "named": true,
  874. "fields": {},
  875. "children": {
  876. "multiple": false,
  877. "required": true,
  878. "types": [
  879. {
  880. "type": "name",
  881. "named": true
  882. }
  883. ]
  884. }
  885. },
  886. {
  887. "type": "pipe",
  888. "named": true,
  889. "fields": {},
  890. "children": {
  891. "multiple": false,
  892. "required": true,
  893. "types": [
  894. {
  895. "type": "pipe_call",
  896. "named": true
  897. },
  898. {
  899. "type": "pipe_cast",
  900. "named": true
  901. },
  902. {
  903. "type": "pipe_get",
  904. "named": true
  905. },
  906. {
  907. "type": "pipe_infix",
  908. "named": true
  909. },
  910. {
  911. "type": "pipe_interior",
  912. "named": true
  913. }
  914. ]
  915. }
  916. },
  917. {
  918. "type": "pipe_call",
  919. "named": true,
  920. "fields": {},
  921. "children": {
  922. "multiple": false,
  923. "required": true,
  924. "types": [
  925. {
  926. "type": "call_ordered",
  927. "named": true
  928. },
  929. {
  930. "type": "call_unordered",
  931. "named": true
  932. }
  933. ]
  934. }
  935. },
  936. {
  937. "type": "pipe_cast",
  938. "named": true,
  939. "fields": {},
  940. "children": {
  941. "multiple": false,
  942. "required": true,
  943. "types": [
  944. {
  945. "type": "cast",
  946. "named": true
  947. }
  948. ]
  949. }
  950. },
  951. {
  952. "type": "pipe_get",
  953. "named": true,
  954. "fields": {},
  955. "children": {
  956. "multiple": false,
  957. "required": true,
  958. "types": [
  959. {
  960. "type": "name",
  961. "named": true
  962. }
  963. ]
  964. }
  965. },
  966. {
  967. "type": "pipe_infix",
  968. "named": true,
  969. "fields": {},
  970. "children": {
  971. "multiple": true,
  972. "required": true,
  973. "types": [
  974. {
  975. "type": "pipe_call",
  976. "named": true
  977. },
  978. {
  979. "type": "ref",
  980. "named": true
  981. }
  982. ]
  983. }
  984. },
  985. {
  986. "type": "pipe_interior",
  987. "named": true,
  988. "fields": {},
  989. "children": {
  990. "multiple": false,
  991. "required": true,
  992. "types": [
  993. {
  994. "type": "ref_base",
  995. "named": true
  996. }
  997. ]
  998. }
  999. },
  1000. {
  1001. "type": "receiver",
  1002. "named": true,
  1003. "fields": {},
  1004. "children": {
  1005. "multiple": false,
  1006. "required": true,
  1007. "types": [
  1008. {
  1009. "type": "name",
  1010. "named": true
  1011. }
  1012. ]
  1013. }
  1014. },
  1015. {
  1016. "type": "record",
  1017. "named": true,
  1018. "fields": {},
  1019. "children": {
  1020. "multiple": false,
  1021. "required": true,
  1022. "types": [
  1023. {
  1024. "type": "record_def",
  1025. "named": true
  1026. }
  1027. ]
  1028. }
  1029. },
  1030. {
  1031. "type": "record_def",
  1032. "named": true,
  1033. "fields": {},
  1034. "children": {
  1035. "multiple": true,
  1036. "required": false,
  1037. "types": [
  1038. {
  1039. "type": "field",
  1040. "named": true
  1041. }
  1042. ]
  1043. }
  1044. },
  1045. {
  1046. "type": "ref",
  1047. "named": true,
  1048. "fields": {},
  1049. "children": {
  1050. "multiple": true,
  1051. "required": true,
  1052. "types": [
  1053. {
  1054. "type": "ref_base",
  1055. "named": true
  1056. },
  1057. {
  1058. "type": "type_args",
  1059. "named": true
  1060. }
  1061. ]
  1062. }
  1063. },
  1064. {
  1065. "type": "ref_base",
  1066. "named": true,
  1067. "fields": {},
  1068. "children": {
  1069. "multiple": true,
  1070. "required": true,
  1071. "types": [
  1072. {
  1073. "type": "name",
  1074. "named": true
  1075. },
  1076. {
  1077. "type": "ns_prefix",
  1078. "named": true
  1079. }
  1080. ]
  1081. }
  1082. },
  1083. {
  1084. "type": "ref_term",
  1085. "named": true,
  1086. "fields": {},
  1087. "children": {
  1088. "multiple": false,
  1089. "required": true,
  1090. "types": [
  1091. {
  1092. "type": "ref",
  1093. "named": true
  1094. }
  1095. ]
  1096. }
  1097. },
  1098. {
  1099. "type": "sig",
  1100. "named": true,
  1101. "fields": {},
  1102. "children": {
  1103. "multiple": true,
  1104. "required": true,
  1105. "types": [
  1106. {
  1107. "type": "implicit",
  1108. "named": true
  1109. },
  1110. {
  1111. "type": "inputs",
  1112. "named": true
  1113. },
  1114. {
  1115. "type": "output",
  1116. "named": true
  1117. },
  1118. {
  1119. "type": "type_params",
  1120. "named": true
  1121. }
  1122. ]
  1123. }
  1124. },
  1125. {
  1126. "type": "source_file",
  1127. "named": true,
  1128. "fields": {},
  1129. "children": {
  1130. "multiple": true,
  1131. "required": true,
  1132. "types": [
  1133. {
  1134. "type": "ns",
  1135. "named": true
  1136. },
  1137. {
  1138. "type": "stmt",
  1139. "named": true
  1140. }
  1141. ]
  1142. }
  1143. },
  1144. {
  1145. "type": "stmt",
  1146. "named": true,
  1147. "fields": {},
  1148. "children": {
  1149. "multiple": false,
  1150. "required": true,
  1151. "types": [
  1152. {
  1153. "type": "decl_const",
  1154. "named": true
  1155. },
  1156. {
  1157. "type": "decl_entry",
  1158. "named": true
  1159. },
  1160. {
  1161. "type": "decl_func",
  1162. "named": true
  1163. },
  1164. {
  1165. "type": "decl_method",
  1166. "named": true
  1167. },
  1168. {
  1169. "type": "decl_type",
  1170. "named": true
  1171. }
  1172. ]
  1173. }
  1174. },
  1175. {
  1176. "type": "string",
  1177. "named": true,
  1178. "fields": {},
  1179. "children": {
  1180. "multiple": true,
  1181. "required": true,
  1182. "types": [
  1183. {
  1184. "type": "string_part",
  1185. "named": true
  1186. },
  1187. {
  1188. "type": "text",
  1189. "named": true
  1190. }
  1191. ]
  1192. }
  1193. },
  1194. {
  1195. "type": "string_part",
  1196. "named": true,
  1197. "fields": {},
  1198. "children": {
  1199. "multiple": false,
  1200. "required": true,
  1201. "types": [
  1202. {
  1203. "type": "string_part_content",
  1204. "named": true
  1205. }
  1206. ]
  1207. }
  1208. },
  1209. {
  1210. "type": "string_part_content",
  1211. "named": true,
  1212. "fields": {},
  1213. "children": {
  1214. "multiple": false,
  1215. "required": true,
  1216. "types": [
  1217. {
  1218. "type": "char",
  1219. "named": true
  1220. },
  1221. {
  1222. "type": "text",
  1223. "named": true
  1224. }
  1225. ]
  1226. }
  1227. },
  1228. {
  1229. "type": "term",
  1230. "named": true,
  1231. "fields": {},
  1232. "children": {
  1233. "multiple": false,
  1234. "required": true,
  1235. "types": [
  1236. {
  1237. "type": "block",
  1238. "named": true
  1239. },
  1240. {
  1241. "type": "bytes",
  1242. "named": true
  1243. },
  1244. {
  1245. "type": "char",
  1246. "named": true
  1247. },
  1248. {
  1249. "type": "float",
  1250. "named": true
  1251. },
  1252. {
  1253. "type": "if",
  1254. "named": true
  1255. },
  1256. {
  1257. "type": "infix_term",
  1258. "named": true
  1259. },
  1260. {
  1261. "type": "int",
  1262. "named": true
  1263. },
  1264. {
  1265. "type": "lambda",
  1266. "named": true
  1267. },
  1268. {
  1269. "type": "ref_term",
  1270. "named": true
  1271. },
  1272. {
  1273. "type": "string",
  1274. "named": true
  1275. },
  1276. {
  1277. "type": "when",
  1278. "named": true
  1279. }
  1280. ]
  1281. }
  1282. },
  1283. {
  1284. "type": "type",
  1285. "named": true,
  1286. "fields": {},
  1287. "children": {
  1288. "multiple": false,
  1289. "required": true,
  1290. "types": [
  1291. {
  1292. "type": "ref",
  1293. "named": true
  1294. }
  1295. ]
  1296. }
  1297. },
  1298. {
  1299. "type": "type_args",
  1300. "named": true,
  1301. "fields": {},
  1302. "children": {
  1303. "multiple": true,
  1304. "required": false,
  1305. "types": [
  1306. {
  1307. "type": "type",
  1308. "named": true
  1309. }
  1310. ]
  1311. }
  1312. },
  1313. {
  1314. "type": "type_def",
  1315. "named": true,
  1316. "fields": {},
  1317. "children": {
  1318. "multiple": false,
  1319. "required": false,
  1320. "types": [
  1321. {
  1322. "type": "enum",
  1323. "named": true
  1324. },
  1325. {
  1326. "type": "interface",
  1327. "named": true
  1328. },
  1329. {
  1330. "type": "record",
  1331. "named": true
  1332. },
  1333. {
  1334. "type": "union",
  1335. "named": true
  1336. }
  1337. ]
  1338. }
  1339. },
  1340. {
  1341. "type": "type_params",
  1342. "named": true,
  1343. "fields": {},
  1344. "children": {
  1345. "multiple": true,
  1346. "required": false,
  1347. "types": [
  1348. {
  1349. "type": "name",
  1350. "named": true
  1351. }
  1352. ]
  1353. }
  1354. },
  1355. {
  1356. "type": "union",
  1357. "named": true,
  1358. "fields": {},
  1359. "children": {
  1360. "multiple": true,
  1361. "required": true,
  1362. "types": [
  1363. {
  1364. "type": "type",
  1365. "named": true
  1366. }
  1367. ]
  1368. }
  1369. },
  1370. {
  1371. "type": "when",
  1372. "named": true,
  1373. "fields": {},
  1374. "children": {
  1375. "multiple": true,
  1376. "required": true,
  1377. "types": [
  1378. {
  1379. "type": "case",
  1380. "named": true
  1381. },
  1382. {
  1383. "type": "expr",
  1384. "named": true
  1385. }
  1386. ]
  1387. }
  1388. },
  1389. {
  1390. "type": "&",
  1391. "named": false
  1392. },
  1393. {
  1394. "type": "(",
  1395. "named": false
  1396. },
  1397. {
  1398. "type": ")",
  1399. "named": false
  1400. },
  1401. {
  1402. "type": ",",
  1403. "named": false
  1404. },
  1405. {
  1406. "type": ".",
  1407. "named": false
  1408. },
  1409. {
  1410. "type": "..",
  1411. "named": false
  1412. },
  1413. {
  1414. "type": ":",
  1415. "named": false
  1416. },
  1417. {
  1418. "type": "::",
  1419. "named": false
  1420. },
  1421. {
  1422. "type": "=",
  1423. "named": false
  1424. },
  1425. {
  1426. "type": "=>",
  1427. "named": false
  1428. },
  1429. {
  1430. "type": "@",
  1431. "named": false
  1432. },
  1433. {
  1434. "type": "[",
  1435. "named": false
  1436. },
  1437. {
  1438. "type": "]",
  1439. "named": false
  1440. },
  1441. {
  1442. "type": "byte",
  1443. "named": true
  1444. },
  1445. {
  1446. "type": "char",
  1447. "named": true
  1448. },
  1449. {
  1450. "type": "const",
  1451. "named": false
  1452. },
  1453. {
  1454. "type": "default",
  1455. "named": false
  1456. },
  1457. {
  1458. "type": "doc",
  1459. "named": true
  1460. },
  1461. {
  1462. "type": "else",
  1463. "named": false
  1464. },
  1465. {
  1466. "type": "entry",
  1467. "named": false
  1468. },
  1469. {
  1470. "type": "enum",
  1471. "named": false
  1472. },
  1473. {
  1474. "type": "float",
  1475. "named": true
  1476. },
  1477. {
  1478. "type": "function",
  1479. "named": false
  1480. },
  1481. {
  1482. "type": "if",
  1483. "named": false
  1484. },
  1485. {
  1486. "type": "int",
  1487. "named": true
  1488. },
  1489. {
  1490. "type": "interface",
  1491. "named": false
  1492. },
  1493. {
  1494. "type": "let",
  1495. "named": false
  1496. },
  1497. {
  1498. "type": "method",
  1499. "named": false
  1500. },
  1501. {
  1502. "type": "name",
  1503. "named": true
  1504. },
  1505. {
  1506. "type": "namespace",
  1507. "named": false
  1508. },
  1509. {
  1510. "type": "native",
  1511. "named": false
  1512. },
  1513. {
  1514. "type": "new",
  1515. "named": false
  1516. },
  1517. {
  1518. "type": "operator",
  1519. "named": false
  1520. },
  1521. {
  1522. "type": "record",
  1523. "named": false
  1524. },
  1525. {
  1526. "type": "text",
  1527. "named": true
  1528. },
  1529. {
  1530. "type": "type",
  1531. "named": false
  1532. },
  1533. {
  1534. "type": "union",
  1535. "named": false
  1536. },
  1537. {
  1538. "type": "variadic",
  1539. "named": false
  1540. },
  1541. {
  1542. "type": "when",
  1543. "named": false
  1544. },
  1545. {
  1546. "type": "{",
  1547. "named": false
  1548. },
  1549. {
  1550. "type": "|",
  1551. "named": false
  1552. },
  1553. {
  1554. "type": "}",
  1555. "named": false
  1556. }
  1557. ]