@smile-digital-health/crl 4.108.0 → 4.112.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 (322) hide show
  1. package/dist/ast/branchCondition.d.ts +1 -12
  2. package/dist/ast/branchCondition.js +24 -65
  3. package/dist/ast/branchCondition.js.map +1 -1
  4. package/dist/ast/builder.d.ts +13 -3
  5. package/dist/ast/builder.js +205 -44
  6. package/dist/ast/builder.js.map +1 -1
  7. package/dist/ast/conceptDependencies.d.ts +4 -0
  8. package/dist/ast/conceptDependencies.js +64 -0
  9. package/dist/ast/conceptDependencies.js.map +1 -0
  10. package/dist/ast/criterionExpansion.d.ts +1 -30
  11. package/dist/ast/criterionExpansion.js +1 -126
  12. package/dist/ast/criterionExpansion.js.map +1 -1
  13. package/dist/ast/criterionIndex.d.ts +19 -0
  14. package/dist/ast/criterionIndex.js +152 -0
  15. package/dist/ast/criterionIndex.js.map +1 -0
  16. package/dist/ast/guardDefines.d.ts +11 -0
  17. package/dist/ast/guardDefines.js +117 -0
  18. package/dist/ast/guardDefines.js.map +1 -0
  19. package/dist/ast/inferenceWalk.d.ts +2 -2
  20. package/dist/ast/inferenceWalk.js +6 -0
  21. package/dist/ast/inferenceWalk.js.map +1 -1
  22. package/dist/ast/questionReachability.d.ts +3 -0
  23. package/dist/ast/questionReachability.js +32 -0
  24. package/dist/ast/questionReachability.js.map +1 -0
  25. package/dist/ast/types.d.ts +130 -15
  26. package/dist/ast/types.js +60 -1
  27. package/dist/ast/types.js.map +1 -1
  28. package/dist/authoring-kit/index.js +310 -68
  29. package/dist/authoring-kit/index.js.map +1 -1
  30. package/dist/authoring-kit/reference.d.ts +8 -7
  31. package/dist/authoring-kit/reference.js +235 -41
  32. package/dist/authoring-kit/reference.js.map +1 -1
  33. package/dist/authoring-kit/types.d.ts +8 -0
  34. package/dist/cel/ast/builder.js +16 -2
  35. package/dist/cel/ast/builder.js.map +1 -1
  36. package/dist/cel/ast/types.d.ts +16 -1
  37. package/dist/cel/ast/types.js +4 -0
  38. package/dist/cel/ast/types.js.map +1 -1
  39. package/dist/cel/canonicalToken.d.ts +29 -0
  40. package/dist/cel/canonicalToken.js +59 -0
  41. package/dist/cel/canonicalToken.js.map +1 -0
  42. package/dist/cel/emitter/emitFhir.d.ts +5 -2
  43. package/dist/cel/emitter/emitFhir.js +351 -35
  44. package/dist/cel/emitter/emitFhir.js.map +1 -1
  45. package/dist/cel/emitter/types.d.ts +3 -1
  46. package/dist/cel/emitter/writer.d.ts +1 -1
  47. package/dist/cel/emitter/writer.js +14 -7
  48. package/dist/cel/emitter/writer.js.map +1 -1
  49. package/dist/cel/imports/resolver.js +9 -0
  50. package/dist/cel/imports/resolver.js.map +1 -1
  51. package/dist/cel/imports/types.d.ts +2 -0
  52. package/dist/cel/localMembership.d.ts +29 -0
  53. package/dist/cel/localMembership.js +0 -0
  54. package/dist/cel/localMembership.js.map +1 -0
  55. package/dist/cel/sourceMembership.d.ts +13 -0
  56. package/dist/cel/sourceMembership.js +67 -0
  57. package/dist/cel/sourceMembership.js.map +1 -0
  58. package/dist/cel/validator/types.d.ts +1 -1
  59. package/dist/cel/validator/validator.js +267 -0
  60. package/dist/cel/validator/validator.js.map +1 -1
  61. package/dist/cli/run-check-fhir-ids.d.ts +2 -0
  62. package/dist/cli/run-check-fhir-ids.js +90 -0
  63. package/dist/cli/run-check-fhir-ids.js.map +1 -0
  64. package/dist/cli/run-emitter.js +16 -31
  65. package/dist/cli/run-emitter.js.map +1 -1
  66. package/dist/cql-emitter/catalog/CRLCommon.cql +751 -605
  67. package/dist/cql-emitter/catalog/CaseFeatureCommon.cql +81 -21
  68. package/dist/cql-emitter/crossRepRecencyMerge.d.ts +8 -0
  69. package/dist/cql-emitter/crossRepRecencyMerge.js +13 -0
  70. package/dist/cql-emitter/crossRepRecencyMerge.js.map +1 -0
  71. package/dist/cql-emitter/emitCQL.d.ts +13 -1
  72. package/dist/cql-emitter/emitCQL.js +1281 -99
  73. package/dist/cql-emitter/emitCQL.js.map +1 -1
  74. package/dist/cql-emitter/emitCriterionDefine.d.ts +10 -0
  75. package/dist/cql-emitter/emitCriterionDefine.js +49 -0
  76. package/dist/cql-emitter/emitCriterionDefine.js.map +1 -0
  77. package/dist/cql-emitter/layeredEmit.d.ts +2 -1
  78. package/dist/cql-emitter/layeredEmit.js +228 -40
  79. package/dist/cql-emitter/layeredEmit.js.map +1 -1
  80. package/dist/cql-emitter/lowerLocalCodes.d.ts +11 -1
  81. package/dist/cql-emitter/lowerLocalCodes.js +774 -62
  82. package/dist/cql-emitter/lowerLocalCodes.js.map +1 -1
  83. package/dist/cql-emitter/renderConstructorCall.d.ts +51 -0
  84. package/dist/cql-emitter/renderConstructorCall.js +96 -0
  85. package/dist/cql-emitter/renderConstructorCall.js.map +1 -0
  86. package/dist/cql-emitter/renderRecordConstructor.d.ts +3 -0
  87. package/dist/cql-emitter/renderRecordConstructor.js +94 -0
  88. package/dist/cql-emitter/renderRecordConstructor.js.map +1 -0
  89. package/dist/cql-emitter/totalScalarBoolean.d.ts +20 -0
  90. package/dist/cql-emitter/totalScalarBoolean.js +0 -0
  91. package/dist/cql-emitter/totalScalarBoolean.js.map +1 -0
  92. package/dist/cre/criterionTables.d.ts +3 -0
  93. package/dist/cre/criterionTables.js +22 -0
  94. package/dist/cre/criterionTables.js.map +1 -0
  95. package/dist/cre/run.d.ts +23 -40
  96. package/dist/cre/run.js +566 -57
  97. package/dist/cre/run.js.map +1 -1
  98. package/dist/cre/viewModel.d.ts +9 -9
  99. package/dist/cre/viewModel.js +70 -30
  100. package/dist/cre/viewModel.js.map +1 -1
  101. package/dist/emit/booleanTotality.d.ts +113 -0
  102. package/dist/emit/booleanTotality.js +539 -0
  103. package/dist/emit/booleanTotality.js.map +1 -0
  104. package/dist/emit/closeIndex.d.ts +60 -0
  105. package/dist/emit/closeIndex.js +164 -0
  106. package/dist/emit/closeIndex.js.map +1 -0
  107. package/dist/emit/conceptDatumSignals.d.ts +4 -0
  108. package/dist/emit/conceptDatumSignals.js +15 -0
  109. package/dist/emit/conceptDatumSignals.js.map +1 -0
  110. package/dist/emit/declaredResultIndex.d.ts +49 -0
  111. package/dist/emit/declaredResultIndex.js +128 -0
  112. package/dist/emit/declaredResultIndex.js.map +1 -0
  113. package/dist/emit/effectiveRepresentation.d.ts +80 -0
  114. package/dist/emit/effectiveRepresentation.js +464 -0
  115. package/dist/emit/effectiveRepresentation.js.map +1 -0
  116. package/dist/emit/producerCandidate.d.ts +152 -0
  117. package/dist/emit/producerCandidate.js +263 -0
  118. package/dist/emit/producerCandidate.js.map +1 -0
  119. package/dist/emit/recordBooleanGuard.d.ts +4 -0
  120. package/dist/emit/recordBooleanGuard.js +52 -0
  121. package/dist/emit/recordBooleanGuard.js.map +1 -0
  122. package/dist/emit/recordConstructor.d.ts +73 -0
  123. package/dist/emit/recordConstructor.js +168 -0
  124. package/dist/emit/recordConstructor.js.map +1 -0
  125. package/dist/emit/resourceEmitRegistry.d.ts +94 -0
  126. package/dist/emit/resourceEmitRegistry.js +269 -0
  127. package/dist/emit/resourceEmitRegistry.js.map +1 -0
  128. package/dist/emit-writers.d.ts +10 -0
  129. package/dist/emit-writers.js +56 -0
  130. package/dist/emit-writers.js.map +1 -0
  131. package/dist/fhir-emitter/activity.d.ts +1 -0
  132. package/dist/fhir-emitter/activity.js +8 -5
  133. package/dist/fhir-emitter/activity.js.map +1 -1
  134. package/dist/fhir-emitter/caseFeatureCollection.js +2 -6
  135. package/dist/fhir-emitter/caseFeatureCollection.js.map +1 -1
  136. package/dist/fhir-emitter/caseFeatureRecord.d.ts +32 -0
  137. package/dist/fhir-emitter/caseFeatureRecord.js +74 -0
  138. package/dist/fhir-emitter/caseFeatureRecord.js.map +1 -0
  139. package/dist/fhir-emitter/checkIds.d.ts +34 -0
  140. package/dist/fhir-emitter/checkIds.js +150 -0
  141. package/dist/fhir-emitter/checkIds.js.map +1 -0
  142. package/dist/fhir-emitter/closureOrchestrator.d.ts +1 -0
  143. package/dist/fhir-emitter/closureOrchestrator.js +278 -28
  144. package/dist/fhir-emitter/closureOrchestrator.js.map +1 -1
  145. package/dist/fhir-emitter/codeSystem.d.ts +4 -0
  146. package/dist/fhir-emitter/codeSystem.js +49 -3
  147. package/dist/fhir-emitter/codeSystem.js.map +1 -1
  148. package/dist/fhir-emitter/decision.d.ts +2 -0
  149. package/dist/fhir-emitter/decision.js +172 -45
  150. package/dist/fhir-emitter/decision.js.map +1 -1
  151. package/dist/fhir-emitter/index.d.ts +2 -0
  152. package/dist/fhir-emitter/index.js +5 -1
  153. package/dist/fhir-emitter/index.js.map +1 -1
  154. package/dist/fhir-emitter/inlineAnswerSet.d.ts +24 -0
  155. package/dist/fhir-emitter/inlineAnswerSet.js +103 -0
  156. package/dist/fhir-emitter/inlineAnswerSet.js.map +1 -0
  157. package/dist/fhir-emitter/library.js.map +1 -1
  158. package/dist/fhir-emitter/localDomain.d.ts +27 -0
  159. package/dist/fhir-emitter/localDomain.js +39 -0
  160. package/dist/fhir-emitter/localDomain.js.map +1 -0
  161. package/dist/fhir-emitter/recommendation.d.ts +1 -0
  162. package/dist/fhir-emitter/recommendation.js +2 -2
  163. package/dist/fhir-emitter/recommendation.js.map +1 -1
  164. package/dist/fhir-emitter/slug.d.ts +9 -3
  165. package/dist/fhir-emitter/slug.js +55 -10
  166. package/dist/fhir-emitter/slug.js.map +1 -1
  167. package/dist/fhir-emitter/structureDefinition.d.ts +19 -1
  168. package/dist/fhir-emitter/structureDefinition.js +149 -60
  169. package/dist/fhir-emitter/structureDefinition.js.map +1 -1
  170. package/dist/fhir-emitter/types.d.ts +3 -3
  171. package/dist/fhir-emitter/types.js +11 -8
  172. package/dist/fhir-emitter/types.js.map +1 -1
  173. package/dist/fhir-emitter/valueSet.d.ts +6 -0
  174. package/dist/fhir-emitter/valueSet.js +53 -10
  175. package/dist/fhir-emitter/valueSet.js.map +1 -1
  176. package/dist/fhir-emitter/writer.d.ts +1 -1
  177. package/dist/fhir-emitter/writer.js +2 -2
  178. package/dist/fhir-emitter/writer.js.map +1 -1
  179. package/dist/fhir-model/caseFeatureResources.d.ts +4 -0
  180. package/dist/fhir-model/caseFeatureResources.js +28 -0
  181. package/dist/fhir-model/caseFeatureResources.js.map +1 -0
  182. package/dist/fhir-model/elementPath.d.ts +1 -0
  183. package/dist/fhir-model/elementPath.js +8 -0
  184. package/dist/fhir-model/elementPath.js.map +1 -0
  185. package/dist/fhir-model/fhirValueModel.d.ts +7 -0
  186. package/dist/fhir-model/fhirValueModel.js +65 -0
  187. package/dist/fhir-model/fhirValueModel.js.map +1 -0
  188. package/dist/grammar/conceptShapes.d.ts +3 -0
  189. package/dist/grammar/conceptShapes.js +13 -0
  190. package/dist/grammar/conceptShapes.js.map +1 -0
  191. package/dist/grammar/generated/antlr/CELLexer.d.ts +11 -10
  192. package/dist/grammar/generated/antlr/CELLexer.js +306 -299
  193. package/dist/grammar/generated/antlr/CELLexer.js.map +1 -1
  194. package/dist/grammar/generated/antlr/CELParser.d.ts +14 -10
  195. package/dist/grammar/generated/antlr/CELParser.js +244 -215
  196. package/dist/grammar/generated/antlr/CELParser.js.map +1 -1
  197. package/dist/grammar/generated/antlr/CRLLexer.d.ts +93 -70
  198. package/dist/grammar/generated/antlr/CRLLexer.js +688 -512
  199. package/dist/grammar/generated/antlr/CRLLexer.js.map +1 -1
  200. package/dist/grammar/generated/antlr/CRLParser.d.ts +303 -113
  201. package/dist/grammar/generated/antlr/CRLParser.js +1756 -874
  202. package/dist/grammar/generated/antlr/CRLParser.js.map +1 -1
  203. package/dist/grammar/generated/antlr/CRLParserListener.d.ts +39 -0
  204. package/dist/grammar/generated/antlr/CRLParserVisitor.d.ts +26 -0
  205. package/dist/grammar/generated/types/conceptShapes.json +5 -0
  206. package/dist/grammar/generated/types/conceptValueTypes.json +1 -0
  207. package/dist/grammar/generated/types/parameterTypes.json +1 -0
  208. package/dist/grammar/resultType.d.ts +13 -0
  209. package/dist/grammar/resultType.js +27 -0
  210. package/dist/grammar/resultType.js.map +1 -0
  211. package/dist/imports/computeEmitClosure.js +15 -3
  212. package/dist/imports/computeEmitClosure.js.map +1 -1
  213. package/dist/imports/emit.d.ts +2 -0
  214. package/dist/imports/emit.js +49 -47
  215. package/dist/imports/emit.js.map +1 -1
  216. package/dist/index.d.ts +8 -4
  217. package/dist/index.js +17 -16
  218. package/dist/index.js.map +1 -1
  219. package/dist/language-services/catalog.d.ts +2 -2
  220. package/dist/language-services/catalog.js +1 -0
  221. package/dist/language-services/catalog.js.map +1 -1
  222. package/dist/language-services/contextDetect.js +2 -0
  223. package/dist/language-services/contextDetect.js.map +1 -1
  224. package/dist/language-services/projectIndex.js +23 -1
  225. package/dist/language-services/projectIndex.js.map +1 -1
  226. package/dist/lexer/CRLLexerErrorListener.js +3 -0
  227. package/dist/lexer/CRLLexerErrorListener.js.map +1 -1
  228. package/dist/mcp/server.js +176 -7
  229. package/dist/mcp/server.js.map +1 -1
  230. package/dist/migration/migrationInventory.d.ts +105 -0
  231. package/dist/migration/migrationInventory.js +732 -0
  232. package/dist/migration/migrationInventory.js.map +1 -0
  233. package/dist/migration/renderInventory.d.ts +7 -0
  234. package/dist/migration/renderInventory.js +321 -0
  235. package/dist/migration/renderInventory.js.map +1 -0
  236. package/dist/migration/repoExclusions.d.ts +2 -0
  237. package/dist/migration/repoExclusions.js +37 -0
  238. package/dist/migration/repoExclusions.js.map +1 -0
  239. package/dist/provenance/cockpitModel.js.map +1 -1
  240. package/dist/provenance/conceptShape.js +2 -6
  241. package/dist/provenance/conceptShape.js.map +1 -1
  242. package/dist/provenance/crlConceptLayer.d.ts +1 -0
  243. package/dist/provenance/crlConceptLayer.js +5 -1
  244. package/dist/provenance/crlConceptLayer.js.map +1 -1
  245. package/dist/provenance/crlStructure.js +5 -5
  246. package/dist/provenance/crlStructure.js.map +1 -1
  247. package/dist/provenance/definedAsExpr.js +7 -2
  248. package/dist/provenance/definedAsExpr.js.map +1 -1
  249. package/dist/provenance/failedCriteria.js +4 -3
  250. package/dist/provenance/failedCriteria.js.map +1 -1
  251. package/dist/provenance/generate.js +11 -11
  252. package/dist/provenance/generate.js.map +1 -1
  253. package/dist/provenance/indexer.js +34 -12
  254. package/dist/provenance/indexer.js.map +1 -1
  255. package/dist/template-match/agePredicate.d.ts +8 -2
  256. package/dist/template-match/agePredicate.js +22 -3
  257. package/dist/template-match/agePredicate.js.map +1 -1
  258. package/dist/template-match/canonicalTypes.d.ts +12 -1
  259. package/dist/template-match/matcher.d.ts +18 -1
  260. package/dist/template-match/matcher.js +140 -14
  261. package/dist/template-match/matcher.js.map +1 -1
  262. package/dist/template-match/operandConstraints.d.ts +17 -0
  263. package/dist/template-match/operandConstraints.js +71 -0
  264. package/dist/template-match/operandConstraints.js.map +1 -0
  265. package/dist/template-match/patternCatalog.d.ts +35 -0
  266. package/dist/template-match/patternCatalog.js +148 -0
  267. package/dist/template-match/patternCatalog.js.map +1 -0
  268. package/dist/template-match/pipeline.d.ts +19 -0
  269. package/dist/template-match/pipeline.js +46 -0
  270. package/dist/template-match/pipeline.js.map +1 -0
  271. package/dist/template-match/recencyProjectionOverride.d.ts +56 -0
  272. package/dist/template-match/recencyProjectionOverride.js +160 -0
  273. package/dist/template-match/recencyProjectionOverride.js.map +1 -0
  274. package/dist/template-match/recencyValueConcept.d.ts +14 -0
  275. package/dist/template-match/recencyValueConcept.js +82 -0
  276. package/dist/template-match/recencyValueConcept.js.map +1 -0
  277. package/dist/template-match/referenceRoles.d.ts +6 -0
  278. package/dist/template-match/referenceRoles.js +76 -0
  279. package/dist/template-match/referenceRoles.js.map +1 -0
  280. package/dist/template-match/resolvePipeline.d.ts +87 -0
  281. package/dist/template-match/resolvePipeline.js +227 -0
  282. package/dist/template-match/resolvePipeline.js.map +1 -0
  283. package/dist/validator/agePredicateValidator.js +50 -25
  284. package/dist/validator/agePredicateValidator.js.map +1 -1
  285. package/dist/validator/answerOptionsValidator.d.ts +7 -0
  286. package/dist/validator/answerOptionsValidator.js +169 -0
  287. package/dist/validator/answerOptionsValidator.js.map +1 -0
  288. package/dist/validator/conceptSubstanceValidator.d.ts +7 -0
  289. package/dist/validator/conceptSubstanceValidator.js +41 -0
  290. package/dist/validator/conceptSubstanceValidator.js.map +1 -0
  291. package/dist/validator/cycleDetector.js +18 -1
  292. package/dist/validator/cycleDetector.js.map +1 -1
  293. package/dist/validator/emitCapabilityValidator.d.ts +7 -0
  294. package/dist/validator/emitCapabilityValidator.js +45 -0
  295. package/dist/validator/emitCapabilityValidator.js.map +1 -0
  296. package/dist/validator/membershipScopeValidator.d.ts +7 -0
  297. package/dist/validator/membershipScopeValidator.js +168 -0
  298. package/dist/validator/membershipScopeValidator.js.map +1 -0
  299. package/dist/validator/pipelineStageValidator.d.ts +9 -0
  300. package/dist/validator/pipelineStageValidator.js +103 -0
  301. package/dist/validator/pipelineStageValidator.js.map +1 -0
  302. package/dist/validator/recordSetBoundValidator.d.ts +9 -0
  303. package/dist/validator/recordSetBoundValidator.js +76 -0
  304. package/dist/validator/recordSetBoundValidator.js.map +1 -0
  305. package/dist/validator/reductionShapeValidator.d.ts +8 -0
  306. package/dist/validator/reductionShapeValidator.js +259 -0
  307. package/dist/validator/reductionShapeValidator.js.map +1 -0
  308. package/dist/validator/referenceResolver.js +26 -1
  309. package/dist/validator/referenceResolver.js.map +1 -1
  310. package/dist/validator/representationShapeValidator.d.ts +11 -0
  311. package/dist/validator/representationShapeValidator.js +246 -0
  312. package/dist/validator/representationShapeValidator.js.map +1 -0
  313. package/dist/validator/useSiteTypeValidator.d.ts +21 -0
  314. package/dist/validator/useSiteTypeValidator.js +645 -0
  315. package/dist/validator/useSiteTypeValidator.js.map +1 -0
  316. package/dist/validator/validator.d.ts +67 -3
  317. package/dist/validator/validator.js +27 -0
  318. package/dist/validator/validator.js.map +1 -1
  319. package/package.json +3 -2
  320. package/dist/cre/expandDecisions.d.ts +0 -13
  321. package/dist/cre/expandDecisions.js +0 -69
  322. package/dist/cre/expandDecisions.js.map +0 -1
