@apple/tree-sitter-pkl 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/.editorconfig +46 -0
  2. package/.gitattributes +50 -0
  3. package/CHANGELOG.adoc +88 -0
  4. package/CMakeLists.txt +66 -0
  5. package/Cargo.lock +21 -21
  6. package/Cargo.toml +1 -1
  7. package/Makefile +97 -0
  8. package/Package.swift +24 -0
  9. package/README.md +40 -0
  10. package/bindings/c/tree-sitter-pkl.h +16 -0
  11. package/bindings/c/tree-sitter-pkl.pc.in +10 -0
  12. package/bindings/c/tree_sitter/tree-sitter-pkl.h +16 -0
  13. package/bindings/go/binding.go +15 -0
  14. package/bindings/go/binding_test.go +15 -0
  15. package/bindings/node/binding_test.js +9 -0
  16. package/bindings/node/index.d.ts +27 -0
  17. package/bindings/python/tests/test_binding.py +12 -0
  18. package/bindings/python/tree_sitter_pkl/__init__.py +42 -0
  19. package/bindings/python/tree_sitter_pkl/__init__.pyi +10 -0
  20. package/bindings/python/tree_sitter_pkl/binding.c +35 -0
  21. package/bindings/python/tree_sitter_pkl/py.typed +0 -0
  22. package/bindings/swift/TreeSitterPkl/pkl.h +16 -0
  23. package/bindings/swift/TreeSitterPklTests/TreeSitterPklTests.swift +12 -0
  24. package/go.mod +5 -0
  25. package/gradle.properties +5 -0
  26. package/gradlew +251 -0
  27. package/gradlew.bat +94 -0
  28. package/grammar.js +322 -208
  29. package/licenserc.toml +23 -0
  30. package/package.json +4 -4
  31. package/pyproject.toml +29 -0
  32. package/queries/highlights.scm +14 -24
  33. package/queries/injections.scm +4 -4
  34. package/queries/locals.scm +2 -2
  35. package/scripts/license-header.txt +13 -0
  36. package/setup.py +77 -0
  37. package/src/grammar.json +1495 -1041
  38. package/src/node-types.json +4261 -1172
  39. package/src/parser.c +41920 -50720
  40. package/src/scanner.c +97 -29
  41. package/src/tree_sitter/alloc.h +54 -0
  42. package/src/tree_sitter/array.h +291 -0
  43. package/src/tree_sitter/parser.h +80 -17
  44. package/test/corpus/basic/annotation.txt +241 -0
  45. package/test/corpus/basic/comments.txt +41 -0
  46. package/test/corpus/basic/shebangComment.txt +15 -0
  47. package/test/corpus/basic/types.txt +187 -0
  48. package/test/corpus/class/constModifier.txt +23 -0
  49. package/test/corpus/class/fixedModifier.txt +23 -0
  50. package/test/corpus/expr/binary.txt +107 -0
  51. package/test/corpus/expr/binary2.txt +18 -0
  52. package/test/corpus/expr/functionLiteral.txt +22 -0
  53. package/test/corpus/expr/if.txt +15 -0
  54. package/test/corpus/expr/import.txt +20 -0
  55. package/test/corpus/expr/let.txt +17 -0
  56. package/test/corpus/expr/new.txt +34 -0
  57. package/test/corpus/expr/qualifiedAccess.txt +102 -0
  58. package/test/corpus/expr/read.txt +26 -0
  59. package/test/corpus/expr/subscript.txt +48 -0
  60. package/test/corpus/expr/super.txt +27 -0
  61. package/test/corpus/expr/throw.txt +13 -0
  62. package/test/corpus/expr/trace.txt +13 -0
  63. package/test/corpus/expr/typeTest.txt +29 -0
  64. package/test/corpus/expr/unaryMinus.txt +22 -0
  65. package/test/corpus/module/moduleHeader1.txt +23 -0
  66. package/test/corpus/module/moduleHeader2.txt +29 -0
  67. package/test/corpus/module/moduleHeader3.error.txt +23 -0
  68. package/test/corpus/module/moduleHeader4.txt +34 -0
  69. package/test/corpus/module/moduleHeader5.txt +16 -0
  70. package/test/corpus/module/moduleHeader6.txt +17 -0
  71. package/test/corpus/number/underscores.txt +99 -0
  72. package/test/corpus/object/mixedEntriesAndElements.txt +52 -0
  73. package/test/corpus/object/objectAmendChain.txt +38 -0
  74. package/test/corpus/object/objectBodyParams.txt +21 -0
  75. package/test/corpus/object/objectElementWithTypeConstraint +30 -0
  76. package/test/corpus/object/objectElementsWithParens.txt +51 -0
  77. package/test/corpus/object/objectElementsWithTypeParams +65 -0
  78. package/test/corpus/object/objectGenerator.txt +53 -0
  79. package/test/corpus/object/objectMember.txt +129 -0
  80. package/test/corpus/object/objectMemberPredicate.txt +41 -0
  81. package/test/corpus/object/objectSpread.txt +51 -0
  82. package/test/corpus/object/objectWhenGenerator.txt +71 -0
  83. package/test/corpus/snippetTests/annotation/annotation1.txt +284 -0
  84. package/test/corpus/snippetTests/annotation/annotation2.txt +20 -0
  85. package/test/corpus/snippetTests/annotation/annotation3.txt +24 -0
  86. package/test/corpus/snippetTests/annotation/annotation4.txt +32 -0
  87. package/test/corpus/snippetTests/annotation/annotation5.txt +28 -0
  88. package/test/corpus/snippetTests/annotation/annotation6.txt +19 -0
  89. package/test/corpus/snippetTests/annotation/annotationIsNotExpression.txt +29 -0
  90. package/test/corpus/snippetTests/annotation/deprecated1.txt +385 -0
  91. package/test/corpus/snippetTests/annotation/deprecated2.txt +99 -0
  92. package/test/corpus/snippetTests/annotation/deprecated3.txt +155 -0
  93. package/test/corpus/snippetTests/annotation/deprecatedNoRepeatedWarnings.txt +58 -0
  94. package/test/corpus/snippetTests/annotation/deprecatedWithMessage1.txt +405 -0
  95. package/test/corpus/snippetTests/annotation/deprecatedWithMessage2.txt +104 -0
  96. package/test/corpus/snippetTests/annotation/deprecatedWithMessage3.txt +155 -0
  97. package/test/corpus/snippetTests/annotation/deprecationSuperMethod.txt +144 -0
  98. package/test/corpus/snippetTests/api/Resource.txt +128 -0
  99. package/test/corpus/snippetTests/api/analyze1.txt +176 -0
  100. package/test/corpus/snippetTests/api/any.txt +523 -0
  101. package/test/corpus/snippetTests/api/anyConverter.txt +161 -0
  102. package/test/corpus/snippetTests/api/baseModule.txt +170 -0
  103. package/test/corpus/snippetTests/api/dataSize.txt +1165 -0
  104. package/test/corpus/snippetTests/api/duration.txt +800 -0
  105. package/test/corpus/snippetTests/api/float.txt +1334 -0
  106. package/test/corpus/snippetTests/api/int.txt +1142 -0
  107. package/test/corpus/snippetTests/api/intseq.txt +1021 -0
  108. package/test/corpus/snippetTests/api/jsonParser1.txt +279 -0
  109. package/test/corpus/snippetTests/api/jsonParser2.txt +294 -0
  110. package/test/corpus/snippetTests/api/jsonParser3.txt +143 -0
  111. package/test/corpus/snippetTests/api/jsonParser4.txt +112 -0
  112. package/test/corpus/snippetTests/api/jsonParser5.txt +171 -0
  113. package/test/corpus/snippetTests/api/jsonRenderer1.json.txt +41 -0
  114. package/test/corpus/snippetTests/api/jsonRenderer2b.txt +300 -0
  115. package/test/corpus/snippetTests/api/jsonRenderer3.json.txt +334 -0
  116. package/test/corpus/snippetTests/api/jsonRenderer4.txt +388 -0
  117. package/test/corpus/snippetTests/api/jsonRenderer5.txt +388 -0
  118. package/test/corpus/snippetTests/api/jsonRenderer6.json.txt +163 -0
  119. package/test/corpus/snippetTests/api/jsonRenderer7.txt +53 -0
  120. package/test/corpus/snippetTests/api/jsonRenderer8.txt +30 -0
  121. package/test/corpus/snippetTests/api/jsonRendererEmptyComposites.txt +114 -0
  122. package/test/corpus/snippetTests/api/jsonnetRenderer3.jsonnet.txt +356 -0
  123. package/test/corpus/snippetTests/api/jsonnetRenderer4.txt +393 -0
  124. package/test/corpus/snippetTests/api/jsonnetRenderer5.txt +393 -0
  125. package/test/corpus/snippetTests/api/jsonnetRenderer6.jsonnet.txt +169 -0
  126. package/test/corpus/snippetTests/api/jsonnetRenderer7.txt +36 -0
  127. package/test/corpus/snippetTests/api/list.txt +4432 -0
  128. package/test/corpus/snippetTests/api/listNullable.txt +1513 -0
  129. package/test/corpus/snippetTests/api/map.txt +1144 -0
  130. package/test/corpus/snippetTests/api/mapping.txt +948 -0
  131. package/test/corpus/snippetTests/api/mathModule.txt +1426 -0
  132. package/test/corpus/snippetTests/api/module.txt +77 -0
  133. package/test/corpus/snippetTests/api/moduleOutput.txt +24 -0
  134. package/test/corpus/snippetTests/api/moduleOutput2.txt +25 -0
  135. package/test/corpus/snippetTests/api/pListRenderer1.plist.txt +41 -0
  136. package/test/corpus/snippetTests/api/pListRenderer3.plist.txt +348 -0
  137. package/test/corpus/snippetTests/api/pListRenderer4.txt +375 -0
  138. package/test/corpus/snippetTests/api/pListRenderer5.txt +424 -0
  139. package/test/corpus/snippetTests/api/pListRenderer6.plist.txt +163 -0
  140. package/test/corpus/snippetTests/api/pListRenderer7.txt +30 -0
  141. package/test/corpus/snippetTests/api/pair.txt +170 -0
  142. package/test/corpus/snippetTests/api/pcfRenderer1.txt +95 -0
  143. package/test/corpus/snippetTests/api/pcfRenderer2b.txt +301 -0
  144. package/test/corpus/snippetTests/api/pcfRenderer3.txt +350 -0
  145. package/test/corpus/snippetTests/api/pcfRenderer4.txt +391 -0
  146. package/test/corpus/snippetTests/api/pcfRenderer5.txt +460 -0
  147. package/test/corpus/snippetTests/api/pcfRenderer6.txt +118 -0
  148. package/test/corpus/snippetTests/api/pcfRenderer8.txt +16 -0
  149. package/test/corpus/snippetTests/api/platformModule.txt +147 -0
  150. package/test/corpus/snippetTests/api/plistRenderer2b.txt +300 -0
  151. package/test/corpus/snippetTests/api/propertiesRenderer1.properties.txt +41 -0
  152. package/test/corpus/snippetTests/api/propertiesRenderer10.properties.txt +24 -0
  153. package/test/corpus/snippetTests/api/propertiesRenderer11.txt +30 -0
  154. package/test/corpus/snippetTests/api/propertiesRenderer2b.txt +303 -0
  155. package/test/corpus/snippetTests/api/propertiesRenderer4.txt +484 -0
  156. package/test/corpus/snippetTests/api/propertiesRenderer5.txt +491 -0
  157. package/test/corpus/snippetTests/api/propertiesRenderer8.properties.txt +628 -0
  158. package/test/corpus/snippetTests/api/propertiesRenderer9.properties.txt +292 -0
  159. package/test/corpus/snippetTests/api/propertiesRendererBug66849708.properties.txt +106 -0
  160. package/test/corpus/snippetTests/api/protobuf2.txt +408 -0
  161. package/test/corpus/snippetTests/api/reflect1.txt +1686 -0
  162. package/test/corpus/snippetTests/api/reflect2.txt +480 -0
  163. package/test/corpus/snippetTests/api/reflect3.txt +193 -0
  164. package/test/corpus/snippetTests/api/reflectedDeclaration.txt +64 -0
  165. package/test/corpus/snippetTests/api/regex.txt +320 -0
  166. package/test/corpus/snippetTests/api/releaseModule.txt +262 -0
  167. package/test/corpus/snippetTests/api/renderDirective2.txt +374 -0
  168. package/test/corpus/snippetTests/api/semverModule.txt +2224 -0
  169. package/test/corpus/snippetTests/api/set.txt +3891 -0
  170. package/test/corpus/snippetTests/api/setNullable.txt +1113 -0
  171. package/test/corpus/snippetTests/api/typeAliases.txt +449 -0
  172. package/test/corpus/snippetTests/api/typeConverters.txt +211 -0
  173. package/test/corpus/snippetTests/api/xmlRenderer1.xml.txt +174 -0
  174. package/test/corpus/snippetTests/api/xmlRenderer2b.txt +306 -0
  175. package/test/corpus/snippetTests/api/xmlRenderer3.xml.txt +320 -0
  176. package/test/corpus/snippetTests/api/xmlRenderer4.txt +401 -0
  177. package/test/corpus/snippetTests/api/xmlRenderer5.txt +402 -0
  178. package/test/corpus/snippetTests/api/xmlRenderer6.xml.txt +169 -0
  179. package/test/corpus/snippetTests/api/xmlRenderer8.txt +36 -0
  180. package/test/corpus/snippetTests/api/xmlRendererCData.xml.txt +48 -0
  181. package/test/corpus/snippetTests/api/xmlRendererElement.xml.txt +103 -0
  182. package/test/corpus/snippetTests/api/xmlRendererHtml.xml.txt +212 -0
  183. package/test/corpus/snippetTests/api/xmlRendererInline.xml.txt +175 -0
  184. package/test/corpus/snippetTests/api/xmlRendererInline3.xml.txt +152 -0
  185. package/test/corpus/snippetTests/api/yamlParser1Yaml11.txt +22 -0
  186. package/test/corpus/snippetTests/api/yamlParser1Yaml12.txt +22 -0
  187. package/test/corpus/snippetTests/api/yamlParser2.txt +253 -0
  188. package/test/corpus/snippetTests/api/yamlParser3.txt +194 -0
  189. package/test/corpus/snippetTests/api/yamlParser4.txt +198 -0
  190. package/test/corpus/snippetTests/api/yamlParser5.txt +86 -0
  191. package/test/corpus/snippetTests/api/yamlParser6.txt +92 -0
  192. package/test/corpus/snippetTests/api/yamlRenderer1.yml.txt +41 -0
  193. package/test/corpus/snippetTests/api/yamlRenderer2b.txt +300 -0
  194. package/test/corpus/snippetTests/api/yamlRenderer3.yml.txt +342 -0
  195. package/test/corpus/snippetTests/api/yamlRenderer4.txt +441 -0
  196. package/test/corpus/snippetTests/api/yamlRenderer5.txt +441 -0
  197. package/test/corpus/snippetTests/api/yamlRenderer6.yml.txt +163 -0
  198. package/test/corpus/snippetTests/api/yamlRenderer7.txt +30 -0
  199. package/test/corpus/snippetTests/api/yamlRenderer8.yml.txt +142 -0
  200. package/test/corpus/snippetTests/api/yamlRendererBug66849708.yml.txt +106 -0
  201. package/test/corpus/snippetTests/api/yamlRendererEmpty.yml.txt +326 -0
  202. package/test/corpus/snippetTests/api/yamlRendererIndentationWidth2.yml.txt +227 -0
  203. package/test/corpus/snippetTests/api/yamlRendererIndentationWidth4.yml.txt +32 -0
  204. package/test/corpus/snippetTests/api/yamlRendererIndentationWidth5.yml.txt +32 -0
  205. package/test/corpus/snippetTests/api/yamlRendererStream1.txt +140 -0
  206. package/test/corpus/snippetTests/api/yamlRendererStringsYaml11.txt +22 -0
  207. package/test/corpus/snippetTests/api/yamlRendererStringsYaml12.txt +22 -0
  208. package/test/corpus/snippetTests/basic/amendsChains.txt +275 -0
  209. package/test/corpus/snippetTests/basic/as.txt +1468 -0
  210. package/test/corpus/snippetTests/basic/as2.txt +1077 -0
  211. package/test/corpus/snippetTests/basic/as3.txt +297 -0
  212. package/test/corpus/snippetTests/basic/baseModule.txt +11 -0
  213. package/test/corpus/snippetTests/basic/boolean.txt +430 -0
  214. package/test/corpus/snippetTests/basic/constModifier.txt +324 -0
  215. package/test/corpus/snippetTests/basic/constModifier2.txt +227 -0
  216. package/test/corpus/snippetTests/basic/constModifier3.txt +136 -0
  217. package/test/corpus/snippetTests/basic/constModifier4.txt +64 -0
  218. package/test/corpus/snippetTests/basic/constModifier5.txt +68 -0
  219. package/test/corpus/snippetTests/basic/dataSize.txt +658 -0
  220. package/test/corpus/snippetTests/basic/duration.txt +618 -0
  221. package/test/corpus/snippetTests/basic/exceptions.txt +18 -0
  222. package/test/corpus/snippetTests/basic/fixedProperty1.txt +62 -0
  223. package/test/corpus/snippetTests/basic/fixedProperty2.txt +33 -0
  224. package/test/corpus/snippetTests/basic/fixedProperty3.txt +31 -0
  225. package/test/corpus/snippetTests/basic/fixedProperty4.txt +15 -0
  226. package/test/corpus/snippetTests/basic/fixedProperty5.txt +20 -0
  227. package/test/corpus/snippetTests/basic/fixedProperty6.txt +15 -0
  228. package/test/corpus/snippetTests/basic/if.txt +83 -0
  229. package/test/corpus/snippetTests/basic/import1.txt +51 -0
  230. package/test/corpus/snippetTests/basic/import1b.txt +51 -0
  231. package/test/corpus/snippetTests/basic/import2.txt +34 -0
  232. package/test/corpus/snippetTests/basic/import3.txt +34 -0
  233. package/test/corpus/snippetTests/basic/imported.txt +19 -0
  234. package/test/corpus/snippetTests/basic/indexExpressions.txt +53 -0
  235. package/test/corpus/snippetTests/basic/intseq.txt +365 -0
  236. package/test/corpus/snippetTests/basic/is.txt +1504 -0
  237. package/test/corpus/snippetTests/basic/is2.txt +677 -0
  238. package/test/corpus/snippetTests/basic/let.txt +515 -0
  239. package/test/corpus/snippetTests/basic/letTyped.txt +293 -0
  240. package/test/corpus/snippetTests/basic/list.txt +252 -0
  241. package/test/corpus/snippetTests/basic/localMethodDynamicBinding.txt +187 -0
  242. package/test/corpus/snippetTests/basic/localMethodInAmendingModule.txt +216 -0
  243. package/test/corpus/snippetTests/basic/localMethodOverride1.txt +152 -0
  244. package/test/corpus/snippetTests/basic/localMethodOverride2.txt +173 -0
  245. package/test/corpus/snippetTests/basic/localMethodTyped.txt +564 -0
  246. package/test/corpus/snippetTests/basic/localMethodTyped2.txt +580 -0
  247. package/test/corpus/snippetTests/basic/localMethodTyped3.txt +218 -0
  248. package/test/corpus/snippetTests/basic/localMethodTyped4.txt +232 -0
  249. package/test/corpus/snippetTests/basic/localMethodTyped5.txt +211 -0
  250. package/test/corpus/snippetTests/basic/localMethodTyped6.txt +225 -0
  251. package/test/corpus/snippetTests/basic/localMethodUntyped.txt +488 -0
  252. package/test/corpus/snippetTests/basic/localModuleMemberOverride1.txt +227 -0
  253. package/test/corpus/snippetTests/basic/localModuleMemberOverride2.txt +202 -0
  254. package/test/corpus/snippetTests/basic/localProperty1.txt +33 -0
  255. package/test/corpus/snippetTests/basic/localProperty2.txt +77 -0
  256. package/test/corpus/snippetTests/basic/localPropertyAmendInAmendingModule.txt +25 -0
  257. package/test/corpus/snippetTests/basic/localPropertyInAmendingModule.txt +205 -0
  258. package/test/corpus/snippetTests/basic/localPropertyOverride1.txt +131 -0
  259. package/test/corpus/snippetTests/basic/localPropertyOverride2.txt +152 -0
  260. package/test/corpus/snippetTests/basic/localPropertyOverride3.txt +52 -0
  261. package/test/corpus/snippetTests/basic/localTypedClassMember.txt +277 -0
  262. package/test/corpus/snippetTests/basic/localTypedModuleMember.txt +265 -0
  263. package/test/corpus/snippetTests/basic/localTypedObjectMember.txt +268 -0
  264. package/test/corpus/snippetTests/basic/map.txt +398 -0
  265. package/test/corpus/snippetTests/basic/minPklVersion.txt +40 -0
  266. package/test/corpus/snippetTests/basic/moduleRef1.txt +108 -0
  267. package/test/corpus/snippetTests/basic/moduleRef2.txt +80 -0
  268. package/test/corpus/snippetTests/basic/moduleRef3.txt +112 -0
  269. package/test/corpus/snippetTests/basic/moduleRefLibrary.txt +33 -0
  270. package/test/corpus/snippetTests/basic/new.txt +1028 -0
  271. package/test/corpus/snippetTests/basic/newInAmendingModuleMethod.txt +116 -0
  272. package/test/corpus/snippetTests/basic/newInsideIf.txt +841 -0
  273. package/test/corpus/snippetTests/basic/newInsideLet.txt +869 -0
  274. package/test/corpus/snippetTests/basic/newType.txt +686 -0
  275. package/test/corpus/snippetTests/basic/nonNull.txt +131 -0
  276. package/test/corpus/snippetTests/basic/nullable.txt +239 -0
  277. package/test/corpus/snippetTests/basic/objectMember.txt +129 -0
  278. package/test/corpus/snippetTests/basic/objectMemberInvalid.txt +18 -0
  279. package/test/corpus/snippetTests/basic/objectMemberInvalid2.txt +18 -0
  280. package/test/corpus/snippetTests/basic/objectMemberInvalid3.txt +22 -0
  281. package/test/corpus/snippetTests/basic/parens.txt +59 -0
  282. package/test/corpus/snippetTests/basic/propertyDefaults.txt +126 -0
  283. package/test/corpus/snippetTests/basic/read.txt +250 -0
  284. package/test/corpus/snippetTests/basic/readGlob.txt +209 -0
  285. package/test/corpus/snippetTests/basic/semicolon.txt +18 -0
  286. package/test/corpus/snippetTests/basic/set.txt +340 -0
  287. package/test/corpus/snippetTests/basic/trace.txt +130 -0
  288. package/test/corpus/snippetTests/basic/typeResolution1.txt +31 -0
  289. package/test/corpus/snippetTests/basic/typeResolution2.txt +37 -0
  290. package/test/corpus/snippetTests/basic/typeResolution3.txt +63 -0
  291. package/test/corpus/snippetTests/basic/typeResolution4.txt +61 -0
  292. package/test/corpus/snippetTests/basic/underscore.txt +419 -0
  293. package/test/corpus/snippetTests/classes/class1.txt +54 -0
  294. package/test/corpus/snippetTests/classes/class2.txt +123 -0
  295. package/test/corpus/snippetTests/classes/class2a.txt +110 -0
  296. package/test/corpus/snippetTests/classes/class3.txt +65 -0
  297. package/test/corpus/snippetTests/classes/class4.txt +58 -0
  298. package/test/corpus/snippetTests/classes/constraints1.txt +141 -0
  299. package/test/corpus/snippetTests/classes/constraints11.txt +201 -0
  300. package/test/corpus/snippetTests/classes/constraints12.txt +204 -0
  301. package/test/corpus/snippetTests/classes/constraints13.txt +86 -0
  302. package/test/corpus/snippetTests/classes/constraints14.txt +39 -0
  303. package/test/corpus/snippetTests/classes/constraints2.txt +69 -0
  304. package/test/corpus/snippetTests/classes/constraints3.txt +97 -0
  305. package/test/corpus/snippetTests/classes/constraints4.txt +86 -0
  306. package/test/corpus/snippetTests/classes/constraints5.txt +71 -0
  307. package/test/corpus/snippetTests/classes/constraints6.txt +85 -0
  308. package/test/corpus/snippetTests/classes/constraints7.txt +148 -0
  309. package/test/corpus/snippetTests/classes/constraints8.txt +103 -0
  310. package/test/corpus/snippetTests/classes/constraints9.txt +92 -0
  311. package/test/corpus/snippetTests/classes/constraintsLambdaThis.txt +216 -0
  312. package/test/corpus/snippetTests/classes/equality.txt +123 -0
  313. package/test/corpus/snippetTests/classes/externalClass.txt +12 -0
  314. package/test/corpus/snippetTests/classes/externalFunction.txt +18 -0
  315. package/test/corpus/snippetTests/classes/externalProperty.txt +20 -0
  316. package/test/corpus/snippetTests/classes/functions1.txt +77 -0
  317. package/test/corpus/snippetTests/classes/functions2.txt +56 -0
  318. package/test/corpus/snippetTests/classes/functions3.txt +81 -0
  319. package/test/corpus/snippetTests/classes/functions4.txt +125 -0
  320. package/test/corpus/snippetTests/classes/inheritance1.txt +98 -0
  321. package/test/corpus/snippetTests/classes/inheritance2.txt +91 -0
  322. package/test/corpus/snippetTests/classes/invalidInstantiation1.txt +16 -0
  323. package/test/corpus/snippetTests/classes/invalidInstantiation2.txt +21 -0
  324. package/test/corpus/snippetTests/classes/lambdaConstraints1.txt +190 -0
  325. package/test/corpus/snippetTests/classes/listConstraints1.txt +312 -0
  326. package/test/corpus/snippetTests/classes/mapConstraints1.txt +495 -0
  327. package/test/corpus/snippetTests/classes/nullableTypes.txt +187 -0
  328. package/test/corpus/snippetTests/classes/setConstraints1.txt +312 -0
  329. package/test/corpus/snippetTests/classes/supercalls.txt +317 -0
  330. package/test/corpus/snippetTests/classes/unionTypes.txt +543 -0
  331. package/test/corpus/snippetTests/classes/unionTypesErrorAlias.txt +93 -0
  332. package/test/corpus/snippetTests/classes/unionTypesErrorDifferent1.txt +47 -0
  333. package/test/corpus/snippetTests/classes/unionTypesErrorDifferent2.txt +52 -0
  334. package/test/corpus/snippetTests/classes/unionTypesErrorMultipleAliases.txt +36 -0
  335. package/test/corpus/snippetTests/classes/unionTypesErrorNested.txt +99 -0
  336. package/test/corpus/snippetTests/classes/unionTypesErrorSimple.txt +42 -0
  337. package/test/corpus/snippetTests/classes/unionTypesErrorString1.txt +43 -0
  338. package/test/corpus/snippetTests/classes/unionTypesErrorString2.txt +85 -0
  339. package/test/corpus/snippetTests/classes/wrongType1.txt +34 -0
  340. package/test/corpus/snippetTests/classes/wrongType2.txt +47 -0
  341. package/test/corpus/snippetTests/classes/wrongType3.txt +71 -0
  342. package/test/corpus/snippetTests/classes/wrongType4.txt +77 -0
  343. package/test/corpus/snippetTests/classes/wrongType6.txt +43 -0
  344. package/test/corpus/snippetTests/errors/abstractOpenMember.txt +13 -0
  345. package/test/corpus/snippetTests/errors/analyzeImportsCannotFindModule.txt +41 -0
  346. package/test/corpus/snippetTests/errors/analyzeImportsInvalidGlob.txt +41 -0
  347. package/test/corpus/snippetTests/errors/analyzeInvalidHttpModule.txt +26 -0
  348. package/test/corpus/snippetTests/errors/analyzeInvalidModuleUri.txt +26 -0
  349. package/test/corpus/snippetTests/errors/analyzeRelativeModuleUri.txt +26 -0
  350. package/test/corpus/snippetTests/errors/anyConverterError.txt +56 -0
  351. package/test/corpus/snippetTests/errors/baseModule.txt +24 -0
  352. package/test/corpus/snippetTests/errors/cannotAmendFixedProperty1.txt +62 -0
  353. package/test/corpus/snippetTests/errors/cannotAmendFixedProperty2.txt +24 -0
  354. package/test/corpus/snippetTests/errors/cannotAssignFixedProperty1.txt +45 -0
  355. package/test/corpus/snippetTests/errors/cannotAssignFixedProperty2.txt +19 -0
  356. package/test/corpus/snippetTests/errors/cannotAssignFixedProperty3.txt +31 -0
  357. package/test/corpus/snippetTests/errors/cannotAssignToNothing.txt +15 -0
  358. package/test/corpus/snippetTests/errors/cannotChangeFixed1.txt +35 -0
  359. package/test/corpus/snippetTests/errors/cannotChangeFixed2.txt +35 -0
  360. package/test/corpus/snippetTests/errors/cannotFindMapKey.txt +39 -0
  361. package/test/corpus/snippetTests/errors/cannotFindStdLibModule.txt +20 -0
  362. package/test/corpus/snippetTests/errors/cannotInferParent2.txt +14 -0
  363. package/test/corpus/snippetTests/errors/cannotInferParent3.txt +48 -0
  364. package/test/corpus/snippetTests/errors/cannotInstantiateAbstractModule.txt +21 -0
  365. package/test/corpus/snippetTests/errors/cannotRenderMixin.txt +41 -0
  366. package/test/corpus/snippetTests/errors/classExtendsSelf.txt +27 -0
  367. package/test/corpus/snippetTests/errors/constraintDetails1.txt +80 -0
  368. package/test/corpus/snippetTests/errors/constraintDetails2.txt +77 -0
  369. package/test/corpus/snippetTests/errors/constraintDetails3.txt +87 -0
  370. package/test/corpus/snippetTests/errors/duplicateTypeParameter.txt +22 -0
  371. package/test/corpus/snippetTests/errors/extendExternalClass.txt +12 -0
  372. package/test/corpus/snippetTests/errors/extendTypeAlias.txt +33 -0
  373. package/test/corpus/snippetTests/errors/forGeneratorCannotGenerateMethods.txt +30 -0
  374. package/test/corpus/snippetTests/errors/forGeneratorCannotGenerateProperties.txt +28 -0
  375. package/test/corpus/snippetTests/errors/forGeneratorCannotIterateOverThisValue.txt +21 -0
  376. package/test/corpus/snippetTests/errors/forGeneratorCannotIterateOverTyped.txt +27 -0
  377. package/test/corpus/snippetTests/errors/forGeneratorDuplicateParams1.txt +38 -0
  378. package/test/corpus/snippetTests/errors/fullStackTraces.txt +64 -0
  379. package/test/corpus/snippetTests/errors/fullStackTraces2.txt +56 -0
  380. package/test/corpus/snippetTests/errors/functionNotFoundInClass.txt +35 -0
  381. package/test/corpus/snippetTests/errors/functionNotFoundInModule.txt +25 -0
  382. package/test/corpus/snippetTests/errors/functionNotFoundInScope.txt +38 -0
  383. package/test/corpus/snippetTests/errors/functionNotFoundMaybeLambda.txt +24 -0
  384. package/test/corpus/snippetTests/errors/functionNotFoundMaybeProperty.txt +18 -0
  385. package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias1.txt +16 -0
  386. package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias2.txt +16 -0
  387. package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias3.txt +15 -0
  388. package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias4.txt +15 -0
  389. package/test/corpus/snippetTests/errors/invalidClassMethodModifier.txt +29 -0
  390. package/test/corpus/snippetTests/errors/invalidClassModifier.txt +11 -0
  391. package/test/corpus/snippetTests/errors/invalidClassModifier2.txt +12 -0
  392. package/test/corpus/snippetTests/errors/invalidClassPropertyModifier.txt +31 -0
  393. package/test/corpus/snippetTests/errors/invalidGlobImport1.txt +19 -0
  394. package/test/corpus/snippetTests/errors/invalidGlobImport4.txt +19 -0
  395. package/test/corpus/snippetTests/errors/invalidGlobImport5.txt +20 -0
  396. package/test/corpus/snippetTests/errors/invalidGlobImport6.txt +14 -0
  397. package/test/corpus/snippetTests/errors/invalidGlobImport7.txt +21 -0
  398. package/test/corpus/snippetTests/errors/invalidGlobImport8.txt +22 -0
  399. package/test/corpus/snippetTests/errors/invalidGlobRead1.txt +14 -0
  400. package/test/corpus/snippetTests/errors/invalidGlobRead2.txt +14 -0
  401. package/test/corpus/snippetTests/errors/invalidGlobRead3.txt +14 -0
  402. package/test/corpus/snippetTests/errors/invalidImportBackslashSep.txt +14 -0
  403. package/test/corpus/snippetTests/errors/invalidImportUri.txt +19 -0
  404. package/test/corpus/snippetTests/errors/invalidMethodModifier.txt +14 -0
  405. package/test/corpus/snippetTests/errors/invalidModuleModifier.txt +20 -0
  406. package/test/corpus/snippetTests/errors/invalidObjectPropertyModifier.txt +17 -0
  407. package/test/corpus/snippetTests/errors/invalidOutput1.txt +17 -0
  408. package/test/corpus/snippetTests/errors/invalidOutput2.txt +22 -0
  409. package/test/corpus/snippetTests/errors/invalidOutput3.txt +12 -0
  410. package/test/corpus/snippetTests/errors/invalidPropertyModifier.txt +16 -0
  411. package/test/corpus/snippetTests/errors/invalidTripleDotSyntax1.txt +11 -0
  412. package/test/corpus/snippetTests/errors/invalidTripleDotSyntax2.txt +11 -0
  413. package/test/corpus/snippetTests/errors/invalidTypeAliasModifier.txt +14 -0
  414. package/test/corpus/snippetTests/errors/invalidTypeName1.txt +24 -0
  415. package/test/corpus/snippetTests/errors/invalidTypeName2.txt +31 -0
  416. package/test/corpus/snippetTests/errors/invalidTypeName3.txt +19 -0
  417. package/test/corpus/snippetTests/errors/invalidTypeName4.txt +24 -0
  418. package/test/corpus/snippetTests/errors/letExpressionError1.txt +24 -0
  419. package/test/corpus/snippetTests/errors/letExpressionError2.txt +27 -0
  420. package/test/corpus/snippetTests/errors/letExpressionErrorTyped.txt +27 -0
  421. package/test/corpus/snippetTests/errors/listingTypeCheckError1.txt +24 -0
  422. package/test/corpus/snippetTests/errors/listingTypeCheckError2.txt +30 -0
  423. package/test/corpus/snippetTests/errors/listingTypeCheckError3.txt +36 -0
  424. package/test/corpus/snippetTests/errors/listingTypeCheckError4.txt +43 -0
  425. package/test/corpus/snippetTests/errors/listingTypeCheckError5.txt +40 -0
  426. package/test/corpus/snippetTests/errors/listingTypeCheckError6.txt +58 -0
  427. package/test/corpus/snippetTests/errors/listingTypeCheckError7.txt +42 -0
  428. package/test/corpus/snippetTests/errors/listingTypeCheckError8.txt +84 -0
  429. package/test/corpus/snippetTests/errors/listingTypeCheckError9.txt +97 -0
  430. package/test/corpus/snippetTests/errors/localFixedMember.txt +19 -0
  431. package/test/corpus/snippetTests/errors/localFunctionWithTypeParameter.txt +18 -0
  432. package/test/corpus/snippetTests/errors/localHiddenMember.txt +17 -0
  433. package/test/corpus/snippetTests/errors/mappingTypeCheckError1.txt +29 -0
  434. package/test/corpus/snippetTests/errors/mappingTypeCheckError10.txt +49 -0
  435. package/test/corpus/snippetTests/errors/mappingTypeCheckError11.txt +106 -0
  436. package/test/corpus/snippetTests/errors/mappingTypeCheckError2.txt +30 -0
  437. package/test/corpus/snippetTests/errors/mappingTypeCheckError3.txt +30 -0
  438. package/test/corpus/snippetTests/errors/mappingTypeCheckError4.txt +36 -0
  439. package/test/corpus/snippetTests/errors/mappingTypeCheckError5.txt +41 -0
  440. package/test/corpus/snippetTests/errors/mappingTypeCheckError6.txt +75 -0
  441. package/test/corpus/snippetTests/errors/mappingTypeCheckError7.txt +45 -0
  442. package/test/corpus/snippetTests/errors/mappingTypeCheckError8.txt +33 -0
  443. package/test/corpus/snippetTests/errors/mappingTypeCheckError9.txt +69 -0
  444. package/test/corpus/snippetTests/errors/missingLocalPropertyValue1.txt +15 -0
  445. package/test/corpus/snippetTests/errors/missingLocalPropertyValue2.txt +22 -0
  446. package/test/corpus/snippetTests/errors/moduleAmendsSelf.txt +13 -0
  447. package/test/corpus/snippetTests/errors/moduleAmendsVersionCheck.txt +13 -0
  448. package/test/corpus/snippetTests/errors/moduleAmendsVersionCheck2.txt +22 -0
  449. package/test/corpus/snippetTests/errors/moduleExpected.txt +43 -0
  450. package/test/corpus/snippetTests/errors/moduleExtendsSelf.txt +20 -0
  451. package/test/corpus/snippetTests/errors/moduleExtendsVersionCheck.txt +13 -0
  452. package/test/corpus/snippetTests/errors/moduleExtendsVersionCheck2.txt +22 -0
  453. package/test/corpus/snippetTests/errors/moduleImportVersionCheck.txt +20 -0
  454. package/test/corpus/snippetTests/errors/moduleWithHighMinPklVersion.txt +29 -0
  455. package/test/corpus/snippetTests/errors/noDefault.txt +23 -0
  456. package/test/corpus/snippetTests/errors/noDefault2.txt +31 -0
  457. package/test/corpus/snippetTests/errors/objectCannotHaveElement.txt +72 -0
  458. package/test/corpus/snippetTests/errors/objectCannotHaveElement2.txt +98 -0
  459. package/test/corpus/snippetTests/errors/objectCannotHavePredicateMember.txt +25 -0
  460. package/test/corpus/snippetTests/errors/outOfRange1.txt +14 -0
  461. package/test/corpus/snippetTests/errors/outOfRange2.txt +17 -0
  462. package/test/corpus/snippetTests/errors/outOfRange3.txt +21 -0
  463. package/test/corpus/snippetTests/errors/propertyNotFound1.txt +32 -0
  464. package/test/corpus/snippetTests/errors/propertyNotFound2.txt +18 -0
  465. package/test/corpus/snippetTests/errors/refusingToLoadModule.txt +18 -0
  466. package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveElement.txt +38 -0
  467. package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveEntry.txt +34 -0
  468. package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveProperty.txt +34 -0
  469. package/test/corpus/snippetTests/errors/spreadSyntaxCannotIterateOverTyped.txt +44 -0
  470. package/test/corpus/snippetTests/errors/spreadSyntaxCannotSpreadListIntoMapping.txt +37 -0
  471. package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateEntry1.txt +39 -0
  472. package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateEntry2.txt +39 -0
  473. package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateProperty1.txt +32 -0
  474. package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateProperty2.txt +32 -0
  475. package/test/corpus/snippetTests/errors/spreadSyntaxNullValue.txt +20 -0
  476. package/test/corpus/snippetTests/errors/spreadSyntaxUnknownTypedProperty.txt +47 -0
  477. package/test/corpus/snippetTests/errors/stackTraceWithQuotedMemberName.txt +23 -0
  478. package/test/corpus/snippetTests/errors/supercalls.txt +18 -0
  479. package/test/corpus/snippetTests/errors/typeMismatchHelper.txt +19 -0
  480. package/test/corpus/snippetTests/errors/typeMismatchWithSameQualifiedClassName.txt +38 -0
  481. package/test/corpus/snippetTests/errors/typeMismatchWithSameQualifiedModuleName.txt +28 -0
  482. package/test/corpus/snippetTests/errors/undefinedOp1.txt +12 -0
  483. package/test/corpus/snippetTests/errors/undefinedOp2.txt +14 -0
  484. package/test/corpus/snippetTests/errors/undefinedOp3.txt +24 -0
  485. package/test/corpus/snippetTests/errors/undefinedProperty1.txt +28 -0
  486. package/test/corpus/snippetTests/errors/undefinedProperty2.txt +15 -0
  487. package/test/corpus/snippetTests/errors/undefinedProperty3.txt +95 -0
  488. package/test/corpus/snippetTests/errors/undefinedProperty4.txt +141 -0
  489. package/test/corpus/snippetTests/errors/undefinedProperty5.txt +160 -0
  490. package/test/corpus/snippetTests/errors/undefinedProperty6.txt +40 -0
  491. package/test/corpus/snippetTests/errors/undefinedProperty7.txt +35 -0
  492. package/test/corpus/snippetTests/errors/undefinedProperty8.txt +34 -0
  493. package/test/corpus/snippetTests/errors/underscoreLambda.txt +37 -0
  494. package/test/corpus/snippetTests/errors/underscoreLet.txt +17 -0
  495. package/test/corpus/snippetTests/errors/userDefinedTypeParameter1.txt +22 -0
  496. package/test/corpus/snippetTests/errors/userDefinedTypeParameter2.txt +32 -0
  497. package/test/corpus/snippetTests/errors/wrongForGeneratorType1.txt +35 -0
  498. package/test/corpus/snippetTests/errors/wrongForGeneratorType2.txt +37 -0
  499. package/test/corpus/snippetTests/errors/wrongNumberOfMapArguments.txt +16 -0
  500. package/test/corpus/snippetTests/generators/duplicateDefinition1.txt +23 -0
  501. package/test/corpus/snippetTests/generators/duplicateDefinition2.txt +30 -0
  502. package/test/corpus/snippetTests/generators/duplicateDefinition3.txt +26 -0
  503. package/test/corpus/snippetTests/generators/elementGenerators.txt +2628 -0
  504. package/test/corpus/snippetTests/generators/elementGeneratorsTyped.txt +1593 -0
  505. package/test/corpus/snippetTests/generators/entryGenerators.txt +3013 -0
  506. package/test/corpus/snippetTests/generators/entryGeneratorsTyped.txt +1858 -0
  507. package/test/corpus/snippetTests/generators/forGeneratorInMixins.txt +301 -0
  508. package/test/corpus/snippetTests/generators/forGeneratorLexicalScope.txt +199 -0
  509. package/test/corpus/snippetTests/generators/forGeneratorNestedReference.txt +277 -0
  510. package/test/corpus/snippetTests/generators/forGeneratorNestedReference2.txt +98 -0
  511. package/test/corpus/snippetTests/generators/forGeneratorVariableShadowing.txt +177 -0
  512. package/test/corpus/snippetTests/generators/generatorNoMembers.txt +157 -0
  513. package/test/corpus/snippetTests/generators/predicateMembersDynamicListing.txt +461 -0
  514. package/test/corpus/snippetTests/generators/predicateMembersDynamicMapping.txt +473 -0
  515. package/test/corpus/snippetTests/generators/predicateMembersListing.txt +463 -0
  516. package/test/corpus/snippetTests/generators/predicateMembersMapping.txt +474 -0
  517. package/test/corpus/snippetTests/generators/predicateMembersThis.txt +82 -0
  518. package/test/corpus/snippetTests/generators/propertyGenerators.txt +104 -0
  519. package/test/corpus/snippetTests/generators/spreadSyntaxDynamic.txt +411 -0
  520. package/test/corpus/snippetTests/generators/spreadSyntaxListing.txt +496 -0
  521. package/test/corpus/snippetTests/generators/spreadSyntaxMapping.txt +655 -0
  522. package/test/corpus/snippetTests/generators/spreadSyntaxNoSpace.txt +32 -0
  523. package/test/corpus/snippetTests/generators/spreadSyntaxNullable.txt +37 -0
  524. package/test/corpus/snippetTests/generators/spreadSyntaxTyped.txt +59 -0
  525. package/test/corpus/snippetTests/implementation/equality.txt +198 -0
  526. package/test/corpus/snippetTests/implementation/inequality.txt +198 -0
  527. package/test/corpus/snippetTests/internal/polymorphicCallSite.txt +499 -0
  528. package/test/corpus/snippetTests/lambdas/amendLambdaDef.txt +310 -0
  529. package/test/corpus/snippetTests/lambdas/amendLambdaExpr.txt +325 -0
  530. package/test/corpus/snippetTests/lambdas/amendLambdaExternalClassError.txt +45 -0
  531. package/test/corpus/snippetTests/lambdas/amendLambdaParameters.txt +155 -0
  532. package/test/corpus/snippetTests/lambdas/amendLambdaParametersTyped.txt +420 -0
  533. package/test/corpus/snippetTests/lambdas/amendLambdaThatReturnsAnotherLambda.txt +380 -0
  534. package/test/corpus/snippetTests/lambdas/amendLambdaTooFewArgsError.txt +60 -0
  535. package/test/corpus/snippetTests/lambdas/amendLambdaTooManyArgsError.txt +62 -0
  536. package/test/corpus/snippetTests/lambdas/equality.txt +62 -0
  537. package/test/corpus/snippetTests/lambdas/inequality.txt +62 -0
  538. package/test/corpus/snippetTests/lambdas/lambda1.txt +85 -0
  539. package/test/corpus/snippetTests/lambdas/lambda2.txt +78 -0
  540. package/test/corpus/snippetTests/lambdas/lambda3.txt +381 -0
  541. package/test/corpus/snippetTests/lambdas/lambda4.txt +147 -0
  542. package/test/corpus/snippetTests/lambdas/lambda5.txt +307 -0
  543. package/test/corpus/snippetTests/lambdas/lambdaStackTrace1.txt +35 -0
  544. package/test/corpus/snippetTests/lambdas/lambdaStackTrace2.txt +37 -0
  545. package/test/corpus/snippetTests/lambdas/lambdaStackTrace3.txt +33 -0
  546. package/test/corpus/snippetTests/lambdas/pipeOperator.txt +189 -0
  547. package/test/corpus/snippetTests/lambdas/tooManyLambdaParams.txt +27 -0
  548. package/test/corpus/snippetTests/lambdas/typedLambdas.txt +278 -0
  549. package/test/corpus/snippetTests/lambdas/wrongArgumentListLength.txt +37 -0
  550. package/test/corpus/snippetTests/listings/cacheStealing.txt +56 -0
  551. package/test/corpus/snippetTests/listings/cacheStealingTypeCheck.txt +27 -0
  552. package/test/corpus/snippetTests/listings/default.txt +133 -0
  553. package/test/corpus/snippetTests/listings/equality.txt +341 -0
  554. package/test/corpus/snippetTests/listings/hashCode.txt +438 -0
  555. package/test/corpus/snippetTests/listings/inequality.txt +173 -0
  556. package/test/corpus/snippetTests/listings/listing1.txt +360 -0
  557. package/test/corpus/snippetTests/listings/listing2.txt +755 -0
  558. package/test/corpus/snippetTests/listings/listing3.txt +490 -0
  559. package/test/corpus/snippetTests/listings/listing4.txt +156 -0
  560. package/test/corpus/snippetTests/listings/listing6.txt +208 -0
  561. package/test/corpus/snippetTests/listings/listing7.txt +71 -0
  562. package/test/corpus/snippetTests/listings/typeCheck.txt +2506 -0
  563. package/test/corpus/snippetTests/listings/wrongIndex.txt +121 -0
  564. package/test/corpus/snippetTests/listings/wrongParent.txt +253 -0
  565. package/test/corpus/snippetTests/listings2/default.txt +157 -0
  566. package/test/corpus/snippetTests/listings2/equality.txt +358 -0
  567. package/test/corpus/snippetTests/listings2/inequality.txt +227 -0
  568. package/test/corpus/snippetTests/listings2/listing1.txt +372 -0
  569. package/test/corpus/snippetTests/listings2/listing2.txt +904 -0
  570. package/test/corpus/snippetTests/listings2/listing3.txt +568 -0
  571. package/test/corpus/snippetTests/listings2/typeCheck.txt +336 -0
  572. package/test/corpus/snippetTests/listings2/wrongIndex.txt +151 -0
  573. package/test/corpus/snippetTests/listings2/wrongParent.txt +313 -0
  574. package/test/corpus/snippetTests/mappings/default.txt +174 -0
  575. package/test/corpus/snippetTests/mappings/duplicateComputedKey.txt +85 -0
  576. package/test/corpus/snippetTests/mappings/duplicateConstantKey.txt +32 -0
  577. package/test/corpus/snippetTests/mappings/equality.txt +383 -0
  578. package/test/corpus/snippetTests/mappings/hashCode.txt +461 -0
  579. package/test/corpus/snippetTests/mappings/inequality.txt +198 -0
  580. package/test/corpus/snippetTests/mappings/mapping1.txt +590 -0
  581. package/test/corpus/snippetTests/mappings/mapping2.txt +491 -0
  582. package/test/corpus/snippetTests/mappings/stringKeyNotFound.txt +50 -0
  583. package/test/corpus/snippetTests/mappings/typeCheck.txt +2877 -0
  584. package/test/corpus/snippetTests/mappings/wrongParent.txt +262 -0
  585. package/test/corpus/snippetTests/mappings2/default.txt +195 -0
  586. package/test/corpus/snippetTests/mappings2/duplicateComputedKey.txt +99 -0
  587. package/test/corpus/snippetTests/mappings2/duplicateConstantKey.txt +39 -0
  588. package/test/corpus/snippetTests/mappings2/equality.txt +416 -0
  589. package/test/corpus/snippetTests/mappings2/inequality.txt +268 -0
  590. package/test/corpus/snippetTests/mappings2/mapping1.txt +604 -0
  591. package/test/corpus/snippetTests/mappings2/mapping2.txt +595 -0
  592. package/test/corpus/snippetTests/mappings2/stringKeyNotFound.txt +57 -0
  593. package/test/corpus/snippetTests/mappings2/typeCheck.txt +582 -0
  594. package/test/corpus/snippetTests/mappings2/wrongParent.txt +334 -0
  595. package/test/corpus/snippetTests/methods/methodParameterConstraints1.txt +220 -0
  596. package/test/corpus/snippetTests/methods/methodParameterConstraints2.txt +382 -0
  597. package/test/corpus/snippetTests/methods/methodParameterTypes2.txt +734 -0
  598. package/test/corpus/snippetTests/methods/methodParameterTypes3.txt +196 -0
  599. package/test/corpus/snippetTests/modules/amendModule1.txt +36 -0
  600. package/test/corpus/snippetTests/modules/amendModule2.txt +28 -0
  601. package/test/corpus/snippetTests/modules/amendModule3.txt +24 -0
  602. package/test/corpus/snippetTests/modules/amendModule4.txt +35 -0
  603. package/test/corpus/snippetTests/modules/amendModule5.txt +68 -0
  604. package/test/corpus/snippetTests/modules/amendModule6.txt +13 -0
  605. package/test/corpus/snippetTests/modules/equality.txt +91 -0
  606. package/test/corpus/snippetTests/modules/extendModule1.txt +80 -0
  607. package/test/corpus/snippetTests/modules/externalFunction.txt +14 -0
  608. package/test/corpus/snippetTests/modules/externalProperty.txt +16 -0
  609. package/test/corpus/snippetTests/modules/filename with spaces 2.txt +14 -0
  610. package/test/corpus/snippetTests/modules/filename with spaces.txt +13 -0
  611. package/test/corpus/snippetTests/modules/functions.txt +264 -0
  612. package/test/corpus/snippetTests/modules/invalidAmend1.txt +18 -0
  613. package/test/corpus/snippetTests/modules/invalidAmend2.txt +19 -0
  614. package/test/corpus/snippetTests/modules/invalidAmend3.txt +23 -0
  615. package/test/corpus/snippetTests/modules/invalidAmend4.txt +21 -0
  616. package/test/corpus/snippetTests/modules/invalidAmend5.txt +17 -0
  617. package/test/corpus/snippetTests/modules/invalidAmend6.txt +22 -0
  618. package/test/corpus/snippetTests/modules/invalidExtend1.txt +18 -0
  619. package/test/corpus/snippetTests/modules/invalidExtend2.txt +13 -0
  620. package/test/corpus/snippetTests/modules/invalidExtend3.txt +13 -0
  621. package/test/corpus/snippetTests/modules/library.txt +77 -0
  622. package/test/corpus/snippetTests/modules/lists.txt +26 -0
  623. package/test/corpus/snippetTests/modules/objects.txt +22 -0
  624. package/test/corpus/snippetTests/modules/recursiveModule1.txt +51 -0
  625. package/test/corpus/snippetTests/modules/recursiveModule2.txt +26 -0
  626. package/test/corpus/snippetTests/modules/supercalls1.txt +43 -0
  627. package/test/corpus/snippetTests/modules/supercalls2.txt +76 -0
  628. package/test/corpus/snippetTests/modules/supercalls3.txt +142 -0
  629. package/test/corpus/snippetTests/modules/typedModuleMethods1.txt +229 -0
  630. package/test/corpus/snippetTests/modules/typedModuleProperties1.txt +106 -0
  631. package/test/corpus/snippetTests/modules/typedModuleProperties2.txt +16 -0
  632. package/test/corpus/snippetTests/modules/typedModuleProperties3.txt +20 -0
  633. package/test/corpus/snippetTests/modules//346/227/245/346/234/254/350/252/236.txt +45 -0
  634. package/test/corpus/snippetTests/modules//346/227/245/346/234/254/350/252/236_error.txt +14 -0
  635. package/test/corpus/snippetTests/objects/closure.txt +143 -0
  636. package/test/corpus/snippetTests/objects/configureObjectAssign.txt +78 -0
  637. package/test/corpus/snippetTests/objects/equality.txt +989 -0
  638. package/test/corpus/snippetTests/objects/hashCode.txt +566 -0
  639. package/test/corpus/snippetTests/objects/implicitReceiver1.txt +37 -0
  640. package/test/corpus/snippetTests/objects/implicitReceiver2.txt +33 -0
  641. package/test/corpus/snippetTests/objects/implicitReceiver3.txt +29 -0
  642. package/test/corpus/snippetTests/objects/implicitReceiver4.txt +25 -0
  643. package/test/corpus/snippetTests/objects/inequality.txt +777 -0
  644. package/test/corpus/snippetTests/objects/lateBinding1.txt +60 -0
  645. package/test/corpus/snippetTests/objects/lateBinding2.txt +60 -0
  646. package/test/corpus/snippetTests/objects/lateBinding3.txt +81 -0
  647. package/test/corpus/snippetTests/objects/lateBinding4.txt +77 -0
  648. package/test/corpus/snippetTests/objects/outer.txt +91 -0
  649. package/test/corpus/snippetTests/objects/outer2.txt +28 -0
  650. package/test/corpus/snippetTests/objects/super1.txt +67 -0
  651. package/test/corpus/snippetTests/objects/super2.txt +59 -0
  652. package/test/corpus/snippetTests/objects/super3.txt +59 -0
  653. package/test/corpus/snippetTests/objects/super4.txt +66 -0
  654. package/test/corpus/snippetTests/objects/super5.txt +69 -0
  655. package/test/corpus/snippetTests/objects/this1.txt +24 -0
  656. package/test/corpus/snippetTests/objects/this2.txt +71 -0
  657. package/test/corpus/snippetTests/packages/badImport1.error.txt +14 -0
  658. package/test/corpus/snippetTests/packages/badImport10.error.txt +14 -0
  659. package/test/corpus/snippetTests/packages/badImport11.error.txt +14 -0
  660. package/test/corpus/snippetTests/packages/badImport2.error.txt +14 -0
  661. package/test/corpus/snippetTests/packages/badImport3.error.txt +14 -0
  662. package/test/corpus/snippetTests/packages/badImport4.error.txt +14 -0
  663. package/test/corpus/snippetTests/packages/badImport6.error.txt +20 -0
  664. package/test/corpus/snippetTests/packages/badImport7.error.txt +14 -0
  665. package/test/corpus/snippetTests/packages/badImport8.error.txt +14 -0
  666. package/test/corpus/snippetTests/packages/badImport9.error.txt +14 -0
  667. package/test/corpus/snippetTests/packages/badRead1.error.txt +14 -0
  668. package/test/corpus/snippetTests/packages/badRead2.error.txt +14 -0
  669. package/test/corpus/snippetTests/packages/badRead3.error.txt +14 -0
  670. package/test/corpus/snippetTests/packages/badRead4.error.txt +14 -0
  671. package/test/corpus/snippetTests/packages/badRead8.error.txt +14 -0
  672. package/test/corpus/snippetTests/packages/badRead9.error.txt +14 -0
  673. package/test/corpus/snippetTests/packages/packages1.txt +103 -0
  674. package/test/corpus/snippetTests/packages/packages2.txt +104 -0
  675. package/test/corpus/snippetTests/packages/redirects.txt +54 -0
  676. package/test/corpus/snippetTests/types/ThisInTypeConstraint.txt +342 -0
  677. package/test/corpus/snippetTests/types/currentModuleType1.txt +343 -0
  678. package/test/corpus/snippetTests/types/currentModuleType2.txt +351 -0
  679. package/test/corpus/snippetTests/types/currentModuleType3.txt +18 -0
  680. package/test/corpus/snippetTests/types/cyclicTypeAlias1.txt +17 -0
  681. package/test/corpus/snippetTests/types/cyclicTypeAlias2.txt +42 -0
  682. package/test/corpus/snippetTests/types/modifiersForTypes.txt +68 -0
  683. package/test/corpus/snippetTests/types/moduleType.txt +58 -0
  684. package/test/corpus/snippetTests/types/nothingType.txt +29 -0
  685. package/test/corpus/snippetTests/types/nothingWithUnions.txt +31 -0
  686. package/test/corpus/snippetTests/types/typeAlias1.txt +925 -0
  687. package/test/corpus/snippetTests/types/typeAlias2.txt +361 -0
  688. package/test/corpus/snippetTests/types/typeAliasConstraint1.txt +79 -0
  689. package/test/corpus/snippetTests/types/typeAliasConstraint2.txt +77 -0
  690. package/test/corpus/snippetTests/types/typeAliasContext.txt +26 -0
  691. package/test/corpus/snippetTests/types/typeAliasUnion.txt +169 -0
  692. package/test/corpus/string/customStringDelimiters.txt +397 -0
  693. package/test/corpus/string/multiline.txt +39 -0
  694. package/test/corpus/string/multilineInterpolation.txt +102 -0
  695. package/test/corpus/string/multilineInterpolation2.txt +15 -0
  696. package/test/corpus/string/simple.txt +13 -0
  697. package/test/corpus/string/singleLineEscapes.txt +64 -0
  698. package/test/corpus/string/singleLineInterpolation.txt +94 -0
  699. package/test/corpus/string/stringWithTwoSlashes.txt +20 -0
  700. package/test/corpus/type/unionType.txt +34 -0
  701. package/test/corpus/type/unionTypeDefaults.txt +46 -0
  702. package/tree-sitter.json +41 -0
  703. package/README.adoc +0 -61
  704. package/src/synctests.ts +0 -44
