@aster-cloud/aster-lang-ts 0.2.0 → 0.2.2

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 (169) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/src/ast/ast.d.ts +2 -2
  3. package/dist/src/ast/ast.d.ts.map +1 -1
  4. package/dist/src/ast/ast.js +5 -2
  5. package/dist/src/ast/ast.js.map +1 -1
  6. package/dist/src/browser.d.ts +16 -1
  7. package/dist/src/browser.d.ts.map +1 -1
  8. package/dist/src/browser.js +10 -2
  9. package/dist/src/browser.js.map +1 -1
  10. package/dist/src/config/effect_config.d.ts.map +1 -1
  11. package/dist/src/config/effect_config.js +7 -1
  12. package/dist/src/config/effect_config.js.map +1 -1
  13. package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
  14. package/dist/src/config/lexicons/de-DE.js +1 -0
  15. package/dist/src/config/lexicons/de-DE.js.map +1 -1
  16. package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
  17. package/dist/src/config/lexicons/en-US.js +1 -0
  18. package/dist/src/config/lexicons/en-US.js.map +1 -1
  19. package/dist/src/config/lexicons/identifiers/registry.d.ts +9 -0
  20. package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
  21. package/dist/src/config/lexicons/identifiers/registry.js +12 -0
  22. package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
  23. package/dist/src/config/lexicons/template.d.ts.map +1 -1
  24. package/dist/src/config/lexicons/template.js +2 -0
  25. package/dist/src/config/lexicons/template.js.map +1 -1
  26. package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
  27. package/dist/src/config/lexicons/zh-CN.js +36 -20
  28. package/dist/src/config/lexicons/zh-CN.js.map +1 -1
  29. package/dist/src/config/semantic.d.ts +1 -0
  30. package/dist/src/config/semantic.d.ts.map +1 -1
  31. package/dist/src/config/semantic.js +1 -0
  32. package/dist/src/config/semantic.js.map +1 -1
  33. package/dist/src/config/token-kind.d.ts +2 -0
  34. package/dist/src/config/token-kind.d.ts.map +1 -1
  35. package/dist/src/config/token-kind.js +3 -1
  36. package/dist/src/config/token-kind.js.map +1 -1
  37. package/dist/src/core/core_ir.d.ts +2 -2
  38. package/dist/src/core/core_ir.d.ts.map +1 -1
  39. package/dist/src/core/core_ir.js +5 -2
  40. package/dist/src/core/core_ir.js.map +1 -1
  41. package/dist/src/core/interpreter.js +4 -1
  42. package/dist/src/core/interpreter.js.map +1 -1
  43. package/dist/src/diagnostics/error_codes.d.ts +2 -0
  44. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  45. package/dist/src/diagnostics/error_codes.js +11 -5
  46. package/dist/src/diagnostics/error_codes.js.map +1 -1
  47. package/dist/src/effects/effect_inference_browser.d.ts.map +1 -1
  48. package/dist/src/effects/effect_inference_browser.js +22 -4
  49. package/dist/src/effects/effect_inference_browser.js.map +1 -1
  50. package/dist/src/frontend/canonicalizer.d.ts +33 -0
  51. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  52. package/dist/src/frontend/canonicalizer.js +77 -5
  53. package/dist/src/frontend/canonicalizer.js.map +1 -1
  54. package/dist/src/lower_to_core.js +2 -2
  55. package/dist/src/lower_to_core.js.map +1 -1
  56. package/dist/src/lsp/config.d.ts +13 -9
  57. package/dist/src/lsp/config.d.ts.map +1 -1
  58. package/dist/src/lsp/config.js +19 -5
  59. package/dist/src/lsp/config.js.map +1 -1
  60. package/dist/src/lsp/server.js +19 -7
  61. package/dist/src/lsp/server.js.map +1 -1
  62. package/dist/src/parser/context.d.ts.map +1 -1
  63. package/dist/src/parser/context.js +32 -12
  64. package/dist/src/parser/context.js.map +1 -1
  65. package/dist/src/parser/decl-parser.d.ts +2 -2
  66. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  67. package/dist/src/parser/decl-parser.js +101 -13
  68. package/dist/src/parser/decl-parser.js.map +1 -1
  69. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  70. package/dist/src/parser/expr-stmt-parser.js +31 -1
  71. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  72. package/dist/src/parser/import-parser.d.ts +3 -2
  73. package/dist/src/parser/import-parser.d.ts.map +1 -1
  74. package/dist/src/parser/import-parser.js +12 -3
  75. package/dist/src/parser/import-parser.js.map +1 -1
  76. package/dist/src/typecheck/alias.d.ts +24 -0
  77. package/dist/src/typecheck/alias.d.ts.map +1 -0
  78. package/dist/src/typecheck/alias.js +30 -0
  79. package/dist/src/typecheck/alias.js.map +1 -0
  80. package/dist/src/typecheck/browser.d.ts +41 -4
  81. package/dist/src/typecheck/browser.d.ts.map +1 -1
  82. package/dist/src/typecheck/browser.js +112 -16
  83. package/dist/src/typecheck/browser.js.map +1 -1
  84. package/dist/src/typecheck/context.js +1 -1
  85. package/dist/src/typecheck/context.js.map +1 -1
  86. package/dist/src/typecheck/effects.js +1 -1
  87. package/dist/src/typecheck/effects.js.map +1 -1
  88. package/dist/src/typecheck/expression.js +1 -1
  89. package/dist/src/typecheck/expression.js.map +1 -1
  90. package/dist/src/typecheck/generics.js +1 -1
  91. package/dist/src/typecheck/generics.js.map +1 -1
  92. package/dist/src/typecheck/module.d.ts.map +1 -1
  93. package/dist/src/typecheck/module.js +13 -8
  94. package/dist/src/typecheck/module.js.map +1 -1
  95. package/dist/src/typecheck/pattern.js +1 -1
  96. package/dist/src/typecheck/pattern.js.map +1 -1
  97. package/dist/src/typecheck/pure.d.ts +66 -0
  98. package/dist/src/typecheck/pure.d.ts.map +1 -0
  99. package/dist/src/typecheck/pure.js +163 -0
  100. package/dist/src/typecheck/pure.js.map +1 -0
  101. package/dist/src/typecheck/statement.js +1 -1
  102. package/dist/src/typecheck/statement.js.map +1 -1
  103. package/dist/src/typecheck/type_system.d.ts +6 -1
  104. package/dist/src/typecheck/type_system.d.ts.map +1 -1
  105. package/dist/src/typecheck/type_system.js +61 -13
  106. package/dist/src/typecheck/type_system.js.map +1 -1
  107. package/dist/src/typecheck/utils.d.ts +4 -69
  108. package/dist/src/typecheck/utils.d.ts.map +1 -1
  109. package/dist/src/typecheck/utils.js +17 -170
  110. package/dist/src/typecheck/utils.js.map +1 -1
  111. package/dist/src/typecheck/workflow.js +1 -1
  112. package/dist/src/typecheck/workflow.js.map +1 -1
  113. package/dist/src/typecheck-pii.d.ts.map +1 -1
  114. package/dist/src/typecheck-pii.js +11 -1
  115. package/dist/src/typecheck-pii.js.map +1 -1
  116. package/dist/src/types/base.d.ts +1 -0
  117. package/dist/src/types/base.d.ts.map +1 -1
  118. package/dist/src/types.d.ts +17 -0
  119. package/dist/src/types.d.ts.map +1 -1
  120. package/dist/src/types.js.map +1 -1
  121. package/dist/test/type-checker/pii-propagation.test.js +24 -18
  122. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  123. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.d.ts +2 -0
  124. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.d.ts.map +1 -0
  125. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js +193 -0
  126. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js.map +1 -0
  127. package/dist/test/unit/browser/typecheck-browser-unsupported.test.js +21 -11
  128. package/dist/test/unit/browser/typecheck-browser-unsupported.test.js.map +1 -1
  129. package/dist/test/unit/canonicalizer/canonicalizer.test.js +91 -1
  130. package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
  131. package/dist/test/unit/canonicalizer/cjk-punctuation.test.d.ts +2 -0
  132. package/dist/test/unit/canonicalizer/cjk-punctuation.test.d.ts.map +1 -0
  133. package/dist/test/unit/canonicalizer/cjk-punctuation.test.js +118 -0
  134. package/dist/test/unit/canonicalizer/cjk-punctuation.test.js.map +1 -0
  135. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.d.ts +2 -0
  136. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.d.ts.map +1 -0
  137. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.js +40 -0
  138. package/dist/test/unit/canonicalizer/conformance-cjk-v2.test.js.map +1 -0
  139. package/dist/test/unit/config/lexicons/i18n.test.js +11 -3
  140. package/dist/test/unit/config/lexicons/i18n.test.js.map +1 -1
  141. package/dist/test/unit/config/lexicons/zh-CN.test.js +129 -132
  142. package/dist/test/unit/config/lexicons/zh-CN.test.js.map +1 -1
  143. package/dist/test/unit/keyword-translator.test.js +16 -19
  144. package/dist/test/unit/keyword-translator.test.js.map +1 -1
  145. package/dist/test/unit/lowering/lowering.test.js +12 -0
  146. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  147. package/dist/test/unit/parser/entry-annotations.test.d.ts +2 -0
  148. package/dist/test/unit/parser/entry-annotations.test.d.ts.map +1 -0
  149. package/dist/test/unit/parser/entry-annotations.test.js +110 -0
  150. package/dist/test/unit/parser/entry-annotations.test.js.map +1 -0
  151. package/dist/test/unit/parser/parser.test.js +30 -6
  152. package/dist/test/unit/parser/parser.test.js.map +1 -1
  153. package/dist/test/unit/scripts/verify-browser-entry.test.d.ts +2 -0
  154. package/dist/test/unit/scripts/verify-browser-entry.test.d.ts.map +1 -0
  155. package/dist/test/unit/scripts/verify-browser-entry.test.js +179 -0
  156. package/dist/test/unit/scripts/verify-browser-entry.test.js.map +1 -0
  157. package/dist/test/unit/typecheck/function-return-inference.test.d.ts +2 -0
  158. package/dist/test/unit/typecheck/function-return-inference.test.d.ts.map +1 -0
  159. package/dist/test/unit/typecheck/function-return-inference.test.js +79 -0
  160. package/dist/test/unit/typecheck/function-return-inference.test.js.map +1 -0
  161. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.d.ts +2 -0
  162. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.d.ts.map +1 -0
  163. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js +191 -0
  164. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js.map +1 -0
  165. package/dist/test/unit/typecheck/should-enforce-pii.test.js +25 -110
  166. package/dist/test/unit/typecheck/should-enforce-pii.test.js.map +1 -1
  167. package/dist/test/unit/typecheck/type-system.test.js +83 -3
  168. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  169. package/package.json +38 -9