@@ -1,5 +1,4 @@
1
1
  import type { BranchCondition, BranchConditionAnd, BranchConditionOr, BranchConditionRef, BranchConditionCriterionRef, BranchConditionNot, BranchConditionLiteral, ReferenceName } from "./types";
2
- import { type CriterionTable, type ExpandedSize, type ExpansionReason } from "./criterionExpansion";
3
2
  export declare function visitBranchCondition<T>(c: BranchCondition, v: {
4
3
  ref: (node: BranchConditionRef) => T;
5
4
  and: (node: BranchConditionAnd, operands: T[]) => T;
@@ -9,20 +8,10 @@ export declare function visitBranchCondition<T>(c: BranchCondition, v: {
9
8
  }): T;
10
9
  export declare function branchConditionRefs(c: BranchCondition): BranchConditionRef[];
11
10
  export declare function branchConditionConceptRefsStrict(c: BranchCondition, where: string): BranchConditionRef[];
12
- export declare function branchConditionConceptRefsFollowingCriteria(c: BranchCondition, table: CriterionTable): BranchConditionRef[];
13
- export declare function branchConditionConceptRefsExpanded(c: BranchCondition, table: CriterionTable, where: string): {
14
- refs: BranchConditionRef[];
15
- overflow?: {
16
- status: ExpansionReason;
17
- detail?: ExpandedSize["detail"];
18
- };
19
- };
20
11
  export declare function containsNot(c: BranchCondition): boolean;
21
12
  export declare function toNNF(c: BranchCondition): BranchCondition;
22
13
  export declare function branchConditionDNF(c: BranchCondition): BranchConditionLiteral[][];
23
14
  export declare function branchConditionArmCount(c: BranchCondition, cap?: number): number;
24
15
  export declare function assertWellFormedBranchCondition(c: BranchCondition): void;
25
16
  export declare function soleRef(c: BranchCondition): BranchConditionRef | null;
26
- export declare function describeBranchCondition(c: BranchCondition, display: (r: ReferenceName) => string, opts?: {
27
- markerAware?: boolean;
28
- }): string;
17
+ export declare function describeBranchCondition(c: BranchCondition, display: (r: ReferenceName) => string): string;
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.visitBranchCondition = visitBranchCondition;
4
4
  exports.branchConditionRefs = branchConditionRefs;
5
5
  exports.branchConditionConceptRefsStrict = branchConditionConceptRefsStrict;
6
- exports.branchConditionConceptRefsFollowingCriteria = branchConditionConceptRefsFollowingCriteria;
7
- exports.branchConditionConceptRefsExpanded = branchConditionConceptRefsExpanded;
8
6
  exports.containsNot = containsNot;
9
7
  exports.toNNF = toNNF;
10
8
  exports.branchConditionDNF = branchConditionDNF;
@@ -12,10 +10,8 @@ exports.branchConditionArmCount = branchConditionArmCount;
12
10
  exports.assertWellFormedBranchCondition = assertWellFormedBranchCondition;
13
11
  exports.soleRef = soleRef;
14
12
  exports.describeBranchCondition = describeBranchCondition;
15
- const types_1 = require("./types");
16
- const criterionExpansion_1 = require("./criterionExpansion");
17
13
  function unexpandedCriterion(node, where) {
18
- throw new Error(`internal: un-expanded criterion reference "${String(node.ref)}" reached ${where} — criterion expansion must run before this seam`);
14
+ throw new Error(`internal: criterion reference "${String(node.ref)}" reached ${where}, a CONCEPT-ONLY seam — a criterion is not a concept ref (post-#236 it lowers to a referenced boolean define); a concept-only collector must route criteria explicitly`);
19
15
  }
20
16
  function visitBranchCondition(c, v) {
21
17
  switch (c.type) {
@@ -65,44 +61,6 @@ function branchConditionConceptRefsStrict(c, where) {
65
61
  walk(c);
66
62
  return out;
67
63
  }
68
- function branchConditionConceptRefsFollowingCriteria(c, table) {
69
- if ((0, criterionExpansion_1.containsCriterionRef)(c) && (0, criterionExpansion_1.expandedSize)(c, table).status !== "ok") {
70
- return branchConditionRefs(c);
71
- }
72
- const out = [];
73
- const active = new Set();
74
- const walk = (n) => {
75
- if (n.type === "BranchConditionRef") {
76
- out.push(n);
77
- return;
78
- }
79
- if (n.type === "BranchConditionCriterionRef") {
80
- const name = (0, types_1.getRefName)(n.ref);
81
- const crit = table.get(name);
82
- if (!crit || active.has(name))
83
- return;
84
- active.add(name);
85
- walk(crit.condition);
86
- active.delete(name);
87
- return;
88
- }
89
- if (n.type === "BranchConditionNot") {
90
- if (n.operand)
91
- walk(n.operand);
92
- return;
93
- }
94
- if (Array.isArray(n.operands))
95
- n.operands.forEach(walk);
96
- };
97
- walk(c);
98
- return out;
99
- }
100
- function branchConditionConceptRefsExpanded(c, table, where) {
101
- const g = (0, criterionExpansion_1.expandGuardOrRecord)(c, table);
102
- if (!g.ok)
103
- return { refs: [], overflow: { status: g.status, detail: g.detail } };
104
- return { refs: branchConditionConceptRefsStrict(g.cond, where) };
105
- }
106
64
  function containsNot(c) {
107
65
  switch (c.type) {
108
66
  case "BranchConditionNot":
@@ -116,23 +74,28 @@ function containsNot(c) {
116
74
  }
117
75
  }
118
76
  function toNNF(c) {
119
- if (!containsNot(c) && !(0, criterionExpansion_1.containsCriterionRef)(c))
77
+ if (!containsNot(c))
120
78
  return c;
121
79
  const nnf = (n, negated) => {
122
- const withMarker = (out) => n.sourcedFromCriterion ? { ...out, sourcedFromCriterion: n.sourcedFromCriterion } : out;
123
80
  switch (n.type) {
124
81
  case "BranchConditionCriterionRef":
125
- return unexpandedCriterion(n, "toNNF");
82
+ if (!negated)
83
+ return n;
84
+ return {
85
+ type: "BranchConditionNot",
86
+ operand: { type: "BranchConditionCriterionRef", ref: n.ref, location: n.location },
87
+ location: n.location,
88
+ };
126
89
  case "BranchConditionRef":
127
90
  if (!negated)
128
- return withMarker(n);
129
- return withMarker({
91
+ return n;
92
+ return {
130
93
  type: "BranchConditionNot",
131
94
  operand: { type: "BranchConditionRef", ref: n.ref, location: n.location },
132
95
  location: n.location,
133
- });
96
+ };
134
97
  case "BranchConditionNot":
135
- return withMarker(nnf(n.operand, !negated));
98
+ return nnf(n.operand, !negated);
136
99
  case "BranchConditionAnd":
137
100
  case "BranchConditionOr": {
138
101
  const flipTo = negated && n.type === "BranchConditionAnd"
@@ -140,11 +103,11 @@ function toNNF(c) {
140
103
  : negated && n.type === "BranchConditionOr"
141
104
  ? "BranchConditionAnd"
142
105
  : n.type;
143
- return withMarker({
106
+ return {
144
107
  type: flipTo,
145
108
  operands: n.operands.map((o) => nnf(o, negated)),
146
109
  location: n.location,
147
- });
110
+ };
148
111
  }
149
112
  }
150
113
  };
@@ -156,13 +119,14 @@ function branchConditionDNF(c) {
156
119
  case "BranchConditionRef":
157
120
  return [[n]];
158
121
  case "BranchConditionNot": {
159
- if (n.operand.type !== "BranchConditionRef") {
160
- throw new Error(`internal: branchConditionDNF saw a non-normalized negation over ${n.operand.type} — toNNF must run first`);
161
- }
162
- return [[n]];
122
+ if (n.operand.type === "BranchConditionRef")
123
+ return [[n]];
124
+ if (n.operand.type === "BranchConditionCriterionRef")
125
+ return [[n]];
126
+ throw new Error(`internal: branchConditionDNF saw a non-normalized negation over ${n.operand.type} — toNNF must run first`);
163
127
  }
164
128
  case "BranchConditionCriterionRef":
165
- return unexpandedCriterion(n, "branchConditionDNF");
129
+ return [[n]];
166
130
  case "BranchConditionOr":
167
131
  return n.operands.flatMap((o) => dnf(o));
168
132
  case "BranchConditionAnd": {
@@ -189,7 +153,7 @@ function branchConditionArmCount(c, cap = 16) {
189
153
  if (n.type === "BranchConditionNot")
190
154
  return 1;
191
155
  if (n.type === "BranchConditionCriterionRef")
192
- return unexpandedCriterion(n, "branchConditionArmCount");
156
+ return 1;
193
157
  if (n.type === "BranchConditionOr") {
194
158
  let sum = 0;
195
159
  for (const o of n.operands) {
@@ -227,17 +191,12 @@ function assertWellFormedBranchCondition(c) {
227
191
  function soleRef(c) {
228
192
  return c.type === "BranchConditionRef" ? c : null;
229
193
  }
230
- function describeBranchCondition(c, display, opts = {}) {
231
- const markerAware = opts.markerAware ?? false;
232
- const isNameLeaf = (n) => markerAware && n.sourcedFromCriterion !== undefined;
194
+ function describeBranchCondition(c, display) {
233
195
  const go = (n, parentOp) => {
234
- if (isNameLeaf(n))
235
- return display(n.sourcedFromCriterion.name);
236
196
  if (n.type === "BranchConditionRef" || n.type === "BranchConditionCriterionRef")
237
197
  return display(n.ref);
238
198
  if (n.type === "BranchConditionNot") {
239
- const compound = !isNameLeaf(n.operand) &&
240
- (n.operand.type === "BranchConditionAnd" || n.operand.type === "BranchConditionOr");
199
+ const compound = n.operand.type === "BranchConditionAnd" || n.operand.type === "BranchConditionOr";
241
200
  const inner = go(n.operand, null);
242
201
  return `not ${compound ? `(${inner})` : inner}`;
243
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"branchCondition.js","sourceRoot":"","sources":["../../src/ast/branchCondition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branchCondition.js","sourceRoot":"","sources":["../../src/ast/branchCondition.ts"],"names":[],"mappings":";;AAuCA,oDAgCC;AAeD,kDAqBC;AASD,4EAiBC;AASD,kCAWC;AAwBD,sBA6CC;AAwBD,gDAqCC;AAiBD,0DA0BC;AAOD,0EAgBC;AAOD,0BAEC;AAYD,0DAuBC;AA7WD,SAAS,mBAAmB,CAAC,IAAiC,EAAE,KAAa;IAC3E,MAAM,IAAI,KAAK,CACb,kCAAkC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,KAAK,wKAAwK,CAC7O,CAAC;AACJ,CAAC;AAOD,SAAgB,oBAAoB,CAClC,CAAkB,EAClB,CAUC;IAED,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,oBAAoB;YACvB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,KAAK,6BAA6B;YAChC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,oBAAoB;YACvB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,oBAAoB;YACvB,OAAO,CAAC,CAAC,GAAG,CACV,CAAC,EACD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAClD,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO,CAAC,CAAC,EAAE,CACT,CAAC,EACD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAClD,CAAC;IACN,CAAC;AACH,CAAC;AAeD,SAAgB,mBAAmB,CAAC,CAAkB;IACpD,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,CAAkB,EAAQ,EAAE;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,6BAA6B;YAAE,OAAO;aAKrD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,OAAO;gBAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAKI,IAAI,KAAK,CAAC,OAAO,CAAE,CAA4C,CAAC,QAAQ,CAAC;YAC3E,CAA4C,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC;IACF,IAAI,CAAC,CAAC,CAAC,CAAC;IACR,OAAO,GAAG,CAAC;AACb,CAAC;AASD,SAAgB,gCAAgC,CAC9C,CAAkB,EAClB,KAAa;IAEb,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,CAAkB,EAAQ,EAAE;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,6BAA6B;YAAE,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aAG5E,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,OAAO;gBAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAE,CAA4C,CAAC,QAAQ,CAAC;YAC7E,CAA4C,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC;IACF,IAAI,CAAC,CAAC,CAAC,CAAC;IACR,OAAO,GAAG,CAAC;AACb,CAAC;AASD,SAAgB,WAAW,CAAC,CAAkB;IAC5C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,oBAAoB;YACvB,OAAO,IAAI,CAAC;QACd,KAAK,oBAAoB,CAAC;QAC1B,KAAK,6BAA6B;YAChC,OAAO,KAAK,CAAC;QACf,KAAK,oBAAoB,CAAC;QAC1B,KAAK,mBAAmB;YACtB,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAwBD,SAAgB,KAAK,CAAC,CAAkB;IAKtC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,CAAC,CAAkB,EAAE,OAAgB,EAAmB,EAAE;QACpE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,6BAA6B;gBAGhC,IAAI,CAAC,OAAO;oBAAE,OAAO,CAAC,CAAC;gBACvB,OAAO;oBACL,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;oBAClF,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC;YACJ,KAAK,oBAAoB;gBACvB,IAAI,CAAC,OAAO;oBAAE,OAAO,CAAC,CAAC;gBAEvB,OAAO;oBACL,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;oBACzE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC;YACJ,KAAK,oBAAoB;gBACvB,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;YAClC,KAAK,oBAAoB,CAAC;YAC1B,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBAEzB,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;oBACxC,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB;wBACzC,CAAC,CAAC,oBAAoB;wBACtB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACf,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAChD,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACvB,CAAC;AAwBD,SAAgB,kBAAkB,CAAC,CAAkB;IACnD,MAAM,GAAG,GAAG,CAAC,CAAkB,EAA8B,EAAE;QAC7D,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,oBAAoB;gBACvB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAK1B,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,oBAAoB;oBAAE,OAAO,CAAC,CAAC,CAAkC,CAAC,CAAC,CAAC;gBAC3F,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,6BAA6B;oBAClD,OAAO,CAAC,CAAC,CAA2C,CAAC,CAAC,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,mEAAmE,CAAC,CAAC,OAAO,CAAC,IAAI,yBAAyB,CAC3G,CAAC;YACJ,CAAC;YACD,KAAK,6BAA6B;gBAGhC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,KAAK,mBAAmB;gBACtB,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAE1B,IAAI,IAAI,GAA+B,CAAC,EAAE,CAAC,CAAC;gBAC5C,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,MAAM,IAAI,GAA+B,EAAE,CAAC;oBAC5C,KAAK,MAAM,GAAG,IAAI,IAAI;wBAAE,KAAK,MAAM,KAAK,IAAI,MAAM;4BAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;oBAClF,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAiBD,SAAgB,uBAAuB,CAAC,CAAkB,EAAE,GAAG,GAAG,EAAE;IAClE,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC,CAAkB,EAAU,EAAE;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAAE,OAAO,CAAC,CAAC;QAI9C,IAAI,CAAC,CAAC,IAAI,KAAK,6BAA6B;YAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACnC,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACb,IAAI,GAAG,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC;YACrC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,OAAO,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAOD,SAAgB,+BAA+B,CAAC,CAAkB;IAChE,MAAM,KAAK,GAAG,CAAC,CAAkB,EAAQ,EAAE;QAGzC,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,6BAA6B;YAAE,OAAO;QAExF,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,gCAAgC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,KAAK,CAAC,CAAC,CAAC,CAAC;AACX,CAAC;AAOD,SAAgB,OAAO,CAAC,CAAkB;IACxC,OAAO,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAYD,SAAgB,uBAAuB,CACrC,CAAkB,EAClB,OAAqC;IAErC,MAAM,EAAE,GAAG,CAAC,CAAkB,EAAE,QAA6B,EAAU,EAAE;QAGvE,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,6BAA6B;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAGvG,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACpC,MAAM,QAAQ,GACZ,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,mBAAmB,CAAC;YACpF,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;QACD,MAAM,EAAE,GAAiB,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAG/D,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,CAAC,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACrB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { ParserRuleContext } from "antlr4ts/ParserRuleContext";
2
2
  import { AbstractParseTreeVisitor } from "antlr4ts/tree/AbstractParseTreeVisitor";
3
- import { CrlContext, DecisionStatementContext, CriterionStatementContext, DecisionBodyContext, BranchItemContext, BlockBodyContext, ActionItemContext, ActionStatementContext, RecommendStatementContext, UseStatementContext, TerminologyStatementContext, TerminologyValuesetContext, ActivityStatementContext, ConceptStatementContext, ParameterStatementContext, LibraryStatementContext, IncludeStatementContext, DefinitionIsBodyContext, DefinedAsBodyContext, DefinedAsBareRefContext, DefinedAsCompositionContext, CompositionExpressionContext, SemOrContext, SemAndContext, SemNotContext, CompositionRefContext, CompositionGroupContext, NarrativeContext, NConceptRefContext, NQuantityContext, NWordContext, NArgGroupElementContext, QuantityContext, ArgGroupContext, ArgDisjunctionContext, ArgConjunctionContext, ArgSingletonContext, AVConceptRefContext, AVQuantityContext, AVNestedGroupContext, WhenWithBodyContext, WhenSingleActionContext, OtherwiseWithBodyContext, OtherwiseSingleActionContext } from "../grammar/generated/antlr/CRLParser";
3
+ import { CrlContext, DecisionStatementContext, CriterionStatementContext, DecisionBodyContext, BranchItemContext, BlockBodyContext, ActionItemContext, ActionStatementContext, RecommendStatementContext, UseStatementContext, TerminologyStatementContext, TerminologyValuesetContext, ActivityStatementContext, ConceptStatementContext, ParameterStatementContext, LibraryStatementContext, IncludeStatementContext, CountDefinitionContext, NarrativeDefinitionContext, DefinedAsBodyContext, DefinedAsBareRefContext, DefinedAsExistsContext, DefinedAsCompositionContext, DefinedAsBooleanCompositionContext, CompositionExpressionContext, SemOrContext, SemAndContext, SemNotContext, CompositionRefContext, CompositionGroupContext, NarrativeContext, NConceptRefContext, NQuantityContext, NWordContext, NArgGroupElementContext, QuantityContext, ArgGroupContext, ArgDisjunctionContext, ArgConjunctionContext, ArgSingletonContext, AVConceptRefContext, AVQuantityContext, AVNestedGroupContext, WhenWithBodyContext, WhenSingleActionContext, OtherwiseWithBodyContext, OtherwiseSingleActionContext } from "../grammar/generated/antlr/CRLParser";
4
4
  import { CRLParserVisitor } from "../grammar/generated/antlr/CRLParserVisitor";
5
5
  import type { CRLError } from "../types/errors";
6
- import { ASTNode, Decision, Criterion, DecisionBody, WhenBlock, OtherwiseBlock, BranchBlock, BlockBody, ActionStatement, RecommendActivity, UseDecision, Terminology, TerminologyValueset, TerminologySystem, TerminologyCode, Activity, ActivityBody, ActivityRequest, ActivityWith, ActivityBecause, Concept, Parameter, DefinedAsDefinition, DefinedAsBareRef, DefinedAsComposition, CompositionExpression, CompositionRef, CompositionGroup, DefinitionIsDefinition, NarrativeClause, NConceptRef, NWord, NDisjunction, NConjunction, Quantity } from "./types";
6
+ import { ASTNode, Decision, Criterion, DecisionBody, WhenBlock, OtherwiseBlock, BranchBlock, BlockBody, ActionStatement, RecommendActivity, UseDecision, Terminology, TerminologyValueset, TerminologySystem, TerminologyCode, Activity, ActivityBody, ActivityRequest, ActivityWith, ActivityBecause, Concept, Parameter, DefinedAsDefinition, DefinedAsBareRef, DefinedAsExists, DefinedAsComposition, DefinedAsBooleanComposition, CompositionExpression, CompositionRef, CompositionGroup, DefinitionIsDefinition, ReductionDefinition, NarrativeClause, NConceptRef, NWord, NDisjunction, NConjunction, Quantity } from "./types";
7
7
  import type { CRL, LibraryDeclaration, Include } from "./types";
8
8
  export declare class CRLAstBuilder extends AbstractParseTreeVisitor<ASTNode> implements CRLParserVisitor<ASTNode> {
9
9
  private readonly errors;
@@ -39,16 +39,24 @@ export declare class CRLAstBuilder extends AbstractParseTreeVisitor<ASTNode> imp
39
39
  visitActivityWith(ctx: import("../grammar/generated/antlr/CRLParser").ActivityWithContext): ActivityWith;
40
40
  visitActivityBecause(ctx: import("../grammar/generated/antlr/CRLParser").ActivityBecauseContext): ActivityBecause;
41
41
  private parseConceptTypes;
42
+ private parseConceptShape;
43
+ private reportDuplicateLines;
44
+ private checkConceptBodyCardinality;
45
+ private checkRepresentationBodyCardinality;
42
46
  private metaFrom;
43
47
  private parseEvidence;
44
48
  private parseConceptDefinition;
45
49
  private buildCodedFrom;
50
+ private parseValueFrom;
46
51
  private parseCode;
52
+ private parseValueElement;
47
53
  private parseRepresentations;
48
54
  visitParameterStatement(ctx: ParameterStatementContext): Parameter;
49
55
  visitConceptStatement(ctx: ConceptStatementContext): Concept;
50
56
  visitDefinedAsBareRef(ctx: DefinedAsBareRefContext): DefinedAsBareRef;
57
+ visitDefinedAsExists(ctx: DefinedAsExistsContext): DefinedAsExists;
51
58
  visitDefinedAsComposition(ctx: DefinedAsCompositionContext): DefinedAsComposition;
59
+ visitDefinedAsBooleanComposition(ctx: DefinedAsBooleanCompositionContext): DefinedAsBooleanComposition;
52
60
  visitCompositionExpression(ctx: CompositionExpressionContext): CompositionExpression;
53
61
  visitSemOr(ctx: SemOrContext): CompositionExpression;
54
62
  visitSemAnd(ctx: SemAndContext): CompositionExpression;
@@ -56,7 +64,9 @@ export declare class CRLAstBuilder extends AbstractParseTreeVisitor<ASTNode> imp
56
64
  visitCompositionRef(ctx: CompositionRefContext): CompositionRef;
57
65
  visitCompositionGroup(ctx: CompositionGroupContext): CompositionGroup;
58
66
  visitDefinedAsBody(ctx: DefinedAsBodyContext): DefinedAsDefinition;
59
- visitDefinitionIsBody(ctx: DefinitionIsBodyContext): DefinitionIsDefinition;
67
+ visitCountDefinition(ctx: CountDefinitionContext): ReductionDefinition;
68
+ visitNarrativeDefinition(ctx: NarrativeDefinitionContext): DefinitionIsDefinition | ReductionDefinition;
69
+ private buildReductionTarget;
60
70
  visitNarrative(ctx: NarrativeContext): NarrativeClause;
61
71
  visitNConceptRef(ctx: NConceptRefContext): NConceptRef;
62
72
  visitNQuantity(ctx: NQuantityContext): Quantity;