package/src/grammar.json CHANGED
@@ -1,10 +1,23 @@
1
1
  {
2
+ "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
2
3
  "name": "pkl",
3
4
  "word": "identifier",
4
5
  "rules": {
5
6
  "module": {
6
7
  "type": "SEQ",
7
8
  "members": [
9
+ {
10
+ "type": "CHOICE",
11
+ "members": [
12
+ {
13
+ "type": "SYMBOL",
14
+ "name": "shebangComment"
15
+ },
16
+ {
17
+ "type": "BLANK"
18
+ }
19
+ ]
20
+ },
8
21
  {
9
22
  "type": "CHOICE",
10
23
  "members": [
@@ -42,9 +55,34 @@
42
55
  }
43
56
  ]
44
57
  },
58
+ "shebangComment": {
59
+ "type": "SEQ",
60
+ "members": [
61
+ {
62
+ "type": "STRING",
63
+ "value": "#!"
64
+ },
65
+ {
66
+ "type": "PATTERN",
67
+ "value": ".*"
68
+ }
69
+ ]
70
+ },
45
71
  "moduleHeader": {
46
72
  "type": "SEQ",
47
73
  "members": [
74
+ {
75
+ "type": "CHOICE",
76
+ "members": [
77
+ {
78
+ "type": "SYMBOL",
79
+ "name": "docComment"
80
+ },
81
+ {
82
+ "type": "BLANK"
83
+ }
84
+ ]
85
+ },
48
86
  {
49
87
  "type": "REPEAT",
50
88
  "content": {
@@ -218,6 +256,18 @@
218
256
  "clazz": {
219
257
  "type": "SEQ",
220
258
  "members": [
259
+ {
260
+ "type": "CHOICE",
261
+ "members": [
262
+ {
263
+ "type": "SYMBOL",
264
+ "name": "docComment"
265
+ },
266
+ {
267
+ "type": "BLANK"
268
+ }
269
+ ]
270
+ },
221
271
  {
222
272
  "type": "REPEAT",
223
273
  "content": {
@@ -335,6 +385,18 @@
335
385
  "typeAlias": {
336
386
  "type": "SEQ",
337
387
  "members": [
388
+ {
389
+ "type": "CHOICE",
390
+ "members": [
391
+ {
392
+ "type": "SYMBOL",
393
+ "name": "docComment"
394
+ },
395
+ {
396
+ "type": "BLANK"
397
+ }
398
+ ]
399
+ },
338
400
  {
339
401
  "type": "REPEAT",
340
402
  "content": {
@@ -375,13 +437,25 @@
375
437
  },
376
438
  {
377
439
  "type": "SYMBOL",
378
- "name": "type"
440
+ "name": "_type"
379
441
  }
380
442
  ]
381
443
  },
382
444
  "classProperty": {
383
445
  "type": "SEQ",
384
446
  "members": [
447
+ {
448
+ "type": "CHOICE",
449
+ "members": [
450
+ {
451
+ "type": "SYMBOL",
452
+ "name": "docComment"
453
+ },
454
+ {
455
+ "type": "BLANK"
456
+ }
457
+ ]
458
+ },
385
459
  {
386
460
  "type": "REPEAT",
387
461
  "content": {
@@ -456,6 +530,18 @@
456
530
  "classMethod": {
457
531
  "type": "SEQ",
458
532
  "members": [
533
+ {
534
+ "type": "CHOICE",
535
+ "members": [
536
+ {
537
+ "type": "SYMBOL",
538
+ "name": "docComment"
539
+ },
540
+ {
541
+ "type": "BLANK"
542
+ }
543
+ ]
544
+ },
459
545
  {
460
546
  "type": "REPEAT",
461
547
  "content": {
@@ -597,7 +683,7 @@
597
683
  },
598
684
  "_objectMember": {
599
685
  "type": "PREC",
600
- "value": -1,
686
+ "value": -2,
601
687
  "content": {
602
688
  "type": "CHOICE",
603
689
  "members": [
@@ -619,7 +705,7 @@
619
705
  },
620
706
  {
621
707
  "type": "SYMBOL",
622
- "name": "objectPredicate"
708
+ "name": "memberPredicate"
623
709
  },
624
710
  {
625
711
  "type": "SYMBOL",
@@ -710,12 +796,16 @@
710
796
  "type": "SEQ",
711
797
  "members": [
712
798
  {
713
- "type": "SYMBOL",
714
- "name": "_open_entry_bracket"
799
+ "type": "STRING",
800
+ "value": "["
715
801
  },
716
802
  {
717
- "type": "SYMBOL",
718
- "name": "_expr"
803
+ "type": "FIELD",
804
+ "name": "key",
805
+ "content": {
806
+ "type": "SYMBOL",
807
+ "name": "_expr"
808
+ }
719
809
  },
720
810
  {
721
811
  "type": "STRING",
@@ -732,8 +822,12 @@
732
822
  "value": "="
733
823
  },
734
824
  {
735
- "type": "SYMBOL",
736
- "name": "_expr"
825
+ "type": "FIELD",
826
+ "name": "valueExpr",
827
+ "content": {
828
+ "type": "SYMBOL",
829
+ "name": "_expr"
830
+ }
737
831
  }
738
832
  ]
739
833
  },
@@ -749,19 +843,10 @@
749
843
  ]
750
844
  },
751
845
  "objectElement": {
752
- "type": "CHOICE",
753
- "members": [
754
- {
755
- "type": "SYMBOL",
756
- "name": "variableExpr"
757
- },
758
- {
759
- "type": "SYMBOL",
760
- "name": "_expr2"
761
- }
762
- ]
846
+ "type": "SYMBOL",
847
+ "name": "_expr"
763
848
  },
764
- "objectPredicate": {
849
+ "memberPredicate": {
765
850
  "type": "SEQ",
766
851
  "members": [
767
852
  {
@@ -769,8 +854,12 @@
769
854
  "value": "[["
770
855
  },
771
856
  {
772
- "type": "SYMBOL",
773
- "name": "_expr"
857
+ "type": "FIELD",
858
+ "name": "conditionExpr",
859
+ "content": {
860
+ "type": "SYMBOL",
861
+ "name": "_expr"
862
+ }
774
863
  },
775
864
  {
776
865
  "type": "STRING",
@@ -787,8 +876,12 @@
787
876
  "value": "="
788
877
  },
789
878
  {
790
- "type": "SYMBOL",
791
- "name": "_expr"
879
+ "type": "FIELD",
880
+ "name": "valueExpr",
881
+ "content": {
882
+ "type": "SYMBOL",
883
+ "name": "_expr"
884
+ }
792
885
  }
793
886
  ]
794
887
  },
@@ -816,7 +909,7 @@
816
909
  },
817
910
  {
818
911
  "type": "SYMBOL",
819
- "name": "typedIdentifier"
912
+ "name": "_parameter"
820
913
  },
821
914
  {
822
915
  "type": "CHOICE",
@@ -830,7 +923,7 @@
830
923
  },
831
924
  {
832
925
  "type": "SYMBOL",
833
- "name": "typedIdentifier"
926
+ "name": "_parameter"
834
927
  }
835
928
  ]
836
929
  },
@@ -852,17 +945,8 @@
852
945
  "value": ")"
853
946
  },
854
947
  {
855
- "type": "CHOICE",
856
- "members": [
857
- {
858
- "type": "SYMBOL",
859
- "name": "objectBody"
860
- },
861
- {
862
- "type": "SYMBOL",
863
- "name": "_objectMember"
864
- }
865
- ]
948
+ "type": "SYMBOL",
949
+ "name": "objectBody"
866
950
  }
867
951
  ]
868
952
  },
@@ -878,23 +962,47 @@
878
962
  "value": "("
879
963
  },
880
964
  {
881
- "type": "SYMBOL",
882
- "name": "_expr"
965
+ "type": "FIELD",
966
+ "name": "conditionExpr",
967
+ "content": {
968
+ "type": "SYMBOL",
969
+ "name": "_expr"
970
+ }
883
971
  },
884
972
  {
885
973
  "type": "STRING",
886
974
  "value": ")"
887
975
  },
976
+ {
977
+ "type": "FIELD",
978
+ "name": "thenBody",
979
+ "content": {
980
+ "type": "SYMBOL",
981
+ "name": "objectBody"
982
+ }
983
+ },
888
984
  {
889
985
  "type": "CHOICE",
890
986
  "members": [
891
987
  {
892
- "type": "SYMBOL",
893
- "name": "objectBody"
988
+ "type": "SEQ",
989
+ "members": [
990
+ {
991
+ "type": "STRING",
992
+ "value": "else"
993
+ },
994
+ {
995
+ "type": "FIELD",
996
+ "name": "elseBody",
997
+ "content": {
998
+ "type": "SYMBOL",
999
+ "name": "objectBody"
1000
+ }
1001
+ }
1002
+ ]
894
1003
  },
895
1004
  {
896
- "type": "SYMBOL",
897
- "name": "_objectMember"
1005
+ "type": "BLANK"
898
1006
  }
899
1007
  ]
900
1008
  }
@@ -930,7 +1038,7 @@
930
1038
  "members": [
931
1039
  {
932
1040
  "type": "SYMBOL",
933
- "name": "typedIdentifier"
1041
+ "name": "_parameter"
934
1042
  },
935
1043
  {
936
1044
  "type": "REPEAT",
@@ -943,7 +1051,7 @@
943
1051
  },
944
1052
  {
945
1053
  "type": "SYMBOL",
946
- "name": "typedIdentifier"
1054
+ "name": "_parameter"
947
1055
  }
948
1056
  ]
949
1057
  }
@@ -965,219 +1073,283 @@
965
1073
  },
966
1074
  {
967
1075
  "type": "SYMBOL",
968
- "name": "type"
1076
+ "name": "_type"
969
1077
  }
970
1078
  ]
971
1079
  },
972
- "type": {
1080
+ "_type": {
973
1081
  "type": "CHOICE",
974
1082
  "members": [
975
1083
  {
976
- "type": "STRING",
977
- "value": "unknown"
1084
+ "type": "ALIAS",
1085
+ "content": {
1086
+ "type": "STRING",
1087
+ "value": "unknown"
1088
+ },
1089
+ "named": true,
1090
+ "value": "unknownType"
978
1091
  },
979
1092
  {
980
- "type": "STRING",
981
- "value": "nothing"
1093
+ "type": "ALIAS",
1094
+ "content": {
1095
+ "type": "STRING",
1096
+ "value": "nothing"
1097
+ },
1098
+ "named": true,
1099
+ "value": "nothingType"
1100
+ },
1101
+ {
1102
+ "type": "ALIAS",
1103
+ "content": {
1104
+ "type": "STRING",
1105
+ "value": "module"
1106
+ },
1107
+ "named": true,
1108
+ "value": "moduleType"
982
1109
  },
983
1110
  {
984
1111
  "type": "SYMBOL",
985
- "name": "stringConstant"
1112
+ "name": "stringLiteralType"
986
1113
  },
987
1114
  {
988
- "type": "SEQ",
989
- "members": [
990
- {
991
- "type": "SYMBOL",
992
- "name": "qualifiedIdentifier"
993
- },
994
- {
995
- "type": "CHOICE",
996
- "members": [
997
- {
998
- "type": "SYMBOL",
999
- "name": "typeArgumentList"
1000
- },
1001
- {
1002
- "type": "BLANK"
1003
- }
1004
- ]
1005
- }
1006
- ]
1115
+ "type": "SYMBOL",
1116
+ "name": "declaredType"
1007
1117
  },
1008
1118
  {
1009
- "type": "SEQ",
1010
- "members": [
1011
- {
1012
- "type": "STRING",
1013
- "value": "("
1014
- },
1015
- {
1016
- "type": "SYMBOL",
1017
- "name": "type"
1018
- },
1019
- {
1020
- "type": "STRING",
1021
- "value": ")"
1022
- }
1023
- ]
1119
+ "type": "SYMBOL",
1120
+ "name": "parenthesizedType"
1024
1121
  },
1025
1122
  {
1026
- "type": "PREC",
1027
- "value": 5,
1028
- "content": {
1029
- "type": "SEQ",
1123
+ "type": "SYMBOL",
1124
+ "name": "nullableType"
1125
+ },
1126
+ {
1127
+ "type": "SYMBOL",
1128
+ "name": "constrainedType"
1129
+ },
1130
+ {
1131
+ "type": "SYMBOL",
1132
+ "name": "unionType"
1133
+ },
1134
+ {
1135
+ "type": "SYMBOL",
1136
+ "name": "defaultUnionType"
1137
+ },
1138
+ {
1139
+ "type": "SYMBOL",
1140
+ "name": "functionLiteralType"
1141
+ }
1142
+ ]
1143
+ },
1144
+ "stringLiteralType": {
1145
+ "type": "SYMBOL",
1146
+ "name": "stringConstant"
1147
+ },
1148
+ "declaredType": {
1149
+ "type": "PREC_RIGHT",
1150
+ "value": 0,
1151
+ "content": {
1152
+ "type": "SEQ",
1153
+ "members": [
1154
+ {
1155
+ "type": "SYMBOL",
1156
+ "name": "qualifiedIdentifier"
1157
+ },
1158
+ {
1159
+ "type": "CHOICE",
1030
1160
  "members": [
1031
1161
  {
1032
1162
  "type": "SYMBOL",
1033
- "name": "type"
1163
+ "name": "typeArgumentList"
1034
1164
  },
1035
1165
  {
1036
- "type": "STRING",
1037
- "value": "?"
1166
+ "type": "BLANK"
1038
1167
  }
1039
1168
  ]
1040
1169
  }
1170
+ ]
1171
+ }
1172
+ },
1173
+ "parenthesizedType": {
1174
+ "type": "SEQ",
1175
+ "members": [
1176
+ {
1177
+ "type": "STRING",
1178
+ "value": "("
1041
1179
  },
1042
1180
  {
1043
- "type": "SEQ",
1044
- "members": [
1045
- {
1046
- "type": "SYMBOL",
1047
- "name": "type"
1048
- },
1049
- {
1050
- "type": "STRING",
1051
- "value": "("
1052
- },
1053
- {
1054
- "type": "SEQ",
1055
- "members": [
1056
- {
1057
- "type": "SYMBOL",
1058
- "name": "_expr"
1059
- },
1060
- {
1061
- "type": "REPEAT",
1062
- "content": {
1063
- "type": "SEQ",
1064
- "members": [
1065
- {
1066
- "type": "STRING",
1067
- "value": ","
1068
- },
1069
- {
1070
- "type": "SYMBOL",
1071
- "name": "_expr"
1072
- }
1073
- ]
1074
- }
1075
- }
1076
- ]
1077
- },
1078
- {
1079
- "type": "STRING",
1080
- "value": ")"
1081
- }
1082
- ]
1181
+ "type": "SYMBOL",
1182
+ "name": "_type"
1083
1183
  },
1084
1184
  {
1085
- "type": "PREC_LEFT",
1086
- "value": -6,
1087
- "content": {
1185
+ "type": "STRING",
1186
+ "value": ")"
1187
+ }
1188
+ ]
1189
+ },
1190
+ "nullableType": {
1191
+ "type": "PREC",
1192
+ "value": 29,
1193
+ "content": {
1194
+ "type": "SEQ",
1195
+ "members": [
1196
+ {
1197
+ "type": "SYMBOL",
1198
+ "name": "_type"
1199
+ },
1200
+ {
1201
+ "type": "STRING",
1202
+ "value": "?"
1203
+ }
1204
+ ]
1205
+ }
1206
+ },
1207
+ "constrainedType": {
1208
+ "type": "PREC_RIGHT",
1209
+ "value": 30,
1210
+ "content": {
1211
+ "type": "SEQ",
1212
+ "members": [
1213
+ {
1214
+ "type": "SYMBOL",
1215
+ "name": "_type"
1216
+ },
1217
+ {
1218
+ "type": "ALIAS",
1219
+ "content": {
1220
+ "type": "SYMBOL",
1221
+ "name": "_open_argument_paren"
1222
+ },
1223
+ "named": false,
1224
+ "value": "("
1225
+ },
1226
+ {
1088
1227
  "type": "SEQ",
1089
1228
  "members": [
1090
1229
  {
1091
1230
  "type": "SYMBOL",
1092
- "name": "type"
1093
- },
1094
- {
1095
- "type": "STRING",
1096
- "value": "|"
1231
+ "name": "_expr"
1097
1232
  },
1098
1233
  {
1099
- "type": "SYMBOL",
1100
- "name": "type"
1234
+ "type": "REPEAT",
1235
+ "content": {
1236
+ "type": "SEQ",
1237
+ "members": [
1238
+ {
1239
+ "type": "STRING",
1240
+ "value": ","
1241
+ },
1242
+ {
1243
+ "type": "SYMBOL",
1244
+ "name": "_expr"
1245
+ }
1246
+ ]
1247
+ }
1101
1248
  }
1102
1249
  ]
1250
+ },
1251
+ {
1252
+ "type": "STRING",
1253
+ "value": ")"
1103
1254
  }
1104
- },
1105
- {
1106
- "type": "PREC",
1107
- "value": -7,
1108
- "content": {
1109
- "type": "SEQ",
1110
- "members": [
1111
- {
1112
- "type": "STRING",
1113
- "value": "*"
1114
- },
1115
- {
1116
- "type": "SYMBOL",
1117
- "name": "type"
1118
- }
1119
- ]
1255
+ ]
1256
+ }
1257
+ },
1258
+ "unionType": {
1259
+ "type": "PREC_LEFT",
1260
+ "value": 28,
1261
+ "content": {
1262
+ "type": "SEQ",
1263
+ "members": [
1264
+ {
1265
+ "type": "SYMBOL",
1266
+ "name": "_type"
1267
+ },
1268
+ {
1269
+ "type": "STRING",
1270
+ "value": "|"
1271
+ },
1272
+ {
1273
+ "type": "SYMBOL",
1274
+ "name": "_type"
1120
1275
  }
1121
- },
1122
- {
1123
- "type": "PREC",
1124
- "value": -5,
1125
- "content": {
1126
- "type": "SEQ",
1276
+ ]
1277
+ }
1278
+ },
1279
+ "defaultUnionType": {
1280
+ "type": "PREC_LEFT",
1281
+ "value": 29,
1282
+ "content": {
1283
+ "type": "SEQ",
1284
+ "members": [
1285
+ {
1286
+ "type": "STRING",
1287
+ "value": "*"
1288
+ },
1289
+ {
1290
+ "type": "SYMBOL",
1291
+ "name": "_type"
1292
+ }
1293
+ ]
1294
+ }
1295
+ },
1296
+ "functionLiteralType": {
1297
+ "type": "PREC",
1298
+ "value": 27,
1299
+ "content": {
1300
+ "type": "SEQ",
1301
+ "members": [
1302
+ {
1303
+ "type": "STRING",
1304
+ "value": "("
1305
+ },
1306
+ {
1307
+ "type": "CHOICE",
1127
1308
  "members": [
1128
1309
  {
1129
- "type": "STRING",
1130
- "value": "("
1131
- },
1132
- {
1133
- "type": "CHOICE",
1310
+ "type": "SEQ",
1134
1311
  "members": [
1135
1312
  {
1136
- "type": "SEQ",
1137
- "members": [
1138
- {
1139
- "type": "SYMBOL",
1140
- "name": "type"
1141
- },
1142
- {
1143
- "type": "REPEAT",
1144
- "content": {
1145
- "type": "SEQ",
1146
- "members": [
1147
- {
1148
- "type": "STRING",
1149
- "value": ","
1150
- },
1151
- {
1152
- "type": "SYMBOL",
1153
- "name": "type"
1154
- }
1155
- ]
1156
- }
1157
- }
1158
- ]
1313
+ "type": "SYMBOL",
1314
+ "name": "_type"
1159
1315
  },
1160
1316
  {
1161
- "type": "BLANK"
1317
+ "type": "REPEAT",
1318
+ "content": {
1319
+ "type": "SEQ",
1320
+ "members": [
1321
+ {
1322
+ "type": "STRING",
1323
+ "value": ","
1324
+ },
1325
+ {
1326
+ "type": "SYMBOL",
1327
+ "name": "_type"
1328
+ }
1329
+ ]
1330
+ }
1162
1331
  }
1163
1332
  ]
1164
1333
  },
1165
1334
  {
1166
- "type": "STRING",
1167
- "value": ")"
1168
- },
1169
- {
1170
- "type": "STRING",
1171
- "value": "->"
1172
- },
1173
- {
1174
- "type": "SYMBOL",
1175
- "name": "type"
1335
+ "type": "BLANK"
1176
1336
  }
1177
1337
  ]
1338
+ },
1339
+ {
1340
+ "type": "STRING",
1341
+ "value": ")"
1342
+ },
1343
+ {
1344
+ "type": "STRING",
1345
+ "value": "->"
1346
+ },
1347
+ {
1348
+ "type": "SYMBOL",
1349
+ "name": "_type"
1178
1350
  }
1179
- }
1180
- ]
1351
+ ]
1352
+ }
1181
1353
  },
1182
1354
  "typeArgumentList": {
1183
1355
  "type": "SEQ",
@@ -1191,7 +1363,7 @@
1191
1363
  "members": [
1192
1364
  {
1193
1365
  "type": "SYMBOL",
1194
- "name": "type"
1366
+ "name": "_type"
1195
1367
  },
1196
1368
  {
1197
1369
  "type": "REPEAT",
@@ -1204,7 +1376,7 @@
1204
1376
  },
1205
1377
  {
1206
1378
  "type": "SYMBOL",
1207
- "name": "type"
1379
+ "name": "_type"
1208
1380
  }
1209
1381
  ]
1210
1382
  }
@@ -1300,7 +1472,7 @@
1300
1472
  "members": [
1301
1473
  {
1302
1474
  "type": "SYMBOL",
1303
- "name": "typedIdentifier"
1475
+ "name": "_parameter"
1304
1476
  },
1305
1477
  {
1306
1478
  "type": "REPEAT",
@@ -1313,7 +1485,7 @@
1313
1485
  },
1314
1486
  {
1315
1487
  "type": "SYMBOL",
1316
- "name": "typedIdentifier"
1488
+ "name": "_parameter"
1317
1489
  }
1318
1490
  ]
1319
1491
  }
@@ -1331,11 +1503,54 @@
1331
1503
  }
1332
1504
  ]
1333
1505
  },
1506
+ "_parameter": {
1507
+ "type": "CHOICE",
1508
+ "members": [
1509
+ {
1510
+ "type": "SYMBOL",
1511
+ "name": "typedIdentifier"
1512
+ },
1513
+ {
1514
+ "type": "SYMBOL",
1515
+ "name": "blankIdentifier"
1516
+ }
1517
+ ]
1518
+ },
1519
+ "typedIdentifier": {
1520
+ "type": "SEQ",
1521
+ "members": [
1522
+ {
1523
+ "type": "SYMBOL",
1524
+ "name": "identifier"
1525
+ },
1526
+ {
1527
+ "type": "CHOICE",
1528
+ "members": [
1529
+ {
1530
+ "type": "SYMBOL",
1531
+ "name": "typeAnnotation"
1532
+ },
1533
+ {
1534
+ "type": "BLANK"
1535
+ }
1536
+ ]
1537
+ }
1538
+ ]
1539
+ },
1540
+ "blankIdentifier": {
1541
+ "type": "STRING",
1542
+ "value": "_"
1543
+ },
1334
1544
  "argumentList": {
1335
1545
  "type": "SEQ",
1336
1546
  "members": [
1337
1547
  {
1338
- "type": "STRING",
1548
+ "type": "ALIAS",
1549
+ "content": {
1550
+ "type": "SYMBOL",
1551
+ "name": "_open_argument_paren"
1552
+ },
1553
+ "named": false,
1339
1554
  "value": "("
1340
1555
  },
1341
1556
  {
@@ -1415,81 +1630,63 @@
1415
1630
  "members": [
1416
1631
  {
1417
1632
  "type": "SYMBOL",
1418
- "name": "variableExpr"
1633
+ "name": "thisExpr"
1419
1634
  },
1420
1635
  {
1421
1636
  "type": "SYMBOL",
1422
- "name": "variableObjectLiteral"
1637
+ "name": "outerExpr"
1423
1638
  },
1424
1639
  {
1425
1640
  "type": "SYMBOL",
1426
- "name": "_expr2"
1427
- }
1428
- ]
1429
- },
1430
- "variableObjectLiteral": {
1431
- "type": "PREC",
1432
- "value": 2,
1433
- "content": {
1434
- "type": "SEQ",
1435
- "members": [
1436
- {
1437
- "type": "SYMBOL",
1438
- "name": "identifier"
1439
- },
1440
- {
1441
- "type": "SYMBOL",
1442
- "name": "objectBody"
1443
- }
1444
- ]
1445
- }
1446
- },
1447
- "_expr2": {
1448
- "type": "CHOICE",
1449
- "members": [
1641
+ "name": "moduleExpr"
1642
+ },
1450
1643
  {
1451
1644
  "type": "SYMBOL",
1452
- "name": "parenthesizedExpr"
1645
+ "name": "nullLiteralExpr"
1453
1646
  },
1454
1647
  {
1455
1648
  "type": "SYMBOL",
1456
- "name": "thisExpr"
1649
+ "name": "trueLiteralExpr"
1457
1650
  },
1458
1651
  {
1459
1652
  "type": "SYMBOL",
1460
- "name": "outerExpr"
1653
+ "name": "falseLiteralExpr"
1461
1654
  },
1462
1655
  {
1463
1656
  "type": "SYMBOL",
1464
- "name": "moduleExpr"
1657
+ "name": "intLiteralExpr"
1658
+ },
1659
+ {
1660
+ "type": "SYMBOL",
1661
+ "name": "floatLiteralExpr"
1465
1662
  },
1466
1663
  {
1467
1664
  "type": "SYMBOL",
1468
- "name": "nullLiteral"
1665
+ "name": "throwExpr"
1469
1666
  },
1470
1667
  {
1471
1668
  "type": "SYMBOL",
1472
- "name": "trueLiteral"
1669
+ "name": "traceExpr"
1473
1670
  },
1474
1671
  {
1475
1672
  "type": "SYMBOL",
1476
- "name": "falseLiteral"
1673
+ "name": "importExpr"
1477
1674
  },
1478
1675
  {
1479
1676
  "type": "SYMBOL",
1480
- "name": "intLiteral"
1677
+ "name": "readExpr"
1481
1678
  },
1482
1679
  {
1483
1680
  "type": "SYMBOL",
1484
- "name": "floatLiteral"
1681
+ "name": "unqualifiedAccessExpr"
1485
1682
  },
1486
1683
  {
1487
1684
  "type": "SYMBOL",
1488
- "name": "slStringLiteral"
1685
+ "name": "slStringLiteralExpr"
1489
1686
  },
1490
1687
  {
1491
1688
  "type": "SYMBOL",
1492
- "name": "mlStringLiteral"
1689
+ "name": "mlStringLiteralExpr"
1493
1690
  },
1494
1691
  {
1495
1692
  "type": "SYMBOL",
@@ -1497,15 +1694,19 @@
1497
1694
  },
1498
1695
  {
1499
1696
  "type": "SYMBOL",
1500
- "name": "objectLiteral"
1697
+ "name": "amendExpr"
1698
+ },
1699
+ {
1700
+ "type": "SYMBOL",
1701
+ "name": "superAccessExpr"
1501
1702
  },
1502
1703
  {
1503
1704
  "type": "SYMBOL",
1504
- "name": "methodCallExpr"
1705
+ "name": "superSubscriptExpr"
1505
1706
  },
1506
1707
  {
1507
1708
  "type": "SYMBOL",
1508
- "name": "propertyCallExpr"
1709
+ "name": "qualifiedAccessExpr"
1509
1710
  },
1510
1711
  {
1511
1712
  "type": "SYMBOL",
@@ -1513,65 +1714,77 @@
1513
1714
  },
1514
1715
  {
1515
1716
  "type": "SYMBOL",
1516
- "name": "unaryExpr"
1717
+ "name": "nonNullExpr"
1517
1718
  },
1518
1719
  {
1519
1720
  "type": "SYMBOL",
1520
- "name": "binaryExpr"
1721
+ "name": "unaryMinusExpr"
1521
1722
  },
1522
1723
  {
1523
1724
  "type": "SYMBOL",
1524
- "name": "binaryExprRightAssoc"
1725
+ "name": "logicalNotExpr"
1525
1726
  },
1526
1727
  {
1527
1728
  "type": "SYMBOL",
1528
- "name": "isExpr"
1729
+ "name": "exponentiationExpr"
1529
1730
  },
1530
1731
  {
1531
1732
  "type": "SYMBOL",
1532
- "name": "asExpr"
1733
+ "name": "multiplicativeExpr"
1533
1734
  },
1534
1735
  {
1535
1736
  "type": "SYMBOL",
1536
- "name": "ifExpr"
1737
+ "name": "additiveExpr"
1537
1738
  },
1538
1739
  {
1539
1740
  "type": "SYMBOL",
1540
- "name": "letExpr"
1741
+ "name": "comparisonExpr"
1541
1742
  },
1542
1743
  {
1543
1744
  "type": "SYMBOL",
1544
- "name": "throwExpr"
1745
+ "name": "typeTestExpr"
1545
1746
  },
1546
1747
  {
1547
1748
  "type": "SYMBOL",
1548
- "name": "traceExpr"
1749
+ "name": "typeCastExpr"
1549
1750
  },
1550
1751
  {
1551
1752
  "type": "SYMBOL",
1552
- "name": "readExpr"
1753
+ "name": "equalityExpr"
1553
1754
  },
1554
1755
  {
1555
1756
  "type": "SYMBOL",
1556
- "name": "readOrNullExpr"
1757
+ "name": "logicalAndExpr"
1557
1758
  },
1558
1759
  {
1559
1760
  "type": "SYMBOL",
1560
- "name": "readGlobExpr"
1761
+ "name": "logicalOrExpr"
1561
1762
  },
1562
1763
  {
1563
1764
  "type": "SYMBOL",
1564
- "name": "importExpr"
1765
+ "name": "pipeExpr"
1565
1766
  },
1566
1767
  {
1567
1768
  "type": "SYMBOL",
1568
- "name": "importGlobExpr"
1769
+ "name": "nullCoalesceExpr"
1569
1770
  },
1570
1771
  {
1571
1772
  "type": "SYMBOL",
1572
- "name": "functionLiteral"
1573
- }
1574
- ]
1773
+ "name": "ifExpr"
1774
+ },
1775
+ {
1776
+ "type": "SYMBOL",
1777
+ "name": "letExpr"
1778
+ },
1779
+ {
1780
+ "type": "SYMBOL",
1781
+ "name": "functionLiteralExpr"
1782
+ },
1783
+ {
1784
+ "type": "SYMBOL",
1785
+ "name": "parenthesizedExpr"
1786
+ }
1787
+ ]
1575
1788
  },
1576
1789
  "parenthesizedExpr": {
1577
1790
  "type": "SEQ",
@@ -1602,23 +1815,19 @@
1602
1815
  "type": "STRING",
1603
1816
  "value": "module"
1604
1817
  },
1605
- "variableExpr": {
1606
- "type": "SYMBOL",
1607
- "name": "identifier"
1608
- },
1609
- "nullLiteral": {
1818
+ "nullLiteralExpr": {
1610
1819
  "type": "STRING",
1611
1820
  "value": "null"
1612
1821
  },
1613
- "trueLiteral": {
1822
+ "trueLiteralExpr": {
1614
1823
  "type": "STRING",
1615
1824
  "value": "true"
1616
1825
  },
1617
- "falseLiteral": {
1826
+ "falseLiteralExpr": {
1618
1827
  "type": "STRING",
1619
1828
  "value": "false"
1620
1829
  },
1621
- "intLiteral": {
1830
+ "intLiteralExpr": {
1622
1831
  "type": "TOKEN",
1623
1832
  "content": {
1624
1833
  "type": "CHOICE",
@@ -1690,7 +1899,7 @@
1690
1899
  ]
1691
1900
  }
1692
1901
  },
1693
- "floatLiteral": {
1902
+ "floatLiteralExpr": {
1694
1903
  "type": "TOKEN",
1695
1904
  "content": {
1696
1905
  "type": "CHOICE",
@@ -1887,11 +2096,8 @@
1887
2096
  "type": "CHOICE",
1888
2097
  "members": [
1889
2098
  {
1890
- "type": "IMMEDIATE_TOKEN",
1891
- "content": {
1892
- "type": "PATTERN",
1893
- "value": "[^\"\\\\\\n\\r]+"
1894
- }
2099
+ "type": "SYMBOL",
2100
+ "name": "slStringLiteralPart"
1895
2101
  },
1896
2102
  {
1897
2103
  "type": "SYMBOL",
@@ -1919,8 +2125,13 @@
1919
2125
  "type": "CHOICE",
1920
2126
  "members": [
1921
2127
  {
1922
- "type": "SYMBOL",
1923
- "name": "_sl1_string_chars"
2128
+ "type": "ALIAS",
2129
+ "content": {
2130
+ "type": "SYMBOL",
2131
+ "name": "slStringLiteralPart1"
2132
+ },
2133
+ "named": true,
2134
+ "value": "slStringLiteralPart"
1924
2135
  },
1925
2136
  {
1926
2137
  "type": "ALIAS",
@@ -1942,7 +2153,7 @@
1942
2153
  }
1943
2154
  ]
1944
2155
  },
1945
- "slStringLiteral": {
2156
+ "slStringLiteralExpr": {
1946
2157
  "type": "CHOICE",
1947
2158
  "members": [
1948
2159
  {
@@ -1958,11 +2169,8 @@
1958
2169
  "type": "CHOICE",
1959
2170
  "members": [
1960
2171
  {
1961
- "type": "IMMEDIATE_TOKEN",
1962
- "content": {
1963
- "type": "PATTERN",
1964
- "value": "[^\"\\\\\\n\\r]+"
1965
- }
2172
+ "type": "SYMBOL",
2173
+ "name": "slStringLiteralPart"
1966
2174
  },
1967
2175
  {
1968
2176
  "type": "SYMBOL",
@@ -1970,7 +2178,7 @@
1970
2178
  },
1971
2179
  {
1972
2180
  "type": "SYMBOL",
1973
- "name": "interpolationExpr"
2181
+ "name": "stringInterpolation"
1974
2182
  }
1975
2183
  ]
1976
2184
  }
@@ -1994,8 +2202,13 @@
1994
2202
  "type": "CHOICE",
1995
2203
  "members": [
1996
2204
  {
1997
- "type": "SYMBOL",
1998
- "name": "_sl1_string_chars"
2205
+ "type": "ALIAS",
2206
+ "content": {
2207
+ "type": "SYMBOL",
2208
+ "name": "slStringLiteralPart1"
2209
+ },
2210
+ "named": true,
2211
+ "value": "slStringLiteralPart"
1999
2212
  },
2000
2213
  {
2001
2214
  "type": "ALIAS",
@@ -2010,10 +2223,10 @@
2010
2223
  "type": "ALIAS",
2011
2224
  "content": {
2012
2225
  "type": "SYMBOL",
2013
- "name": "interpolationExpr1"
2226
+ "name": "stringInterpolation1"
2014
2227
  },
2015
2228
  "named": true,
2016
- "value": "interpolationExpr"
2229
+ "value": "stringInterpolation"
2017
2230
  }
2018
2231
  ]
2019
2232
  }
@@ -2037,8 +2250,13 @@
2037
2250
  "type": "CHOICE",
2038
2251
  "members": [
2039
2252
  {
2040
- "type": "SYMBOL",
2041
- "name": "_sl2_string_chars"
2253
+ "type": "ALIAS",
2254
+ "content": {
2255
+ "type": "SYMBOL",
2256
+ "name": "slStringLiteralPart2"
2257
+ },
2258
+ "named": true,
2259
+ "value": "slStringLiteralPart"
2042
2260
  },
2043
2261
  {
2044
2262
  "type": "ALIAS",
@@ -2053,10 +2271,10 @@
2053
2271
  "type": "ALIAS",
2054
2272
  "content": {
2055
2273
  "type": "SYMBOL",
2056
- "name": "interpolationExpr2"
2274
+ "name": "stringInterpolation2"
2057
2275
  },
2058
2276
  "named": true,
2059
- "value": "interpolationExpr"
2277
+ "value": "stringInterpolation"
2060
2278
  }
2061
2279
  ]
2062
2280
  }
@@ -2080,8 +2298,13 @@
2080
2298
  "type": "CHOICE",
2081
2299
  "members": [
2082
2300
  {
2083
- "type": "SYMBOL",
2084
- "name": "_sl3_string_chars"
2301
+ "type": "ALIAS",
2302
+ "content": {
2303
+ "type": "SYMBOL",
2304
+ "name": "slStringLiteralPart3"
2305
+ },
2306
+ "named": true,
2307
+ "value": "slStringLiteralPart"
2085
2308
  },
2086
2309
  {
2087
2310
  "type": "ALIAS",
@@ -2096,10 +2319,10 @@
2096
2319
  "type": "ALIAS",
2097
2320
  "content": {
2098
2321
  "type": "SYMBOL",
2099
- "name": "interpolationExpr3"
2322
+ "name": "stringInterpolation3"
2100
2323
  },
2101
2324
  "named": true,
2102
- "value": "interpolationExpr"
2325
+ "value": "stringInterpolation"
2103
2326
  }
2104
2327
  ]
2105
2328
  }
@@ -2123,8 +2346,13 @@
2123
2346
  "type": "CHOICE",
2124
2347
  "members": [
2125
2348
  {
2126
- "type": "SYMBOL",
2127
- "name": "_sl4_string_chars"
2349
+ "type": "ALIAS",
2350
+ "content": {
2351
+ "type": "SYMBOL",
2352
+ "name": "slStringLiteralPart4"
2353
+ },
2354
+ "named": true,
2355
+ "value": "slStringLiteralPart"
2128
2356
  },
2129
2357
  {
2130
2358
  "type": "ALIAS",
@@ -2139,10 +2367,10 @@
2139
2367
  "type": "ALIAS",
2140
2368
  "content": {
2141
2369
  "type": "SYMBOL",
2142
- "name": "interpolationExpr4"
2370
+ "name": "stringInterpolation4"
2143
2371
  },
2144
2372
  "named": true,
2145
- "value": "interpolationExpr"
2373
+ "value": "stringInterpolation"
2146
2374
  }
2147
2375
  ]
2148
2376
  }
@@ -2166,8 +2394,13 @@
2166
2394
  "type": "CHOICE",
2167
2395
  "members": [
2168
2396
  {
2169
- "type": "SYMBOL",
2170
- "name": "_sl5_string_chars"
2397
+ "type": "ALIAS",
2398
+ "content": {
2399
+ "type": "SYMBOL",
2400
+ "name": "slStringLiteralPart5"
2401
+ },
2402
+ "named": true,
2403
+ "value": "slStringLiteralPart"
2171
2404
  },
2172
2405
  {
2173
2406
  "type": "ALIAS",
@@ -2182,10 +2415,10 @@
2182
2415
  "type": "ALIAS",
2183
2416
  "content": {
2184
2417
  "type": "SYMBOL",
2185
- "name": "interpolationExpr5"
2418
+ "name": "stringInterpolation5"
2186
2419
  },
2187
2420
  "named": true,
2188
- "value": "interpolationExpr"
2421
+ "value": "stringInterpolation"
2189
2422
  }
2190
2423
  ]
2191
2424
  }
@@ -2209,8 +2442,13 @@
2209
2442
  "type": "CHOICE",
2210
2443
  "members": [
2211
2444
  {
2212
- "type": "SYMBOL",
2213
- "name": "_sl6_string_chars"
2445
+ "type": "ALIAS",
2446
+ "content": {
2447
+ "type": "SYMBOL",
2448
+ "name": "slStringLiteralPart6"
2449
+ },
2450
+ "named": true,
2451
+ "value": "slStringLiteralPart"
2214
2452
  },
2215
2453
  {
2216
2454
  "type": "ALIAS",
@@ -2225,10 +2463,10 @@
2225
2463
  "type": "ALIAS",
2226
2464
  "content": {
2227
2465
  "type": "SYMBOL",
2228
- "name": "interpolationExpr6"
2466
+ "name": "stringInterpolation6"
2229
2467
  },
2230
2468
  "named": true,
2231
- "value": "interpolationExpr"
2469
+ "value": "stringInterpolation"
2232
2470
  }
2233
2471
  ]
2234
2472
  }
@@ -2241,7 +2479,35 @@
2241
2479
  }
2242
2480
  ]
2243
2481
  },
2244
- "mlStringLiteral": {
2482
+ "slStringLiteralPart": {
2483
+ "type": "SYMBOL",
2484
+ "name": "_sl_string_chars"
2485
+ },
2486
+ "slStringLiteralPart1": {
2487
+ "type": "SYMBOL",
2488
+ "name": "_sl1_string_chars"
2489
+ },
2490
+ "slStringLiteralPart2": {
2491
+ "type": "SYMBOL",
2492
+ "name": "_sl2_string_chars"
2493
+ },
2494
+ "slStringLiteralPart3": {
2495
+ "type": "SYMBOL",
2496
+ "name": "_sl3_string_chars"
2497
+ },
2498
+ "slStringLiteralPart4": {
2499
+ "type": "SYMBOL",
2500
+ "name": "_sl4_string_chars"
2501
+ },
2502
+ "slStringLiteralPart5": {
2503
+ "type": "SYMBOL",
2504
+ "name": "_sl5_string_chars"
2505
+ },
2506
+ "slStringLiteralPart6": {
2507
+ "type": "SYMBOL",
2508
+ "name": "_sl6_string_chars"
2509
+ },
2510
+ "mlStringLiteralExpr": {
2245
2511
  "type": "CHOICE",
2246
2512
  "members": [
2247
2513
  {
@@ -2258,7 +2524,7 @@
2258
2524
  "members": [
2259
2525
  {
2260
2526
  "type": "SYMBOL",
2261
- "name": "_ml_string_chars"
2527
+ "name": "mlStringLiteralPart"
2262
2528
  },
2263
2529
  {
2264
2530
  "type": "SYMBOL",
@@ -2266,7 +2532,7 @@
2266
2532
  },
2267
2533
  {
2268
2534
  "type": "SYMBOL",
2269
- "name": "interpolationExpr"
2535
+ "name": "stringInterpolation"
2270
2536
  }
2271
2537
  ]
2272
2538
  }
@@ -2290,8 +2556,13 @@
2290
2556
  "type": "CHOICE",
2291
2557
  "members": [
2292
2558
  {
2293
- "type": "SYMBOL",
2294
- "name": "_ml1_string_chars"
2559
+ "type": "ALIAS",
2560
+ "content": {
2561
+ "type": "SYMBOL",
2562
+ "name": "mlStringLiteralPart1"
2563
+ },
2564
+ "named": true,
2565
+ "value": "mlStringLiteralPart"
2295
2566
  },
2296
2567
  {
2297
2568
  "type": "ALIAS",
@@ -2306,10 +2577,10 @@
2306
2577
  "type": "ALIAS",
2307
2578
  "content": {
2308
2579
  "type": "SYMBOL",
2309
- "name": "interpolationExpr1"
2580
+ "name": "stringInterpolation1"
2310
2581
  },
2311
2582
  "named": true,
2312
- "value": "interpolationExpr"
2583
+ "value": "stringInterpolation"
2313
2584
  }
2314
2585
  ]
2315
2586
  }
@@ -2333,8 +2604,13 @@
2333
2604
  "type": "CHOICE",
2334
2605
  "members": [
2335
2606
  {
2336
- "type": "SYMBOL",
2337
- "name": "_ml2_string_chars"
2607
+ "type": "ALIAS",
2608
+ "content": {
2609
+ "type": "SYMBOL",
2610
+ "name": "mlStringLiteralPart2"
2611
+ },
2612
+ "named": true,
2613
+ "value": "mlStringLiteralPart"
2338
2614
  },
2339
2615
  {
2340
2616
  "type": "ALIAS",
@@ -2349,10 +2625,10 @@
2349
2625
  "type": "ALIAS",
2350
2626
  "content": {
2351
2627
  "type": "SYMBOL",
2352
- "name": "interpolationExpr2"
2628
+ "name": "stringInterpolation2"
2353
2629
  },
2354
2630
  "named": true,
2355
- "value": "interpolationExpr"
2631
+ "value": "stringInterpolation"
2356
2632
  }
2357
2633
  ]
2358
2634
  }
@@ -2376,8 +2652,13 @@
2376
2652
  "type": "CHOICE",
2377
2653
  "members": [
2378
2654
  {
2379
- "type": "SYMBOL",
2380
- "name": "_ml3_string_chars"
2655
+ "type": "ALIAS",
2656
+ "content": {
2657
+ "type": "SYMBOL",
2658
+ "name": "mlStringLiteralPart3"
2659
+ },
2660
+ "named": true,
2661
+ "value": "mlStringLiteralPart"
2381
2662
  },
2382
2663
  {
2383
2664
  "type": "ALIAS",
@@ -2392,10 +2673,10 @@
2392
2673
  "type": "ALIAS",
2393
2674
  "content": {
2394
2675
  "type": "SYMBOL",
2395
- "name": "interpolationExpr3"
2676
+ "name": "stringInterpolation3"
2396
2677
  },
2397
2678
  "named": true,
2398
- "value": "interpolationExpr"
2679
+ "value": "stringInterpolation"
2399
2680
  }
2400
2681
  ]
2401
2682
  }
@@ -2419,8 +2700,13 @@
2419
2700
  "type": "CHOICE",
2420
2701
  "members": [
2421
2702
  {
2422
- "type": "SYMBOL",
2423
- "name": "_ml4_string_chars"
2703
+ "type": "ALIAS",
2704
+ "content": {
2705
+ "type": "SYMBOL",
2706
+ "name": "mlStringLiteralPart4"
2707
+ },
2708
+ "named": true,
2709
+ "value": "mlStringLiteralPart"
2424
2710
  },
2425
2711
  {
2426
2712
  "type": "ALIAS",
@@ -2435,10 +2721,10 @@
2435
2721
  "type": "ALIAS",
2436
2722
  "content": {
2437
2723
  "type": "SYMBOL",
2438
- "name": "interpolationExpr4"
2724
+ "name": "stringInterpolation4"
2439
2725
  },
2440
2726
  "named": true,
2441
- "value": "interpolationExpr"
2727
+ "value": "stringInterpolation"
2442
2728
  }
2443
2729
  ]
2444
2730
  }
@@ -2462,8 +2748,13 @@
2462
2748
  "type": "CHOICE",
2463
2749
  "members": [
2464
2750
  {
2465
- "type": "SYMBOL",
2466
- "name": "_ml5_string_chars"
2751
+ "type": "ALIAS",
2752
+ "content": {
2753
+ "type": "SYMBOL",
2754
+ "name": "mlStringLiteralPart5"
2755
+ },
2756
+ "named": true,
2757
+ "value": "mlStringLiteralPart"
2467
2758
  },
2468
2759
  {
2469
2760
  "type": "ALIAS",
@@ -2478,10 +2769,10 @@
2478
2769
  "type": "ALIAS",
2479
2770
  "content": {
2480
2771
  "type": "SYMBOL",
2481
- "name": "interpolationExpr5"
2772
+ "name": "stringInterpolation5"
2482
2773
  },
2483
2774
  "named": true,
2484
- "value": "interpolationExpr"
2775
+ "value": "stringInterpolation"
2485
2776
  }
2486
2777
  ]
2487
2778
  }
@@ -2505,8 +2796,13 @@
2505
2796
  "type": "CHOICE",
2506
2797
  "members": [
2507
2798
  {
2508
- "type": "SYMBOL",
2509
- "name": "_ml6_string_chars"
2799
+ "type": "ALIAS",
2800
+ "content": {
2801
+ "type": "SYMBOL",
2802
+ "name": "mlStringLiteralPart6"
2803
+ },
2804
+ "named": true,
2805
+ "value": "mlStringLiteralPart"
2510
2806
  },
2511
2807
  {
2512
2808
  "type": "ALIAS",
@@ -2521,10 +2817,10 @@
2521
2817
  "type": "ALIAS",
2522
2818
  "content": {
2523
2819
  "type": "SYMBOL",
2524
- "name": "interpolationExpr6"
2820
+ "name": "stringInterpolation6"
2525
2821
  },
2526
2822
  "named": true,
2527
- "value": "interpolationExpr"
2823
+ "value": "stringInterpolation"
2528
2824
  }
2529
2825
  ]
2530
2826
  }
@@ -2537,6 +2833,34 @@
2537
2833
  }
2538
2834
  ]
2539
2835
  },
2836
+ "mlStringLiteralPart": {
2837
+ "type": "SYMBOL",
2838
+ "name": "_ml_string_chars"
2839
+ },
2840
+ "mlStringLiteralPart1": {
2841
+ "type": "SYMBOL",
2842
+ "name": "_ml1_string_chars"
2843
+ },
2844
+ "mlStringLiteralPart2": {
2845
+ "type": "SYMBOL",
2846
+ "name": "_ml2_string_chars"
2847
+ },
2848
+ "mlStringLiteralPart3": {
2849
+ "type": "SYMBOL",
2850
+ "name": "_ml3_string_chars"
2851
+ },
2852
+ "mlStringLiteralPart4": {
2853
+ "type": "SYMBOL",
2854
+ "name": "_ml4_string_chars"
2855
+ },
2856
+ "mlStringLiteralPart5": {
2857
+ "type": "SYMBOL",
2858
+ "name": "_ml5_string_chars"
2859
+ },
2860
+ "mlStringLiteralPart6": {
2861
+ "type": "SYMBOL",
2862
+ "name": "_ml6_string_chars"
2863
+ },
2540
2864
  "escapeSequence": {
2541
2865
  "type": "IMMEDIATE_TOKEN",
2542
2866
  "content": {
@@ -2555,7 +2879,7 @@
2555
2879
  },
2556
2880
  {
2557
2881
  "type": "PATTERN",
2558
- "value": "u\\{[0-9a-fA-F]+\\}"
2882
+ "value": "u\\{[0-9a-fA-F]+}"
2559
2883
  }
2560
2884
  ]
2561
2885
  }
@@ -2580,7 +2904,7 @@
2580
2904
  },