@@ -332,10 +332,16 @@ connection.onDidChangeConfiguration(change => {
332
332
  }
333
333
  // 重新预解析,让下一次 pull diagnostics 命中新缓存。必须放在缓存
334
334
  // 失效之后,否则 getOrParse 会立刻被旧条目命中。
335
- documents.all().forEach(doc => { try {
336
- void getOrParse(doc);
337
- }
338
- catch { } });
335
+ documents.all().forEach(doc => {
336
+ try {
337
+ void getOrParse(doc);
338
+ }
339
+ // R32 audit P0:原 catch {} 静默吞掉 LSP 解析错误,diagnostics 漏报无法
340
+ // 排查。改成 console.warn 既不让 LSP runtime 挂,又保留可见性。
341
+ catch (err) {
342
+ connection.console.warn(`[lsp] getOrParse failed for ${doc.uri}: ${err instanceof Error ? err.message : String(err)}`);
343
+ }
344
+ });
339
345
  }).catch(() => {
340
346
  setDiagnosticConfig({
341
347
  workspaceDiagnosticsEnabled: true,
@@ -373,7 +379,9 @@ documents.onDidOpen(async (e) => {
373
379
  try {
374
380
  await pushDiagnostics(e.document.uri);
375
381
  }
376
- catch { }
382
+ catch (err) {
383
+ connection.console.warn(`[lsp] pushDiagnostics onDidOpen failed for ${e.document.uri}: ${err instanceof Error ? err.message : String(err)}`);
384
+ }
377
385
  }, 100);
378
386
  }
379
387
  catch { }
@@ -391,12 +399,16 @@ documents.onDidChangeContent(change => {
391
399
  try {
392
400
  void getOrParse(change.document);
393
401
  }
394
- catch { }
402
+ catch (err) {
403
+ connection.console.warn(`[lsp] getOrParse onChange failed for ${uri}: ${err instanceof Error ? err.message : String(err)}`);
404
+ }
395
405
  // Push diagnostics to client (for clients that don't support pull-based diagnostics)
396
406
  try {
397
407
  await pushDiagnostics(uri);
398
408
  }
399
- catch { }
409
+ catch (err) {
410
+ connection.console.warn(`[lsp] pushDiagnostics onChange failed for ${uri}: ${err instanceof Error ? err.message : String(err)}`);
411
+ }
400
412
  }, 150);
401
413
  pendingValidate.set(uri, handle);
402
414
  // Clear diagnostic cache when document changes
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lsp/server.ts"],"names":[],"mappings":";AAEA,4CAA4C;AAE5C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAEhB,kCAAkC,EAClC,iCAAiC,EACjC,oBAAoB,EAEpB,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAM5E,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,kDAAkD;AAElD,uEAAuE;AACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1D,yCAAyC;AACzC,MAAM,SAAS,GAAgC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,UAAU,CAAC,SAAS,GAAG;IACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;CAC1C,CAAC;AAaF,MAAM,QAAQ,GAA2B,IAAI,GAAG,EAAE,CAAC;AACnD,MAAM,eAAe,GAA+C,IAAI,GAAG,EAAE,CAAC;AAC9E,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAC3C,IAAI,sBAAsB,GAAG,IAAI,CAAC;AAClC,MAAM,gBAAgB,GAAa,EAAE,CAAC;AAEtC,8BAA8B;AAC9B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEpD,6CAA6C;AAC7C,IAAI,cAAmC,CAAC;AAExC,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,GAAqB,CAAC;IAC1B,IAAI,gBAAgB,GAA0B,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3B,GAAG,GAAG,MAAM,CAAC,GAAgB,CAAC;QAC9B,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;IAC5F,iEAAiE;IACjE,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AACzC,IAAI,yCAAyC,GAAG,KAAK,CAAC;AACtD,IAAI,yBAAyB,GAAG,KAAK,CAAC;AACtC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAwB,EAAE,EAAE;IACzD,mEAAmE;IACnE,4BAA4B,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,iEAAiE;IACjE,0BAA0B,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAClG,4BAA4B,GAAG,CAAC,CAAC,CAC/B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CACpE,CAAC;IACF,yCAAyC,GAAG,CAAC,CAAC,CAC5C,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY,CAAC,kBAAkB;QAC5C,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,kBAAkB,CAChE,CAAC;IACF,yBAAyB,GAAG,CAAC,CAAC,CAC5B,YAAY,CAAC,SAAS;QACrB,YAAY,CAAC,SAAiB,CAAC,qBAAqB;QACpD,YAAY,CAAC,SAAiB,CAAC,qBAAqB,CAAC,mBAAmB,CAC1E,CAAC;IAEF,8CAA8C;IAC9C,mBAAmB,CAAC;QAClB,2BAA2B,EAAE,yCAAyC;QACtE,2BAA2B,EAAE,IAAI;QACjC,sBAAsB,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,gBAAgB;KACrE,CAAC,CAAC;IAEH,MAAM,MAAM,GAAqB;QAC/B,YAAY,EAAE;YACZ,gBAAgB,EAAE,oBAAoB,CAAC,WAAW;YAClD,6DAA6D;YAC7D,kBAAkB,EAAE;gBAClB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aACnC;YACD,kBAAkB,EAAE;gBAClB,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,IAAI;aAC3B;YACD,kBAAkB,EAAE;gBAClB,eAAe,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC3C;YACD,aAAa,EAAE,IAAI;YACnB,yBAAyB,EAAE,IAAI;YAC/B,qBAAqB,EAAE;gBACrB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBAC7B,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aAChC;YACD,sBAAsB,EAAE,IAAI;YAC5B,sBAAsB,EAAE;gBACtB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;aACX;YACD,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,IAAI;YAChC,+BAA+B,EAAE,IAAI;YACrC,iBAAiB,EAAE,IAAI;YACvB,0BAA0B;YAC1B,kBAAkB,EAAE,IAAI;YACxB,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;YACzC,oBAAoB,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;SACjD;KACF,CAAC;IACF,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG;YAC9B,gBAAgB,EAAE;gBAChB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,cAAc,GAAqC,EAAE,CAAC;QAE5D,oDAAoD;QACpD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAuB,CAAC;QAEnG,wDAAwD;QACxD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACvC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,cAAc,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,IAAI,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAClG,sBAAsB,GAAG,IAAI,CAAC;QAC9B,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;IAC5B,qBAAqB,EAAE,CAAC,CAAC,SAAS;IAClC,UAAU;IACV,kBAAkB,CAAC;QACjB,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,KAAK,EAAE,OAAO;QAC3B,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,0BAA0B,EAAE,CAAC;QAC/B,0CAA0C;QAC1C,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,4BAA4B,EAAE,CAAC;QACjC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE;YACpD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAClE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAyD;IACzD,IAAI,yBAAyB,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,EAAE;gBACjE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,iBAAiB,GAAG,IAAI,CAAC;YACzB,4BAA4B;YAC5B,oBAAoB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QACD,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,OAAO,CAAC,IAAI,CACrB,gFAAgF,CACjF,CAAC;QACF,iBAAiB;QACjB,oBAAoB,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI,EAAE,UAAU;SAClC,CAAC,CAAC;QACH,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,yEAAyE;IACzE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,CAAC,KAAK,IAAmB,EAAE;YAC/C,IAAI,CAAC;gBACH,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,aAAa,EAAE,CAAC,MAAM,kBAAkB,CAAC,CAAC;gBAE7F,kDAAkD;gBAClD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;gBAChC,MAAM,2BAA2B,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAClE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;gBACvD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,2BAA2B;IAC3B,sBAAsB,CAAC,UAAU,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEjI,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAErG,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAEvE,gCAAgC;IAChC,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE7F,4BAA4B;IAC5B,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAEtF,8EAA8E;IAC9E,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;AACtH,CAAC,CAAC,CAAC;AAaH,uGAAuG;AACvG,MAAM,eAAe,GAAkB,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;AACtR,IAAI,cAAc,GAAkB,eAAe,CAAC;AAEpD,2CAA2C;AAC3C,MAAM,gBAAgB,GAAwC,IAAI,GAAG,EAAE,CAAC;AAExE,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;IAC3C,IAAI,0BAA0B,EAAE,CAAC;QAC/B,qCAAqC;QACrC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,cAAc,GAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,IAAI,eAAe,CAAC,CAAC;IAC3F,CAAC;IAED,uDAAuD;IACvD,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC/B,mBAAmB,CAAC;YAClB,2BAA2B,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,IAAI,IAAI;SAC9D,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC;QAChD,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,cAAc,CAAC;YACb,cAAc;YACd,SAAS,EAAE,gBAAgB,IAAI,IAAI;SACpC,CAAC,CAAC;QACH,sBAAsB,GAAG,cAAc,CAAC;QAExC,wBAAwB;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;QACnC,MAAM,aAAa,GAAG,cAAc,EAAE,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,cAAc,GAAG,SAAS,CAAC;YAC3B,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,CAAC;QACD,6CAA6C;QAC7C,4DAA4D;QAC5D,MAAM,YAAY,GAAG,cAAc,EAAE,EAAE,CAAC;QACxC,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACnC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,sDAAsD;YACtD,8BAA8B;YAC9B,yCAAyC,EAAE,CAAC;YAC5C,sDAAsD;YACtD,iDAAiD;YACjD,uCAAuC;YACvC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,gCAAgC;QAChC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;YAAC,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACZ,mBAAmB,CAAC;YAClB,2BAA2B,EAAE,IAAI;SAClC,CAAC,CAAC;QACH,cAAc,CAAC;YACb,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,gBAAgB,IAAI,IAAI;SACpC,CAAC,CAAC;QACH,sBAAsB,GAAG,IAAI,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAC7C,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CAAC;QACH,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wCAAwC;AACxC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;IACvB,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,qDAAqD;AACrD,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,sDAAsD;QACtD,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC;gBAAC,MAAM,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACzD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,uEAAuE;AACvE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;IAChC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,IAAI;QAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;QACnC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,+CAA+C;QAC/C,IAAI,CAAC;YAAC,KAAK,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAClD,qFAAqF;QACrF,IAAI,CAAC;YAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IAC9C,CAAC,EAAE,GAAG,CAAC,CAAC;IACR,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjC,+CAA+C;IAC/C,IAAI,CAAC;QACH,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,kDAAkD;IAClD,IAAI,CAAC;QACH,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,iCAAiC;IACjC,IAAI,CAAC;QACH,KAAK,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;IACtB,IAAI,CAAC;QACH,KAAK,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gEAAgE;AAChE,qFAAqF;AACrF,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;IACvB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,QAAQ;YAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,sEAAsE;AAEtE,gGAAgG;AAChG,+FAA+F;AAE/F,2CAA2C;AAE3C,+GAA+G;AAE/G,mDAAmD;AAEnD,2CAA2C;AAG3C,kDAAkD;AAElD,sHAAsH;AAEtH,sHAAsH;AAEtH,gEAAgE;AAChE,+FAA+F;AAC/F,mHAAmH;AAEnH,kDAAkD;AAClD,qEAAqE;AAErE,0DAA0D;AAC1D,kDAAkD;AAClD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE7B,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;IACrB,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC,gBAAgB,IAAI,CAAC,sBAAsB;QAAE,OAAO;IACzD,KAAK,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,UAAU,CAAC,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lsp/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/parser/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKlD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvE,+BAA+B;IAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iCAAiC;IACjC,UAAU,IAAI,IAAI,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAClC,iCAAiC;IACjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B,kCAAkC;IAClC,IAAI,IAAI,KAAK,CAAC;IACd,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAChD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAChD,QAAQ,IAAI,KAAK,CAAC;IAClB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,aAAa,IAAI,IAAI,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,eAAe,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5D,gBAAgB;IAChB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,gBAAgB;IAChB,kBAAkB,IAAI,IAAI,CAAC;IAC3B,sBAAsB;IACtB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzE;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAuJ9F"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/parser/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKlD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvE,+BAA+B;IAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iCAAiC;IACjC,UAAU,IAAI,IAAI,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAClC,iCAAiC;IACjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B,kCAAkC;IAClC,IAAI,IAAI,KAAK,CAAC;IACd,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAChD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAChD,QAAQ,IAAI,KAAK,CAAC;IAClB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,aAAa,IAAI,IAAI,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,eAAe,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5D,gBAAgB;IAChB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,gBAAgB;IAChB,kBAAkB,IAAI,IAAI,CAAC;IAC3B,sBAAsB;IACtB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzE;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CA0K9F"}
@@ -29,6 +29,36 @@ export function tokLowerAt(ctx, idx) {
29
29
  const parserLogger = createLogger('parser');
30
30
  export function createParserContext(tokens, lexicon) {
31
31
  const compoundContextStack = [];
32
+ // R30+ audit P2:peekToken / next / skipTrivia 都在 token stream 上
33
+ // 一次次扫 trivia,对长 source 形成 O(n²) 行为。预先把 non-trivia 的
34
+ // 下标抽出来,peek 改成 binary-style 单步查找。trivia 占总 token 通常
35
+ // 不到 20%,nonTriviaIndices 数组大小可控;建表 O(n) 摊销到一次。
36
+ //
37
+ // 设计点:建表用闭包数组 + 二分;token stream 是 readonly,不需要
38
+ // 增量维护。
39
+ const nonTriviaIndices = [];
40
+ for (let i = 0; i < tokens.length; i++) {
41
+ if (tokens[i].channel !== 'trivia')
42
+ nonTriviaIndices.push(i);
43
+ }
44
+ /** 返回大于等于 fromIdx 的第 k 个 non-trivia token 的 tokens[] 下标,
45
+ * 超出末尾返回 tokens.length-1(与原实现的 fallback 一致)。 */
46
+ function nthNonTriviaAtOrAfter(fromIdx, offset) {
47
+ // 二分找到第一个 >= fromIdx 的 nonTriviaIndices 位置
48
+ let lo = 0, hi = nonTriviaIndices.length;
49
+ while (lo < hi) {
50
+ const mid = (lo + hi) >>> 1;
51
+ if (nonTriviaIndices[mid] < fromIdx)
52
+ lo = mid + 1;
53
+ else
54
+ hi = mid;
55
+ }
56
+ const target = lo + offset;
57
+ if (target >= nonTriviaIndices.length) {
58
+ return tokens.length - 1;
59
+ }
60
+ return nonTriviaIndices[target];
61
+ }
32
62
  const ctx = {
33
63
  tokens,
34
64
  ...(lexicon !== undefined && { lexicon }),
@@ -61,18 +91,8 @@ export function createParserContext(tokens, lexicon) {
61
91
  }
62
92
  },
63
93
  peekToken: (offset = 0) => {
64
- let idx = ctx.index;
65
- let count = 0;
66
- while (idx < ctx.tokens.length) {
67
- const tok = ctx.tokens[idx];
68
- if (tok.channel !== 'trivia') {
69
- if (count === offset)
70
- return tok;
71
- count++;
72
- }
73
- idx++;
74
- }
75
- return ctx.tokens[ctx.tokens.length - 1];
94
+ // R30+ audit P2:O(1) lookup via pre-built nonTriviaIndices + 二分。
95
+ return ctx.tokens[nthNonTriviaAtOrAfter(ctx.index, offset)];
76
96
  },
77
97
  peek: (offset = 0) => ctx.peekToken(offset),
78
98
  next: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/parser/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/parser/context.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * 顶层声明解析器
3
3
  * 负责解析数据类型定义(Define)和函数定义(Rule)
4
4
  */
5
- import type { Declaration, Token } from '../types.js';
5
+ import type { Annotation, Declaration, Token } from '../types.js';
6
6
  import type { Diagnostic } from '../diagnostics/diagnostics.js';
7
7
  import type { ParserContext } from './context.js';
8
8
  import type { ParserTools } from './parser-tools.js';
@@ -40,7 +40,7 @@ export declare function parseEnumDecl(ctx: ParserContext, error: (msg: string, t
40
40
  * @param parseIdent 解析标识符的辅助函数
41
41
  * @returns 函数声明
42
42
  */
43
- export declare function parseFuncDecl(ctx: ParserContext, error: (msg: string, tok?: Token) => never, expectCommaOr: () => void, expectKeyword: (kw: string, msg: string) => void, expectNewline: () => void, parseIdent: () => string): Declaration;
43
+ export declare function parseFuncDecl(ctx: ParserContext, error: (msg: string, tok?: Token) => never, expectCommaOr: () => void, expectKeyword: (kw: string, msg: string) => void, expectNewline: () => void, parseIdent: () => string, annotations?: readonly Annotation[], declStartTok?: Token): Declaration;
44
44
  export declare function collectTopLevelDecls(ctx: ParserContext, tools: ParserTools): {
45
45
  decls: Declaration[];
46
46
  diagnostics: Diagnostic[];
@@ -1 +1 @@
1
- {"version":3,"file":"decl-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAS,WAAW,EAAE,KAAK,EAAQ,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA4CrD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,MAAM,GAC3B,WAAW,CA4Bb;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,MAAM,GAC3B,WAAW,CAmCb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,aAAa,EAAE,MAAM,IAAI,EACzB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EAChD,aAAa,EAAE,MAAM,IAAI,EACzB,UAAU,EAAE,MAAM,MAAM,GACvB,WAAW,CAgRb;AA2CD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,WAAW,GACjB;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CAqFrD"}
1
+ {"version":3,"file":"decl-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAyC,WAAW,EAAE,KAAK,EAAQ,MAAM,aAAa,CAAC;AAC/G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsIrD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,MAAM,GAC3B,WAAW,CA4Bb;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,MAAM,GAC3B,WAAW,CAiCb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,EAC1C,aAAa,EAAE,MAAM,IAAI,EACzB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EAChD,aAAa,EAAE,MAAM,IAAI,EACzB,UAAU,EAAE,MAAM,MAAM,EACxB,WAAW,GAAE,SAAS,UAAU,EAAO,EACvC,YAAY,CAAC,EAAE,KAAK,GACnB,WAAW,CAiRb;AA2CD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,WAAW,GACjB;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA6FrD"}
@@ -11,6 +11,25 @@ import { parseType, parseEffectList, separateEffectsAndCaps } from './type-parse
11
11
  import { parseBlock, parseParamList } from './expr-stmt-parser.js';
12
12
  import { parseFieldList, parseVariantList } from './field-variant-parser.js';
13
13
  import { assignSpan, spanFromSources, lastConsumedToken, spanFromTokens } from './span-utils.js';
14
+ /**
15
+ * R30+ audit P1:原本写满 14 处 {@code (node as any).nameSpan = ...} / variantSpans。
16
+ * 把单一职责的辅助器抽出来:保留 readonly 字段的设计意图(声明阶段不可改),
17
+ * 但允许 parser 在构造完成那一刻一次性写入。所有 nameSpan / variantSpans
18
+ * 在 types.ts 已经声明为 readonly optional,下面的 helper 是唯一允许
19
+ * 突破 readonly 的窗口。
20
+ */
21
+ function attachNameSpan(node, nameSpan) {
22
+ if (nameSpan) {
23
+ node.nameSpan = nameSpan;
24
+ }
25
+ return node;
26
+ }
27
+ function attachVariantSpans(node, variantSpans) {
28
+ if (variantSpans && variantSpans.length > 0) {
29
+ node.variantSpans = variantSpans;
30
+ }
31
+ return node;
32
+ }
14
33
  function parseEffectParams(ctx, skipLayoutTrivia, error) {
15
34
  if (!ctx.at(TokenKind.LT))
16
35
  return [];
@@ -44,6 +63,69 @@ function parseEffectParams(ctx, skipLayoutTrivia, error) {
44
63
  skipLayoutTrivia();
45
64
  return names;
46
65
  }
66
+ function parseAnnotationValue(ctx, error) {
67
+ const tok = ctx.peek();
68
+ switch (tok.kind) {
69
+ case TokenKind.STRING:
70
+ case TokenKind.INT:
71
+ case TokenKind.FLOAT:
72
+ case TokenKind.LONG:
73
+ case TokenKind.BOOL:
74
+ case TokenKind.NULL:
75
+ ctx.next();
76
+ return tok.value;
77
+ case TokenKind.IDENT:
78
+ case TokenKind.TYPE_IDENT:
79
+ ctx.next();
80
+ return tok.value;
81
+ default:
82
+ error('Expected annotation argument value', tok);
83
+ }
84
+ }
85
+ function parseAnnotationArgs(ctx, error) {
86
+ if (!ctx.at(TokenKind.LPAREN))
87
+ return undefined;
88
+ ctx.next();
89
+ const args = [];
90
+ while (!ctx.at(TokenKind.RPAREN) && !ctx.at(TokenKind.EOF)) {
91
+ if (!ctx.at(TokenKind.IDENT) && !ctx.at(TokenKind.TYPE_IDENT)) {
92
+ error('Expected annotation argument name');
93
+ }
94
+ const name = String(ctx.next().value);
95
+ if (!ctx.at(TokenKind.COLON)) {
96
+ error("Expected ':' after annotation argument name");
97
+ }
98
+ ctx.next();
99
+ const value = parseAnnotationValue(ctx, error);
100
+ args.push({ name, value });
101
+ if (ctx.at(TokenKind.COMMA)) {
102
+ ctx.next();
103
+ continue;
104
+ }
105
+ break;
106
+ }
107
+ if (!ctx.at(TokenKind.RPAREN)) {
108
+ error("Expected ')' after annotation arguments");
109
+ }
110
+ ctx.next();
111
+ return args;
112
+ }
113
+ function parseDeclAnnotations(ctx, error) {
114
+ const annotations = [];
115
+ let startTok;
116
+ while (ctx.at(TokenKind.AT)) {
117
+ const atTok = ctx.next();
118
+ startTok ??= atTok;
119
+ if (!ctx.at(TokenKind.IDENT) && !ctx.at(TokenKind.TYPE_IDENT)) {
120
+ error("Expected annotation name after '@'");
121
+ }
122
+ const name = String(ctx.next().value);
123
+ const args = parseAnnotationArgs(ctx, error);
124
+ annotations.push(args && args.length > 0 ? { name, args } : { name });
125
+ ctx.consumeNewlines();
126
+ }
127
+ return startTok ? { annotations, startTok } : { annotations };
128
+ }
47
129
  /**
48
130
  * 解析数据类型定义
49
131
  * 语法: Define User has name: Text and age: Int.
@@ -112,9 +194,7 @@ export function parseEnumDecl(ctx, error, expectDot, parseTypeIdent) {
112
194
  else {
113
195
  assignSpan(en, spanFromSources(defineTok, endTok));
114
196
  }
115
- if (variantSpans && Array.isArray(variantSpans)) {
116
- en.variantSpans = variantSpans;
117
- }
197
+ attachVariantSpans(en, variantSpans);
118
198
  ctx.declaredTypes.add(typeName);
119
199
  return en;
120
200
  }
@@ -130,9 +210,9 @@ export function parseEnumDecl(ctx, error, expectDot, parseTypeIdent) {
130
210
  * @param parseIdent 解析标识符的辅助函数
131
211
  * @returns 函数声明
132
212
  */
133
- export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNewline, parseIdent) {
213
+ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNewline, parseIdent, annotations = [], declStartTok) {
134
214
  // 记录函数起始位置
135
- const toTok = ctx.peek();
215
+ const toTok = declStartTok ?? ctx.peek();
136
216
  ctx.nextWord(); // 消费 'Rule'
137
217
  // 记录函数名位置
138
218
  const nameTok = ctx.peek();
@@ -318,17 +398,17 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
318
398
  case 'TypeApp':
319
399
  t.args.forEach(visitType);
320
400
  break;
401
+ // R30+ audit P1:TypeScript 在 union 上对 'kind' 已经能精确收窄,
402
+ // 这里直接用收窄后的 t,不需要 as any。
321
403
  case 'Maybe':
322
404
  case 'Option':
405
+ case 'List':
323
406
  visitType(t.type);
324
407
  break;
325
408
  case 'Result':
326
409
  visitType(t.ok);
327
410
  visitType(t.err);
328
411
  break;
329
- case 'List':
330
- visitType(t.type);
331
- break;
332
412
  case 'Map':
333
413
  visitType(t.key);
334
414
  visitType(t.val);
@@ -361,14 +441,14 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
361
441
  ctx.currentEffectVars = savedEffectVars;
362
442
  const declaredEffects = [...baseEffects, ...effectVars];
363
443
  // 创建函数节点并附加元数据
364
- const fn = Node.Func(name, typeParams, params, retType, declaredEffects, effectCaps, hasExplicitCaps, body, effectParams);
444
+ const fn = Node.Func(name, typeParams, params, retType, declaredEffects, effectCaps, hasExplicitCaps, body, effectParams, annotations);
365
445
  if (retTypeInferred) {
366
446
  fn.retTypeInferred = true;
367
447
  }
368
448
  const funcEndSource = body ?? endTok;
369
449
  assignSpan(fn, spanFromSources(toTok, funcEndSource, endTok));
370
450
  // 记录函数名 span 用于精确导航/高亮
371
- fn.nameSpan = spanFromSources(nameTok, nameEndTok);
451
+ attachNameSpan(fn, spanFromSources(nameTok, nameEndTok));
372
452
  return fn;
373
453
  }
374
454
  /**
@@ -432,9 +512,9 @@ export function collectTopLevelDecls(ctx, tools) {
432
512
  // 解析导入: use foo.bar. 或 use foo.bar as Baz.
433
513
  else if (ctx.isKeyword(KW.USE)) {
434
514
  const startTok = ctx.peek();
435
- const { name, asName } = parseImport(ctx, tools.error, tools.expectDot, tools.parseIdent);
515
+ const { name, version, asName } = parseImport(ctx, tools.error, tools.expectDot, tools.parseIdent);
436
516
  const endTok = lastConsumedToken(ctx);
437
- const importNode = Node.Import(name, asName);
517
+ const importNode = Node.Import(name, asName, version);
438
518
  assignSpan(importNode, spanFromTokens(startTok, endTok));
439
519
  decls.push(importNode);
440
520
  }
@@ -467,7 +547,7 @@ export function collectTopLevelDecls(ctx, tools) {
467
547
  const endTok = lastConsumedToken(ctx);
468
548
  assignSpan(en, spanFromTokens(startTok, endTok));
469
549
  if (variantSpans && Array.isArray(variantSpans)) {
470
- en.variantSpans = variantSpans;
550
+ attachVariantSpans(en, variantSpans);
471
551
  }
472
552
  ctx.declaredTypes.add(typeName);
473
553
  decls.push(en);
@@ -476,6 +556,14 @@ export function collectTopLevelDecls(ctx, tools) {
476
556
  tools.error("Expected 'has' or 'as one of' after type name");
477
557
  }
478
558
  }
559
+ // 解析带声明级注解的函数: @entry Rule ...
560
+ else if (ctx.at(TokenKind.AT)) {
561
+ const { annotations, startTok } = parseDeclAnnotations(ctx, tools.error);
562
+ if (!ctx.isKeyword(KW.RULE)) {
563
+ tools.error("Expected 'Rule' after declaration annotations");
564
+ }
565
+ decls.push(parseFuncDecl(ctx, tools.error, tools.expectCommaOr, tools.expectKeyword, tools.expectNewline, tools.parseIdent, annotations, startTok));
566
+ }
479
567
  // 解析函数: Rule ...
480
568
  else if (ctx.isKeyword(KW.RULE)) {
481
569
  decls.push(parseFuncDecl(ctx, tools.error, tools.expectCommaOr, tools.expectKeyword, tools.expectNewline, tools.parseIdent));
@@ -1 +1 @@
1
- {"version":3,"file":"decl-parser.js","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decl-parser.js","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EAGT,IAAI,EAIL,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAsDlD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAkDP;AAiCD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,SAAS,CA0LX;AA2ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,CAEZ;AAglBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,OAAO,CAiDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,KAAK,KAAK,KAAK,GAC/D,SAAS,EAAE,CAsIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}
1
+ {"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EAGT,IAAI,EAIL,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAsDlD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAkDP;AAiCD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,SAAS,CA0LX;AA2ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,CAEZ;AA4mBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,OAAO,CAiDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,KAAK,KAAK,KAAK,GAC/D,SAAS,EAAE,CAsIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}
@@ -643,6 +643,8 @@ function parseComparison(ctx, error) {
643
643
  const greaterThanParts = kwParts(KW.GREATER_THAN);
644
644
  const equalsToParts = kwParts(KW.EQUALS_TO);
645
645
  const notEqualToParts = ['not', 'equal', 'to'];
646
+ const isEqualToParts = ['is', 'equal', 'to'];
647
+ const isNotEqualToParts = ['is', 'not', 'equal', 'to'];
646
648
  const atLeastParts = kwParts(KW.AT_LEAST);
647
649
  const atMostParts = kwParts(KW.AT_MOST);
648
650
  const moreThanParts = kwParts(KW.MORE_THAN);
@@ -670,8 +672,30 @@ function parseComparison(ctx, error) {
670
672
  assignSpan(call, spanFromSources(left, opTok, right));
671
673
  left = call;
672
674
  };
675
+ // 可选 `is` 连接词前缀:`score is at least 700` ≡ `score at least 700`。
676
+ // 仅当 `is` 后<b>紧跟一个比较词</b>(at least / at most / greater than /
677
+ // less than / more than / under / over)时,先吃掉 `is`,再让下面既有的比较
678
+ // 分支自然处理。刻意排除 `is equal to` / `is not equal to`(由 isEqualToParts /
679
+ // isNotEqualToParts 分支整体处理)和 bare `is`(不实现,避免过载)。
680
+ const isComparatorPrefixParts = [
681
+ atLeastParts, atMostParts, greaterThanParts, lessThanParts,
682
+ moreThanParts, [KW.UNDER], [KW.OVER],
683
+ ];
684
+ const tryAbsorbIsPrefix = () => {
685
+ if (!ctx.isKeyword('is'))
686
+ return;
687
+ // lookahead:`is` 之后是否紧跟受支持的比较词(用带 is 的完整序列判定,
688
+ // 避免误吃 `is equal to` 的 is 或 result-binding 的 is)。
689
+ for (const parts of isComparatorPrefixParts) {
690
+ if (ctx.isKeywordSeq(['is', ...parts])) {
691
+ ctx.nextWord(); // 消费可选的 `is`,留下比较词给既有分支
692
+ return;
693
+ }
694
+ }
695
+ };
673
696
  let more = true;
674
697
  while (more) {
698
+ tryAbsorbIsPrefix();
675
699
  // 符号运算符:<, >, <=, >=, !=, ==, =
676
700
  if (ctx.at(TokenKind.LT)) {
677
701
  consumeSymbol('<');
@@ -693,7 +717,10 @@ function parseComparison(ctx, error) {
693
717
  }
694
718
  else if (ctx.at(TokenKind.EQUALS)) {
695
719
  consumeSymbol('==');
696
- // 关键字运算符:not equal to, less than, greater than, equals to, at least, at most
720
+ // 关键字运算符:is not equal to, not equal to, less than, greater than, is equal to, equals to, at least, at most
721
+ }
722
+ else if (ctx.isKeywordSeq(isNotEqualToParts)) {
723
+ consumeKeyword(isNotEqualToParts, '!=');
697
724
  }
698
725
  else if (ctx.isKeywordSeq(notEqualToParts)) {
699
726
  consumeKeyword(notEqualToParts, '!=');
@@ -704,6 +731,9 @@ function parseComparison(ctx, error) {
704
731
  else if (ctx.isKeyword(KW.GREATER_THAN) || ctx.isKeywordSeq(greaterThanParts)) {
705
732
  consumeKeyword(greaterThanParts, '>');
706
733
  }
734
+ else if (ctx.isKeywordSeq(isEqualToParts)) {
735
+ consumeKeyword(isEqualToParts, '==');
736
+ }
707
737
  else if (ctx.isKeyword(KW.EQUALS_TO) || ctx.isKeywordSeq(equalsToParts)) {
708
738
  consumeKeyword(equalsToParts, '==');
709
739
  }