2581
2905
  {
2582
2906
  "type": "PATTERN",
2583
- "value": "u\\{[0-9a-fA-F]+\\}"
2907
+ "value": "u\\{[0-9a-fA-F]+}"
2584
2908
  }
2585
2909
  ]
2586
2910
  }
@@ -2605,7 +2929,7 @@
2605
2929
  },
2606
2930
  {
2607
2931
  "type": "PATTERN",
2608
- "value": "u\\{[0-9a-fA-F]+\\}"
2932
+ "value": "u\\{[0-9a-fA-F]+}"
2609
2933
  }
2610
2934
  ]
2611
2935
  }
@@ -2630,7 +2954,7 @@
2630
2954
  },
2631
2955
  {
2632
2956
  "type": "PATTERN",
2633
- "value": "u\\{[0-9a-fA-F]+\\}"
2957
+ "value": "u\\{[0-9a-fA-F]+}"
2634
2958
  }
2635
2959
  ]
2636
2960
  }
@@ -2655,7 +2979,7 @@
2655
2979
  },
2656
2980
  {
2657
2981
  "type": "PATTERN",
2658
- "value": "u\\{[0-9a-fA-F]+\\}"
2982
+ "value": "u\\{[0-9a-fA-F]+}"
2659
2983
  }
2660
2984
  ]
2661
2985
  }
@@ -2680,7 +3004,7 @@
2680
3004
  },
2681
3005
  {
2682
3006
  "type": "PATTERN",
2683
- "value": "u\\{[0-9a-fA-F]+\\}"
3007
+ "value": "u\\{[0-9a-fA-F]+}"
2684
3008
  }
2685
3009
  ]
2686
3010
  }
@@ -2705,14 +3029,14 @@
2705
3029
  },
2706
3030
  {
2707
3031
  "type": "PATTERN",
2708
- "value": "u\\{[0-9a-fA-F]+\\}"
3032
+ "value": "u\\{[0-9a-fA-F]+}"
2709
3033
  }
2710
3034
  ]
2711
3035
  }
2712
3036
  ]
2713
3037
  }
2714
3038
  },
2715
- "interpolationExpr": {
3039
+ "stringInterpolation": {
2716
3040
  "type": "SEQ",
2717
3041
  "members": [
2718
3042
  {
@@ -2732,7 +3056,7 @@
2732
3056
  }
2733
3057
  ]
2734
3058
  },
2735
- "interpolationExpr1": {
3059
+ "stringInterpolation1": {
2736
3060
  "type": "SEQ",
2737
3061
  "members": [
2738
3062
  {
@@ -2752,7 +3076,7 @@
2752
3076
  }
2753
3077
  ]
2754
3078
  },
2755
- "interpolationExpr2": {
3079
+ "stringInterpolation2": {
2756
3080
  "type": "SEQ",
2757
3081
  "members": [
2758
3082
  {
@@ -2772,7 +3096,7 @@
2772
3096
  }
2773
3097
  ]
2774
3098
  },
2775
- "interpolationExpr3": {
3099
+ "stringInterpolation3": {
2776
3100
  "type": "SEQ",
2777
3101
  "members": [
2778
3102
  {
@@ -2792,7 +3116,7 @@
2792
3116
  }
2793
3117
  ]
2794
3118
  },
2795
- "interpolationExpr4": {
3119
+ "stringInterpolation4": {
2796
3120
  "type": "SEQ",
2797
3121
  "members": [
2798
3122
  {
@@ -2812,7 +3136,7 @@
2812
3136
  }
2813
3137
  ]
2814
3138
  },
2815
- "interpolationExpr5": {
3139
+ "stringInterpolation5": {
2816
3140
  "type": "SEQ",
2817
3141
  "members": [
2818
3142
  {
@@ -2832,7 +3156,7 @@
2832
3156
  }
2833
3157
  ]
2834
3158
  },
2835
- "interpolationExpr6": {
3159
+ "stringInterpolation6": {
2836
3160
  "type": "SEQ",
2837
3161
  "members": [
2838
3162
  {
@@ -2864,7 +3188,7 @@
2864
3188
  "members": [
2865
3189
  {
2866
3190
  "type": "SYMBOL",
2867
- "name": "type"
3191
+ "name": "_type"
2868
3192
  },
2869
3193
  {
2870
3194
  "type": "BLANK"
@@ -2877,564 +3201,408 @@
2877
3201
  }
2878
3202
  ]
2879
3203
  },
2880
- "objectLiteral": {
3204
+ "amendExpr": {
2881
3205
  "type": "PREC",
2882
3206
  "value": 1,
2883
3207
  "content": {
2884
3208
  "type": "SEQ",
2885
3209
  "members": [
2886
3210
  {
2887
- "type": "SYMBOL",
2888
- "name": "_expr2"
2889
- },
2890
- {
2891
- "type": "SYMBOL",
2892
- "name": "objectBody"
2893
- }
2894
- ]
2895
- }
2896
- },
2897
- "methodCallExpr": {
2898
- "type": "SEQ",
2899
- "members": [
2900
- {
2901
- "type": "CHOICE",
2902
- "members": [
2903
- {
2904
- "type": "SEQ",
3211
+ "type": "FIELD",
3212
+ "name": "parent",
3213
+ "content": {
3214
+ "type": "CHOICE",
2905
3215
  "members": [
2906
3216
  {
2907
- "type": "CHOICE",
2908
- "members": [
2909
- {
2910
- "type": "STRING",
2911
- "value": "super"
2912
- },
2913
- {
2914
- "type": "SYMBOL",
2915
- "name": "_expr"
2916
- }
2917
- ]
3217
+ "type": "SYMBOL",
3218
+ "name": "newExpr"
2918
3219
  },
2919
3220
  {
2920
- "type": "CHOICE",
2921
- "members": [
2922
- {
2923
- "type": "STRING",
2924
- "value": "."
2925
- },
2926
- {
2927
- "type": "STRING",
2928
- "value": "?."
2929
- }
2930
- ]
3221
+ "type": "SYMBOL",
3222
+ "name": "amendExpr"
3223
+ },
3224
+ {
3225
+ "type": "SYMBOL",
3226
+ "name": "parenthesizedExpr"
2931
3227
  }
2932
3228
  ]
2933
- },
2934
- {
2935
- "type": "BLANK"
2936
3229
  }
2937
- ]
2938
- },
2939
- {
2940
- "type": "SYMBOL",
2941
- "name": "identifier"
2942
- },
2943
- {
2944
- "type": "SYMBOL",
2945
- "name": "argumentList"
2946
- }
2947
- ]
3230
+ },
3231
+ {
3232
+ "type": "SYMBOL",
3233
+ "name": "objectBody"
3234
+ }
3235
+ ]
3236
+ }
2948
3237
  },
2949
- "propertyCallExpr": {
2950
- "type": "SEQ",
2951
- "members": [
2952
- {
2953
- "type": "CHOICE",
2954
- "members": [
2955
- {
2956
- "type": "STRING",
2957
- "value": "super"
2958
- },
2959
- {
3238
+ "subscriptExpr": {
3239
+ "type": "PREC_LEFT",
3240
+ "value": 99,
3241
+ "content": {
3242
+ "type": "SEQ",
3243
+ "members": [
3244
+ {
3245
+ "type": "FIELD",
3246
+ "name": "receiver",
3247
+ "content": {
2960
3248
  "type": "SYMBOL",
2961
3249
  "name": "_expr"
2962
3250
  }
2963
- ]
2964
- },
2965
- {
2966
- "type": "CHOICE",
2967
- "members": [
2968
- {
2969
- "type": "STRING",
2970
- "value": "."
3251
+ },
3252
+ {
3253
+ "type": "ALIAS",
3254
+ "content": {
3255
+ "type": "SYMBOL",
3256
+ "name": "_open_subscript_bracket"
2971
3257
  },
2972
- {
2973
- "type": "STRING",
2974
- "value": "?."
2975
- }
2976
- ]
2977
- },
2978
- {
2979
- "type": "SYMBOL",
2980
- "name": "identifier"
2981
- }
2982
- ]
3258
+ "named": false,
3259
+ "value": "["
3260
+ },
3261
+ {
3262
+ "type": "SYMBOL",
3263
+ "name": "_expr"
3264
+ },
3265
+ {
3266
+ "type": "STRING",
3267
+ "value": "]"
3268
+ }
3269
+ ]
3270
+ }
2983
3271
  },
2984
- "subscriptExpr": {
2985
- "type": "SEQ",
2986
- "members": [
2987
- {
2988
- "type": "CHOICE",
2989
- "members": [
2990
- {
2991
- "type": "STRING",
2992
- "value": "super"
2993
- },
2994
- {
2995
- "type": "SYMBOL",
2996
- "name": "_expr"
2997
- }
2998
- ]
2999
- },
3000
- {
3001
- "type": "SYMBOL",
3002
- "name": "_open_square_bracket"
3003
- },
3004
- {
3005
- "type": "SYMBOL",
3006
- "name": "_expr"
3007
- },
3008
- {
3009
- "type": "STRING",
3010
- "value": "]"
3011
- }
3012
- ]
3013
- },
3014
- "unaryExpr": {
3015
- "type": "CHOICE",
3016
- "members": [
3017
- {
3018
- "type": "PREC_LEFT",
3019
- "value": 20,
3020
- "content": {
3021
- "type": "SEQ",
3022
- "members": [
3023
- {
3024
- "type": "SYMBOL",
3025
- "name": "_expr"
3026
- },
3027
- {
3028
- "type": "STRING",
3029
- "value": "!!"
3030
- }
3031
- ]
3032
- }
3033
- },
3034
- {
3035
- "type": "PREC_LEFT",
3036
- "value": 20,
3037
- "content": {
3038
- "type": "SEQ",
3039
- "members": [
3040
- {
3041
- "type": "STRING",
3042
- "value": "-"
3043
- },
3044
- {
3045
- "type": "SYMBOL",
3046
- "name": "_expr"
3047
- }
3048
- ]
3049
- }
3050
- },
3051
- {
3052
- "type": "PREC_LEFT",
3053
- "value": 19,
3054
- "content": {
3055
- "type": "SEQ",
3056
- "members": [
3057
- {
3058
- "type": "STRING",
3059
- "value": "!"
3060
- },
3061
- {
3062
- "type": "SYMBOL",
3063
- "name": "_expr"
3064
- }
3065
- ]
3272
+ "unaryMinusExpr": {
3273
+ "type": "PREC_LEFT",
3274
+ "value": 20,
3275
+ "content": {
3276
+ "type": "SEQ",
3277
+ "members": [
3278
+ {
3279
+ "type": "STRING",
3280
+ "value": "-"
3281
+ },
3282
+ {
3283
+ "type": "SYMBOL",
3284
+ "name": "_expr"
3066
3285
  }
3067
- }
3068
- ]
3286
+ ]
3287
+ }
3069
3288
  },
3070
- "binaryExprRightAssoc": {
3071
- "type": "CHOICE",
3072
- "members": [
3073
- {
3074
- "type": "PREC_RIGHT",
3075
- "value": 18,
3076
- "content": {
3077
- "type": "SEQ",
3078
- "members": [
3079
- {
3080
- "type": "SYMBOL",
3081
- "name": "_expr"
3082
- },
3083
- {
3084
- "type": "STRING",
3085
- "value": "**"
3086
- },
3087
- {
3088
- "type": "SYMBOL",
3089
- "name": "_expr"
3090
- }
3091
- ]
3092
- }
3093
- },
3094
- {
3095
- "type": "PREC_RIGHT",
3096
- "value": 8,
3097
- "content": {
3098
- "type": "SEQ",
3099
- "members": [
3100
- {
3101
- "type": "SYMBOL",
3102
- "name": "_expr"
3103
- },
3104
- {
3105
- "type": "STRING",
3106
- "value": "??"
3107
- },
3108
- {
3109
- "type": "SYMBOL",
3110
- "name": "_expr"
3111
- }
3112
- ]
3289
+ "logicalNotExpr": {
3290
+ "type": "PREC_LEFT",
3291
+ "value": 19,
3292
+ "content": {
3293
+ "type": "SEQ",
3294
+ "members": [
3295
+ {
3296
+ "type": "STRING",
3297
+ "value": "!"
3298
+ },
3299
+ {
3300
+ "type": "SYMBOL",
3301
+ "name": "_expr"
3113
3302
  }
3114
- }
3115
- ]
3303
+ ]
3304
+ }
3116
3305
  },
3117
- "binaryExpr": {
3118
- "type": "CHOICE",
3119
- "members": [
3120
- {
3121
- "type": "PREC_LEFT",
3122
- "value": 17,
3123
- "content": {
3124
- "type": "SEQ",
3125
- "members": [
3126
- {
3127
- "type": "SYMBOL",
3128
- "name": "_expr"
3129
- },
3130
- {
3131
- "type": "STRING",
3132
- "value": "*"
3133
- },
3134
- {
3135
- "type": "SYMBOL",
3136
- "name": "_expr"
3137
- }
3138
- ]
3139
- }
3140
- },
3141
- {
3142
- "type": "PREC_LEFT",
3143
- "value": 17,
3144
- "content": {
3145
- "type": "SEQ",
3146
- "members": [
3147
- {
3148
- "type": "SYMBOL",
3149
- "name": "_expr"
3150
- },
3151
- {
3152
- "type": "STRING",
3153
- "value": "/"
3154
- },
3155
- {
3156
- "type": "SYMBOL",
3157
- "name": "_expr"
3158
- }
3159
- ]
3160
- }
3161
- },
3162
- {
3163
- "type": "PREC_LEFT",
3164
- "value": 17,
3165
- "content": {
3166
- "type": "SEQ",
3167
- "members": [
3168
- {
3169
- "type": "SYMBOL",
3170
- "name": "_expr"
3171
- },
3172
- {
3173
- "type": "STRING",
3174
- "value": "~/"
3175
- },
3176
- {
3177
- "type": "SYMBOL",
3178
- "name": "_expr"
3179
- }
3180
- ]
3181
- }
3182
- },
3183
- {
3184
- "type": "PREC_LEFT",
3185
- "value": 17,
3186
- "content": {
3187
- "type": "SEQ",
3188
- "members": [
3189
- {
3190
- "type": "SYMBOL",
3191
- "name": "_expr"
3192
- },
3193
- {
3194
- "type": "STRING",
3195
- "value": "%"
3196
- },
3197
- {
3198
- "type": "SYMBOL",
3199
- "name": "_expr"
3200
- }
3201
- ]
3202
- }
3203
- },
3204
- {
3205
- "type": "PREC_LEFT",
3206
- "value": 16,
3207
- "content": {
3208
- "type": "SEQ",
3209
- "members": [
3210
- {
3211
- "type": "SYMBOL",
3212
- "name": "_expr"
3213
- },
3214
- {
3215
- "type": "STRING",
3216
- "value": "+"
3217
- },
3218
- {
3219
- "type": "SYMBOL",
3220
- "name": "_expr"
3221
- }
3222
- ]
3223
- }
3224
- },
3225
- {
3226
- "type": "PREC_LEFT",
3227
- "value": 16,
3228
- "content": {
3229
- "type": "SEQ",
3230
- "members": [
3231
- {
3232
- "type": "SYMBOL",
3233
- "name": "_expr"
3234
- },
3235
- {
3236
- "type": "STRING",
3237
- "value": "-"
3238
- },
3239
- {
3240
- "type": "SYMBOL",
3241
- "name": "_expr"
3242
- }
3243
- ]
3244
- }
3245
- },
3246
- {
3247
- "type": "PREC_LEFT",
3248
- "value": 15,
3249
- "content": {
3250
- "type": "SEQ",
3251
- "members": [
3252
- {
3253
- "type": "SYMBOL",
3254
- "name": "_expr"
3255
- },
3256
- {
3257
- "type": "STRING",
3258
- "value": "<"
3259
- },
3260
- {
3261
- "type": "SYMBOL",
3262
- "name": "_expr"
3263
- }
3264
- ]
3306
+ "nonNullExpr": {
3307
+ "type": "PREC_LEFT",
3308
+ "value": 21,
3309
+ "content": {
3310
+ "type": "SEQ",
3311
+ "members": [
3312
+ {
3313
+ "type": "SYMBOL",
3314
+ "name": "_expr"
3315
+ },
3316
+ {
3317
+ "type": "STRING",
3318
+ "value": "!!"
3265
3319
  }
3266
- },
3267
- {
3268
- "type": "PREC_LEFT",
3269
- "value": 15,
3270
- "content": {
3271
- "type": "SEQ",
3272
- "members": [
3273
- {
3274
- "type": "SYMBOL",
3275
- "name": "_expr"
3276
- },
3277
- {
3278
- "type": "STRING",
3279
- "value": "<="
3280
- },
3281
- {
3282
- "type": "SYMBOL",
3283
- "name": "_expr"
3284
- }
3285
- ]
3320
+ ]
3321
+ }
3322
+ },
3323
+ "nullCoalesceExpr": {
3324
+ "type": "PREC_RIGHT",
3325
+ "value": 8,
3326
+ "content": {
3327
+ "type": "SEQ",
3328
+ "members": [
3329
+ {
3330
+ "type": "SYMBOL",
3331
+ "name": "_expr"
3332
+ },
3333
+ {
3334
+ "type": "FIELD",
3335
+ "name": "operator",
3336
+ "content": {
3337
+ "type": "STRING",
3338
+ "value": "??"
3339
+ }
3340
+ },
3341
+ {
3342
+ "type": "SYMBOL",
3343
+ "name": "_expr"
3286
3344
  }
3287
- },
3288
- {
3289
- "type": "PREC_LEFT",
3290
- "value": 15,
3291
- "content": {
3292
- "type": "SEQ",
3293
- "members": [
3294
- {
3295
- "type": "SYMBOL",
3296
- "name": "_expr"
3297
- },
3298
- {
3299
- "type": "STRING",
3300
- "value": ">="
3301
- },
3302
- {
3303
- "type": "SYMBOL",
3304
- "name": "_expr"
3305
- }
3306
- ]
3345
+ ]
3346
+ }
3347
+ },
3348
+ "exponentiationExpr": {
3349
+ "type": "PREC_RIGHT",
3350
+ "value": 18,
3351
+ "content": {
3352
+ "type": "SEQ",
3353
+ "members": [
3354
+ {
3355
+ "type": "SYMBOL",
3356
+ "name": "_expr"
3357
+ },
3358
+ {
3359
+ "type": "FIELD",
3360
+ "name": "operator",
3361
+ "content": {
3362
+ "type": "STRING",
3363
+ "value": "**"
3364
+ }
3365
+ },
3366
+ {
3367
+ "type": "SYMBOL",
3368
+ "name": "_expr"
3307
3369
  }
3308
- },
3309
- {
3310
- "type": "PREC_LEFT",
3311
- "value": 15,
3312
- "content": {
3313
- "type": "SEQ",
3314
- "members": [
3315
- {
3316
- "type": "SYMBOL",
3317
- "name": "_expr"
3318
- },
3319
- {
3320
- "type": "STRING",
3321
- "value": ">"
3322
- },
3323
- {
3324
- "type": "SYMBOL",
3325
- "name": "_expr"
3326
- }
3327
- ]
3370
+ ]
3371
+ }
3372
+ },
3373
+ "multiplicativeExpr": {
3374
+ "type": "PREC_LEFT",
3375
+ "value": 17,
3376
+ "content": {
3377
+ "type": "SEQ",
3378
+ "members": [
3379
+ {
3380
+ "type": "SYMBOL",
3381
+ "name": "_expr"
3382
+ },
3383
+ {
3384
+ "type": "FIELD",
3385
+ "name": "operator",
3386
+ "content": {
3387
+ "type": "CHOICE",
3388
+ "members": [
3389
+ {
3390
+ "type": "STRING",
3391
+ "value": "*"
3392
+ },
3393
+ {
3394
+ "type": "STRING",
3395
+ "value": "/"
3396
+ },
3397
+ {
3398
+ "type": "STRING",
3399
+ "value": "~/"
3400
+ },
3401
+ {
3402
+ "type": "STRING",
3403
+ "value": "%"
3404
+ }
3405
+ ]
3406
+ }
3407
+ },
3408
+ {
3409
+ "type": "SYMBOL",
3410
+ "name": "_expr"
3328
3411
  }
3329
- },
3330
- {
3331
- "type": "PREC_LEFT",
3332
- "value": 12,
3333
- "content": {
3334
- "type": "SEQ",
3335
- "members": [
3336
- {
3337
- "type": "SYMBOL",
3338
- "name": "_expr"
3339
- },
3340
- {
3341
- "type": "STRING",
3342
- "value": "=="
3343
- },
3344
- {
3345
- "type": "SYMBOL",
3346
- "name": "_expr"
3347
- }
3348
- ]
3412
+ ]
3413
+ }
3414
+ },
3415
+ "additiveExpr": {
3416
+ "type": "PREC_LEFT",
3417
+ "value": 16,
3418
+ "content": {
3419
+ "type": "SEQ",
3420
+ "members": [
3421
+ {
3422
+ "type": "SYMBOL",
3423
+ "name": "_expr"
3424
+ },
3425
+ {
3426
+ "type": "FIELD",
3427
+ "name": "operator",
3428
+ "content": {
3429
+ "type": "CHOICE",
3430
+ "members": [
3431
+ {
3432
+ "type": "STRING",
3433
+ "value": "+"
3434
+ },
3435
+ {
3436
+ "type": "ALIAS",
3437
+ "content": {
3438
+ "type": "SYMBOL",
3439
+ "name": "_binary_minus"
3440
+ },
3441
+ "named": false,
3442
+ "value": "-"
3443
+ }
3444
+ ]
3445
+ }
3446
+ },
3447
+ {
3448
+ "type": "SYMBOL",
3449
+ "name": "_expr"
3349
3450
  }
3350
- },
3351
- {
3352
- "type": "PREC_LEFT",
3353
- "value": 12,
3354
- "content": {
3355
- "type": "SEQ",
3356
- "members": [
3357
- {
3358
- "type": "SYMBOL",
3359
- "name": "_expr"
3360
- },
3361
- {
3362
- "type": "STRING",
3363
- "value": "!="
3364
- },
3365
- {
3366
- "type": "SYMBOL",
3367
- "name": "_expr"
3368
- }
3369
- ]
3451
+ ]
3452
+ }
3453
+ },
3454
+ "comparisonExpr": {
3455
+ "type": "PREC_LEFT",
3456
+ "value": 15,
3457
+ "content": {
3458
+ "type": "SEQ",
3459
+ "members": [
3460
+ {
3461
+ "type": "SYMBOL",
3462
+ "name": "_expr"
3463
+ },
3464
+ {
3465
+ "type": "FIELD",
3466
+ "name": "operator",
3467
+ "content": {
3468
+ "type": "CHOICE",
3469
+ "members": [
3470
+ {
3471
+ "type": "STRING",
3472
+ "value": "<"
3473
+ },
3474
+ {
3475
+ "type": "STRING",
3476
+ "value": "<="
3477
+ },
3478
+ {
3479
+ "type": "STRING",
3480
+ "value": ">="
3481
+ },
3482
+ {
3483
+ "type": "STRING",
3484
+ "value": ">"
3485
+ }
3486
+ ]
3487
+ }
3488
+ },
3489
+ {
3490
+ "type": "SYMBOL",
3491
+ "name": "_expr"
3370
3492
  }
3371
- },
3372
- {
3373
- "type": "PREC_LEFT",
3374
- "value": 11,
3375
- "content": {
3376
- "type": "SEQ",
3377
- "members": [
3378
- {
3379
- "type": "SYMBOL",
3380
- "name": "_expr"
3381
- },
3382
- {
3383
- "type": "STRING",
3384
- "value": "&&"
3385
- },
3386
- {
3387
- "type": "SYMBOL",
3388
- "name": "_expr"
3389
- }
3390
- ]
3493
+ ]
3494
+ }
3495
+ },
3496
+ "equalityExpr": {
3497
+ "type": "PREC_LEFT",
3498
+ "value": 12,
3499
+ "content": {
3500
+ "type": "SEQ",
3501
+ "members": [
3502
+ {
3503
+ "type": "SYMBOL",
3504
+ "name": "_expr"
3505
+ },
3506
+ {
3507
+ "type": "FIELD",
3508
+ "name": "operator",
3509
+ "content": {
3510
+ "type": "CHOICE",
3511
+ "members": [
3512
+ {
3513
+ "type": "STRING",
3514
+ "value": "=="
3515
+ },
3516
+ {
3517
+ "type": "STRING",
3518
+ "value": "!="
3519
+ }
3520
+ ]
3521
+ }
3522
+ },
3523
+ {
3524
+ "type": "SYMBOL",
3525
+ "name": "_expr"
3391
3526
  }
3392
- },
3393
- {
3394
- "type": "PREC_LEFT",
3395
- "value": 10,
3396
- "content": {
3397
- "type": "SEQ",
3398
- "members": [
3399
- {
3400
- "type": "SYMBOL",
3401
- "name": "_expr"
3402
- },
3403
- {
3404
- "type": "STRING",
3405
- "value": "||"
3406
- },
3407
- {
3408
- "type": "SYMBOL",
3409
- "name": "_expr"
3410
- }
3411
- ]
3527
+ ]
3528
+ }
3529
+ },
3530
+ "logicalAndExpr": {
3531
+ "type": "PREC_LEFT",
3532
+ "value": 11,
3533
+ "content": {
3534
+ "type": "SEQ",
3535
+ "members": [
3536
+ {
3537
+ "type": "SYMBOL",
3538
+ "name": "_expr"
3539
+ },
3540
+ {
3541
+ "type": "FIELD",
3542
+ "name": "operator",
3543
+ "content": {
3544
+ "type": "STRING",
3545
+ "value": "&&"
3546
+ }
3547
+ },
3548
+ {
3549
+ "type": "SYMBOL",
3550
+ "name": "_expr"
3412
3551
  }
3413
- },
3414
- {
3415
- "type": "PREC_LEFT",
3416
- "value": 9,
3417
- "content": {
3418
- "type": "SEQ",
3419
- "members": [
3420
- {
3421
- "type": "SYMBOL",
3422
- "name": "_expr"
3423
- },
3424
- {
3425
- "type": "STRING",
3426
- "value": "|>"
3427
- },
3428
- {
3429
- "type": "SYMBOL",
3430
- "name": "_expr"
3431
- }
3432
- ]
3552
+ ]
3553
+ }
3554
+ },
3555
+ "logicalOrExpr": {
3556
+ "type": "PREC_LEFT",
3557
+ "value": 10,
3558
+ "content": {
3559
+ "type": "SEQ",
3560
+ "members": [
3561
+ {
3562
+ "type": "SYMBOL",
3563
+ "name": "_expr"
3564
+ },
3565
+ {
3566
+ "type": "FIELD",
3567
+ "name": "operator",
3568
+ "content": {
3569
+ "type": "STRING",
3570
+ "value": "||"
3571
+ }
3572
+ },
3573
+ {
3574
+ "type": "SYMBOL",
3575
+ "name": "_expr"
3433
3576
  }
3434
- }
3435
- ]
3577
+ ]
3578
+ }
3579
+ },
3580
+ "pipeExpr": {
3581
+ "type": "PREC_LEFT",
3582
+ "value": 9,
3583
+ "content": {
3584
+ "type": "SEQ",
3585
+ "members": [
3586
+ {
3587
+ "type": "SYMBOL",
3588
+ "name": "_expr"
3589
+ },
3590
+ {
3591
+ "type": "FIELD",
3592
+ "name": "operator",
3593
+ "content": {
3594
+ "type": "STRING",
3595
+ "value": "|>"
3596
+ }
3597
+ },
3598
+ {
3599
+ "type": "SYMBOL",
3600
+ "name": "_expr"
3601
+ }
3602
+ ]
3603
+ }
3436
3604
  },
3437
- "isExpr": {
3605
+ "typeTestExpr": {
3438
3606
  "type": "PREC",
3439
3607
  "value": 14,
3440
3608
  "content": {
@@ -3445,17 +3613,21 @@
3445
3613
  "name": "_expr"
3446
3614
  },
3447
3615
  {
3448
- "type": "STRING",
3449
- "value": "is"
3616
+ "type": "FIELD",
3617
+ "name": "operator",
3618
+ "content": {
3619
+ "type": "STRING",
3620
+ "value": "is"
3621
+ }
3450
3622
  },
3451
3623
  {
3452
3624
  "type": "SYMBOL",
3453
- "name": "type"
3625
+ "name": "_type"
3454
3626
  }
3455
3627
  ]
3456
3628
  }
3457
3629
  },
3458
- "asExpr": {
3630
+ "typeCastExpr": {
3459
3631
  "type": "PREC",
3460
3632
  "value": 14,
3461
3633
  "content": {
@@ -3466,12 +3638,16 @@
3466
3638
  "name": "_expr"
3467
3639
  },
3468
3640
  {
3469
- "type": "STRING",
3470
- "value": "as"
3641
+ "type": "FIELD",
3642
+ "name": "operator",
3643
+ "content": {
3644
+ "type": "STRING",
3645
+ "value": "as"
3646
+ }
3471
3647
  },
3472
3648
  {
3473
3649
  "type": "SYMBOL",
3474
- "name": "type"
3650
+ "name": "_type"
3475
3651
  }
3476
3652
  ]
3477
3653
  }
@@ -3529,7 +3705,7 @@
3529
3705
  },
3530
3706
  {
3531
3707
  "type": "SYMBOL",
3532
- "name": "typedIdentifier"
3708
+ "name": "_parameter"
3533
3709
  },
3534
3710
  {
3535
3711
  "type": "STRING",
@@ -3560,9 +3736,17 @@
3560
3736
  "type": "STRING",
3561
3737
  "value": "throw"
3562
3738
  },
3739
+ {
3740
+ "type": "STRING",
3741
+ "value": "("
3742
+ },
3563
3743
  {
3564
3744
  "type": "SYMBOL",
3565
3745
  "name": "_expr"
3746
+ },
3747
+ {
3748
+ "type": "STRING",
3749
+ "value": ")"
3566
3750
  }
3567
3751
  ]
3568
3752
  }
@@ -3577,9 +3761,17 @@
3577
3761
  "type": "STRING",
3578
3762
  "value": "trace"
3579
3763
  },
3764
+ {
3765
+ "type": "STRING",
3766
+ "value": "("
3767
+ },
3580
3768
  {
3581
3769
  "type": "SYMBOL",
3582
3770
  "name": "_expr"
3771
+ },
3772
+ {
3773
+ "type": "STRING",
3774
+ "value": ")"
3583
3775
  }
3584
3776
  ]
3585
3777
  }
@@ -3591,46 +3783,37 @@
3591
3783
  "type": "SEQ",
3592
3784
  "members": [
3593
3785
  {
3594
- "type": "STRING",
3595
- "value": "read"
3786
+ "type": "FIELD",
3787
+ "name": "variant",
3788
+ "content": {
3789
+ "type": "CHOICE",
3790
+ "members": [
3791
+ {
3792
+ "type": "STRING",
3793
+ "value": "read"
3794
+ },
3795
+ {
3796
+ "type": "STRING",
3797
+ "value": "read?"
3798
+ },
3799
+ {
3800
+ "type": "STRING",
3801
+ "value": "read*"
3802
+ }
3803
+ ]
3804
+ }
3596
3805
  },
3597
- {
3598
- "type": "SYMBOL",
3599
- "name": "_expr"
3600
- }
3601
- ]
3602
- }
3603
- },
3604
- "readOrNullExpr": {
3605
- "type": "PREC",
3606
- "value": -9,
3607
- "content": {
3608
- "type": "SEQ",
3609
- "members": [
3610
3806
  {
3611
3807
  "type": "STRING",
3612
- "value": "read?"
3808
+ "value": "("
3613
3809
  },
3614
3810
  {
3615
3811
  "type": "SYMBOL",
3616
3812
  "name": "_expr"
3617
- }
3618
- ]
3619
- }
3620
- },
3621
- "readGlobExpr": {
3622
- "type": "PREC",
3623
- "value": -10,
3624
- "content": {
3625
- "type": "SEQ",
3626
- "members": [
3627
- {
3628
- "type": "STRING",
3629
- "value": "read*"
3630
3813
  },
3631
3814
  {
3632
- "type": "SYMBOL",
3633
- "name": "_expr"
3815
+ "type": "STRING",
3816
+ "value": ")"
3634
3817
  }
3635
3818
  ]
3636
3819
  }
@@ -3639,8 +3822,21 @@
3639
3822
  "type": "SEQ",
3640
3823
  "members": [
3641
3824
  {
3642
- "type": "STRING",
3643
- "value": "import"
3825
+ "type": "FIELD",
3826
+ "name": "variant",
3827
+ "content": {
3828
+ "type": "CHOICE",
3829
+ "members": [
3830
+ {
3831
+ "type": "STRING",
3832
+ "value": "import"
3833
+ },
3834
+ {
3835
+ "type": "STRING",
3836
+ "value": "import*"
3837
+ }
3838
+ ]
3839
+ }
3644
3840
  },
3645
3841
  {
3646
3842
  "type": "SEQ",
@@ -3661,98 +3857,190 @@
3661
3857
  }
3662
3858
  ]
3663
3859
  },
3664
- "importGlobExpr": {
3860
+ "unqualifiedAccessExpr": {
3665
3861
  "type": "SEQ",
3666
3862
  "members": [
3667
3863
  {
3668
- "type": "STRING",
3669
- "value": "import*"
3864
+ "type": "SYMBOL",
3865
+ "name": "identifier"
3670
3866
  },
3671
3867
  {
3672
- "type": "SEQ",
3868
+ "type": "CHOICE",
3673
3869
  "members": [
3674
- {
3675
- "type": "STRING",
3676
- "value": "("
3677
- },
3678
3870
  {
3679
3871
  "type": "SYMBOL",
3680
- "name": "stringConstant"
3872
+ "name": "argumentList"
3681
3873
  },
3682
3874
  {
3683
- "type": "STRING",
3684
- "value": ")"
3875
+ "type": "BLANK"
3685
3876
  }
3686
3877
  ]
3687
3878
  }
3688
3879
  ]
3689
3880
  },
3690
- "functionLiteral": {
3691
- "type": "PREC",
3692
- "value": -11,
3881
+ "superAccessExpr": {
3882
+ "type": "PREC_LEFT",
3883
+ "value": 99,
3693
3884
  "content": {
3694
3885
  "type": "SEQ",
3695
3886
  "members": [
3887
+ {
3888
+ "type": "STRING",
3889
+ "value": "super"
3890
+ },
3891
+ {
3892
+ "type": "STRING",
3893
+ "value": "."
3894
+ },
3696
3895
  {
3697
3896
  "type": "SYMBOL",
3698
- "name": "parameterList"
3897
+ "name": "identifier"
3699
3898
  },
3899
+ {
3900
+ "type": "CHOICE",
3901
+ "members": [
3902
+ {
3903
+ "type": "SYMBOL",
3904
+ "name": "argumentList"
3905
+ },
3906
+ {
3907
+ "type": "BLANK"
3908
+ }
3909
+ ]
3910
+ }
3911
+ ]
3912
+ }
3913
+ },
3914
+ "superSubscriptExpr": {
3915
+ "type": "PREC_LEFT",
3916
+ "value": 99,
3917
+ "content": {
3918
+ "type": "SEQ",
3919
+ "members": [
3700
3920
  {
3701
3921
  "type": "STRING",
3702
- "value": "->"
3922
+ "value": "super"
3923
+ },
3924
+ {
3925
+ "type": "ALIAS",
3926
+ "content": {
3927
+ "type": "SYMBOL",
3928
+ "name": "_open_subscript_bracket"
3929
+ },
3930
+ "named": false,
3931
+ "value": "["
3703
3932
  },
3704
3933
  {
3705
3934
  "type": "SYMBOL",
3706
3935
  "name": "_expr"
3936
+ },
3937
+ {
3938
+ "type": "STRING",
3939
+ "value": "]"
3707
3940
  }
3708
3941
  ]
3709
3942
  }
3710
3943
  },
3711
- "qualifiedIdentifier": {
3712
- "type": "SEQ",
3713
- "members": [
3714
- {
3715
- "type": "SYMBOL",
3716
- "name": "identifier"
3717
- },
3718
- {
3719
- "type": "REPEAT",
3720
- "content": {
3721
- "type": "SEQ",
3944
+ "qualifiedAccessExpr": {
3945
+ "type": "PREC_LEFT",
3946
+ "value": 99,
3947
+ "content": {
3948
+ "type": "SEQ",
3949
+ "members": [
3950
+ {
3951
+ "type": "FIELD",
3952
+ "name": "receiver",
3953
+ "content": {
3954
+ "type": "SYMBOL",
3955
+ "name": "_expr"
3956
+ }
3957
+ },
3958
+ {
3959
+ "type": "CHOICE",
3722
3960
  "members": [
3723
3961
  {
3724
3962
  "type": "STRING",
3725
3963
  "value": "."
3726
3964
  },
3965
+ {
3966
+ "type": "STRING",
3967
+ "value": "?."
3968
+ }
3969
+ ]
3970
+ },
3971
+ {
3972
+ "type": "SEQ",
3973
+ "members": [
3727
3974
  {
3728
3975
  "type": "SYMBOL",
3729
3976
  "name": "identifier"
3977
+ },
3978
+ {
3979
+ "type": "CHOICE",
3980
+ "members": [
3981
+ {
3982
+ "type": "SYMBOL",
3983
+ "name": "argumentList"
3984
+ },
3985
+ {
3986
+ "type": "BLANK"
3987
+ }
3988
+ ]
3730
3989
  }
3731
3990
  ]
3732
3991
  }
3733
- }
3734
- ]
3992
+ ]
3993
+ }
3735
3994
  },
3736
- "typedIdentifier": {
3737
- "type": "SEQ",
3738
- "members": [
3739
- {
3740
- "type": "SYMBOL",
3741
- "name": "identifier"
3742
- },
3743
- {
3744
- "type": "CHOICE",
3745
- "members": [
3746
- {
3747
- "type": "SYMBOL",
3748
- "name": "typeAnnotation"
3749
- },
3750
- {
3751
- "type": "BLANK"
3995
+ "functionLiteralExpr": {
3996
+ "type": "PREC",
3997
+ "value": -11,
3998
+ "content": {
3999
+ "type": "SEQ",
4000
+ "members": [
4001
+ {
4002
+ "type": "SYMBOL",
4003
+ "name": "parameterList"
4004
+ },
4005
+ {
4006
+ "type": "STRING",
4007
+ "value": "->"
4008
+ },
4009
+ {
4010
+ "type": "SYMBOL",
4011
+ "name": "_expr"
4012
+ }
4013
+ ]
4014
+ }
4015
+ },
4016
+ "qualifiedIdentifier": {
4017
+ "type": "PREC_LEFT",
4018
+ "value": 0,
4019
+ "content": {
4020
+ "type": "SEQ",
4021
+ "members": [
4022
+ {
4023
+ "type": "SYMBOL",
4024
+ "name": "identifier"
4025
+ },
4026
+ {
4027
+ "type": "REPEAT",
4028
+ "content": {
4029
+ "type": "SEQ",
4030
+ "members": [
4031
+ {
4032
+ "type": "STRING",
4033
+ "value": "."
4034
+ },
4035
+ {
4036
+ "type": "SYMBOL",
4037
+ "name": "identifier"
4038
+ }
4039
+ ]
3752
4040
  }
3753
- ]
3754
- }
3755
- ]
4041
+ }
4042
+ ]
4043
+ }
3756
4044
  },
3757
4045
  "identifier": {
3758
4046
  "type": "TOKEN",
@@ -3783,36 +4071,69 @@
3783
4071
  }
3784
4072
  },
3785
4073
  "lineComment": {
3786
- "type": "TOKEN",
3787
- "content": {
3788
- "type": "SEQ",
3789
- "members": [
3790
- {
3791
- "type": "STRING",
3792
- "value": "//"
3793
- },
3794
- {
3795
- "type": "PATTERN",
3796
- "value": ".*"
4074
+ "type": "CHOICE",
4075
+ "members": [
4076
+ {
4077
+ "type": "TOKEN",
4078
+ "content": {
4079
+ "type": "SEQ",
4080
+ "members": [
4081
+ {
4082
+ "type": "PATTERN",
4083
+ "value": "\\/\\/[^\\/]"
4084
+ },
4085
+ {
4086
+ "type": "PATTERN",
4087
+ "value": ".*"
4088
+ }
4089
+ ]
3797
4090
  }
3798
- ]
3799
- }
4091
+ },
4092
+ {
4093
+ "type": "STRING",
4094
+ "value": "//$"
4095
+ }
4096
+ ]
3800
4097
  },
3801
4098
  "docComment": {
3802
- "type": "TOKEN",
3803
- "content": {
3804
- "type": "SEQ",
3805
- "members": [
3806
- {
3807
- "type": "STRING",
3808
- "value": "///"
3809
- },
3810
- {
3811
- "type": "PATTERN",
3812
- "value": ".*"
4099
+ "type": "SEQ",
4100
+ "members": [
4101
+ {
4102
+ "type": "TOKEN",
4103
+ "content": {
4104
+ "type": "SEQ",
4105
+ "members": [
4106
+ {
4107
+ "type": "STRING",
4108
+ "value": "///"
4109
+ },
4110
+ {
4111
+ "type": "PATTERN",
4112
+ "value": ".*"
4113
+ }
4114
+ ]
3813
4115
  }
3814
- ]
3815
- }
4116
+ },
4117
+ {
4118
+ "type": "REPEAT",
4119
+ "content": {
4120
+ "type": "TOKEN",
4121
+ "content": {
4122
+ "type": "SEQ",
4123
+ "members": [
4124
+ {
4125
+ "type": "STRING",
4126
+ "value": "///"
4127
+ },
4128
+ {
4129
+ "type": "PATTERN",
4130
+ "value": ".*"
4131
+ }
4132
+ ]
4133
+ }
4134
+ }
4135
+ }
4136
+ ]
3816
4137
  },
3817
4138
  "blockComment": {
3818
4139
  "type": "TOKEN",
@@ -3842,11 +4163,11 @@
3842
4163
  },
3843
4164
  {
3844
4165
  "type": "SYMBOL",
3845
- "name": "docComment"
4166
+ "name": "blockComment"
3846
4167
  },
3847
4168
  {
3848
4169
  "type": "SYMBOL",
3849
- "name": "blockComment"
4170
+ "name": "shebangComment"
3850
4171
  },
3851
4172
  {
3852
4173
  "type": "PATTERN",
@@ -3855,46 +4176,16 @@
3855
4176
  ],
3856
4177
  "conflicts": [
3857
4178
  [
3858
- "objectProperty",
3859
- "subscriptExpr"
3860
- ],
3861
- [
3862
- "objectMethod",
3863
- "subscriptExpr"
3864
- ],
3865
- [
3866
- "objectEntry",
3867
- "subscriptExpr"
3868
- ],
3869
- [
3870
- "objectPredicate",
3871
- "subscriptExpr"
3872
- ],
3873
- [
3874
- "propertyCallExpr",
3875
- "methodCallExpr"
3876
- ],
3877
- [
3878
- "variableExpr",
3879
- "methodCallExpr"
3880
- ],
3881
- [
3882
- "variableExpr",
3883
- "typedIdentifier"
3884
- ],
3885
- [
3886
- "objectElement",
3887
- "_expr"
3888
- ],
3889
- [
3890
- "qualifiedIdentifier"
3891
- ],
3892
- [
3893
- "type"
4179
+ "typedIdentifier",
4180
+ "unqualifiedAccessExpr"
3894
4181
  ]
3895
4182
  ],
3896
4183
  "precedences": [],
3897
4184
  "externals": [
4185
+ {
4186
+ "type": "SYMBOL",
4187
+ "name": "_sl_string_chars"
4188
+ },
3898
4189
  {
3899
4190
  "type": "SYMBOL",
3900
4191
  "name": "_sl1_string_chars"
@@ -3949,14 +4240,177 @@
3949
4240
  },
3950
4241
  {
3951
4242
  "type": "SYMBOL",
3952
- "name": "_open_square_bracket"
4243
+ "name": "_open_subscript_bracket"
4244
+ },
4245
+ {
4246
+ "type": "SYMBOL",
4247
+ "name": "_open_argument_paren"
3953
4248
  },
3954
4249
  {
3955
4250
  "type": "SYMBOL",
3956
- "name": "_open_entry_bracket"
4251
+ "name": "_binary_minus"
3957
4252
  }
3958
4253
  ],
3959
4254
  "inline": [],
3960
- "supertypes": []
3961
- }
3962
-
4255
+ "supertypes": [],
4256
+ "reserved": {
4257
+ "global": [
4258
+ {
4259
+ "type": "STRING",
4260
+ "value": "_"
4261
+ },
4262
+ {
4263
+ "type": "STRING",
4264
+ "value": "abstract"
4265
+ },
4266
+ {
4267
+ "type": "STRING",
4268
+ "value": "amends"
4269
+ },
4270
+ {
4271
+ "type": "STRING",
4272
+ "value": "as"
4273
+ },
4274
+ {
4275
+ "type": "STRING",
4276
+ "value": "class"
4277
+ },
4278
+ {
4279
+ "type": "STRING",
4280
+ "value": "const"
4281
+ },
4282
+ {
4283
+ "type": "STRING",
4284
+ "value": "else"
4285
+ },
4286
+ {
4287
+ "type": "STRING",
4288
+ "value": "extends"
4289
+ },
4290
+ {
4291
+ "type": "STRING",
4292
+ "value": "external"
4293
+ },
4294
+ {
4295
+ "type": "STRING",
4296
+ "value": "false"
4297
+ },
4298
+ {
4299
+ "type": "STRING",
4300
+ "value": "fixed"
4301
+ },
4302
+ {
4303
+ "type": "STRING",
4304
+ "value": "for"
4305
+ },
4306
+ {
4307
+ "type": "STRING",
4308
+ "value": "function"
4309
+ },
4310
+ {
4311
+ "type": "STRING",
4312
+ "value": "hidden"
4313
+ },
4314
+ {
4315
+ "type": "STRING",
4316
+ "value": "if"
4317
+ },
4318
+ {
4319
+ "type": "STRING",
4320
+ "value": "import"
4321
+ },
4322
+ {
4323
+ "type": "STRING",
4324
+ "value": "import*"
4325
+ },
4326
+ {
4327
+ "type": "STRING",
4328
+ "value": "in"
4329
+ },
4330
+ {
4331
+ "type": "STRING",
4332
+ "value": "is"
4333
+ },
4334
+ {
4335
+ "type": "STRING",
4336
+ "value": "let"
4337
+ },
4338
+ {
4339
+ "type": "STRING",
4340
+ "value": "local"
4341
+ },
4342
+ {
4343
+ "type": "STRING",
4344
+ "value": "module"
4345
+ },
4346
+ {
4347
+ "type": "STRING",
4348
+ "value": "new"
4349
+ },
4350
+ {
4351
+ "type": "STRING",
4352
+ "value": "nothing"
4353
+ },
4354
+ {
4355
+ "type": "STRING",
4356
+ "value": "null"
4357
+ },
4358
+ {
4359
+ "type": "STRING",
4360
+ "value": "open"
4361
+ },
4362
+ {
4363
+ "type": "STRING",
4364
+ "value": "out"
4365
+ },
4366
+ {
4367
+ "type": "STRING",
4368
+ "value": "outer"
4369
+ },
4370
+ {
4371
+ "type": "STRING",
4372
+ "value": "read"
4373
+ },
4374
+ {
4375
+ "type": "STRING",
4376
+ "value": "read*"
4377
+ },
4378
+ {
4379
+ "type": "STRING",
4380
+ "value": "read?"
4381
+ },
4382
+ {
4383
+ "type": "STRING",
4384
+ "value": "super"
4385
+ },
4386
+ {
4387
+ "type": "STRING",
4388
+ "value": "this"
4389
+ },
4390
+ {
4391
+ "type": "STRING",
4392
+ "value": "throw"
4393
+ },
4394
+ {
4395
+ "type": "STRING",
4396
+ "value": "trace"
4397
+ },
4398
+ {
4399
+ "type": "STRING",
4400
+ "value": "true"
4401
+ },
4402
+ {
4403
+ "type": "STRING",
4404
+ "value": "typealias"
4405
+ },
4406
+ {
4407
+ "type": "STRING",
4408
+ "value": "unknown"
4409
+ },
4410
+ {
4411
+ "type": "STRING",
4412
+ "value": "when"
4413
+ }
4414
+ ]
4415
+ }
4416
+ }