@hydranium/core 1.0.0-next.23 → 1.0.0-next.232
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.
- package/README.md +21 -13
- package/lib/documents/ast-document-manager.d.ts +219 -122
- package/lib/documents/ast-document-manager.d.ts.map +1 -1
- package/lib/documents/ast-document-manager.js +241 -130
- package/lib/documents/ast-document-manager.js.map +1 -1
- package/lib/documents/client-ids.d.ts +5 -19
- package/lib/documents/client-ids.d.ts.map +1 -1
- package/lib/documents/client-ids.js +5 -19
- package/lib/documents/client-ids.js.map +1 -1
- package/lib/documents/client-session-errors.d.ts +15 -0
- package/lib/documents/client-session-errors.d.ts.map +1 -0
- package/lib/documents/client-session-errors.js +15 -0
- package/lib/documents/client-session-errors.js.map +1 -0
- package/lib/documents/client-session-registry.d.ts +146 -0
- package/lib/documents/client-session-registry.d.ts.map +1 -0
- package/lib/documents/client-session-registry.js +207 -0
- package/lib/documents/client-session-registry.js.map +1 -0
- package/lib/documents/dirty-state-tracker.d.ts +79 -0
- package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
- package/lib/documents/dirty-state-tracker.js +69 -0
- package/lib/documents/dirty-state-tracker.js.map +1 -0
- package/lib/documents/document-release-handler.d.ts +179 -0
- package/lib/documents/document-release-handler.d.ts.map +1 -0
- package/lib/documents/document-release-handler.js +283 -0
- package/lib/documents/document-release-handler.js.map +1 -0
- package/lib/documents/document-release-scheduler.d.ts +67 -0
- package/lib/documents/document-release-scheduler.d.ts.map +1 -0
- package/lib/documents/document-release-scheduler.js +80 -0
- package/lib/documents/document-release-scheduler.js.map +1 -0
- package/lib/documents/file-system-task-queue.d.ts +49 -0
- package/lib/documents/file-system-task-queue.d.ts.map +1 -0
- package/lib/documents/file-system-task-queue.js +34 -0
- package/lib/documents/file-system-task-queue.js.map +1 -0
- package/lib/documents/hydranium-text-documents.d.ts +399 -282
- package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
- package/lib/documents/hydranium-text-documents.js +816 -483
- package/lib/documents/hydranium-text-documents.js.map +1 -1
- package/lib/documents/index.d.ts +10 -2
- package/lib/documents/index.d.ts.map +1 -1
- package/lib/documents/index.js +10 -2
- package/lib/documents/index.js.map +1 -1
- package/lib/documents/language-client-shadow.d.ts +218 -0
- package/lib/documents/language-client-shadow.d.ts.map +1 -0
- package/lib/documents/language-client-shadow.js +283 -0
- package/lib/documents/language-client-shadow.js.map +1 -0
- package/lib/documents/model-ledger.d.ts +47 -0
- package/lib/documents/model-ledger.d.ts.map +1 -0
- package/lib/documents/model-ledger.js +30 -0
- package/lib/documents/model-ledger.js.map +1 -0
- package/lib/documents/text-ledger.d.ts +64 -0
- package/lib/documents/text-ledger.d.ts.map +1 -0
- package/lib/documents/text-ledger.js +63 -0
- package/lib/documents/text-ledger.js.map +1 -0
- package/lib/documents/version-sync-service.d.ts +134 -0
- package/lib/documents/version-sync-service.d.ts.map +1 -0
- package/lib/documents/version-sync-service.js +171 -0
- package/lib/documents/version-sync-service.js.map +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -1
- package/lib/langium/ast-extension/ast-extension-service.js.map +1 -1
- package/lib/langium/ast-extension/ast-node-builder.d.ts +32 -9
- package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
- package/lib/langium/ast-extension/ast-node-builder.js +60 -22
- package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
- package/lib/langium/bootstrap.d.ts +23 -16
- package/lib/langium/bootstrap.d.ts.map +1 -1
- package/lib/langium/bootstrap.js +66 -28
- package/lib/langium/bootstrap.js.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -1
- package/lib/langium/composite-ast-reflection.d.ts +46 -0
- package/lib/langium/composite-ast-reflection.d.ts.map +1 -0
- package/lib/langium/composite-ast-reflection.js +97 -0
- package/lib/langium/composite-ast-reflection.js.map +1 -0
- package/lib/langium/config/configuration-provider.d.ts +81 -0
- package/lib/langium/config/configuration-provider.d.ts.map +1 -0
- package/lib/langium/config/configuration-provider.js +112 -0
- package/lib/langium/config/configuration-provider.js.map +1 -0
- package/lib/langium/config/index.d.ts +1 -0
- package/lib/langium/config/index.d.ts.map +1 -1
- package/lib/langium/config/index.js +1 -0
- package/lib/langium/config/index.js.map +1 -1
- package/lib/langium/config/settings.js.map +1 -1
- package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
- package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
- package/lib/langium/diagnostics/logger.d.ts +10 -3
- package/lib/langium/diagnostics/logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/logger.js +12 -5
- package/lib/langium/diagnostics/logger.js.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.d.ts +17 -0
- package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.js +57 -16
- package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
- package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -1
- package/lib/langium/diagnostics/server-tracer.js.map +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.d.ts +21 -1
- package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.js +32 -5
- package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
- package/lib/langium/document-builder/build-session.d.ts +93 -0
- package/lib/langium/document-builder/build-session.d.ts.map +1 -0
- package/lib/langium/document-builder/build-session.js +72 -0
- package/lib/langium/document-builder/build-session.js.map +1 -0
- package/lib/langium/document-builder/document-builder.d.ts +401 -29
- package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
- package/lib/langium/document-builder/document-builder.js +698 -61
- package/lib/langium/document-builder/document-builder.js.map +1 -1
- package/lib/langium/document-builder/index.d.ts +1 -0
- package/lib/langium/document-builder/index.d.ts.map +1 -1
- package/lib/langium/document-builder/index.js +1 -0
- package/lib/langium/document-builder/index.js.map +1 -1
- package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
- package/lib/langium/documentation/comment-provider.js.map +1 -1
- package/lib/langium/integration-services.d.ts +61 -19
- package/lib/langium/integration-services.d.ts.map +1 -1
- package/lib/langium/integration-services.js +10 -5
- package/lib/langium/integration-services.js.map +1 -1
- package/lib/langium/integrity/integrity-rule.d.ts +16 -8
- package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
- package/lib/langium/integrity/integrity-rule.js.map +1 -1
- package/lib/langium/integrity/integrity-service.d.ts +81 -24
- package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
- package/lib/langium/integrity/integrity-service.js +264 -57
- package/lib/langium/integrity/integrity-service.js.map +1 -1
- package/lib/langium/keys/containment.d.ts +64 -0
- package/lib/langium/keys/containment.d.ts.map +1 -0
- package/lib/langium/keys/containment.js +53 -0
- package/lib/langium/keys/containment.js.map +1 -0
- package/lib/langium/keys/index.d.ts +1 -0
- package/lib/langium/keys/index.d.ts.map +1 -1
- package/lib/langium/keys/index.js +1 -0
- package/lib/langium/keys/index.js.map +1 -1
- package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
- package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
- package/lib/langium/keys/name-based-key-provider.js +4 -0
- package/lib/langium/keys/name-based-key-provider.js.map +1 -1
- package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
- package/lib/langium/keys/positional-key-provider.js.map +1 -1
- package/lib/langium/labeling/label-provider.d.ts.map +1 -1
- package/lib/langium/labeling/label-provider.js.map +1 -1
- package/lib/langium/language-module.d.ts +29 -4
- package/lib/langium/language-module.d.ts.map +1 -1
- package/lib/langium/language-module.js +18 -4
- package/lib/langium/language-module.js.map +1 -1
- package/lib/langium/model-service/client-session.d.ts +343 -0
- package/lib/langium/model-service/client-session.d.ts.map +1 -0
- package/lib/langium/model-service/client-session.js +411 -0
- package/lib/langium/model-service/client-session.js.map +1 -0
- package/lib/langium/model-service/index.d.ts +2 -0
- package/lib/langium/model-service/index.d.ts.map +1 -1
- package/lib/langium/model-service/index.js +2 -0
- package/lib/langium/model-service/index.js.map +1 -1
- package/lib/langium/model-service/model-events.d.ts +61 -0
- package/lib/langium/model-service/model-events.d.ts.map +1 -0
- package/lib/langium/model-service/model-events.js +10 -0
- package/lib/langium/model-service/model-events.js.map +1 -0
- package/lib/langium/model-service/model-service.d.ts +432 -282
- package/lib/langium/model-service/model-service.d.ts.map +1 -1
- package/lib/langium/model-service/model-service.js +504 -438
- package/lib/langium/model-service/model-service.js.map +1 -1
- package/lib/langium/module.d.ts +157 -35
- package/lib/langium/module.d.ts.map +1 -1
- package/lib/langium/module.js +52 -35
- package/lib/langium/module.js.map +1 -1
- package/lib/langium/naming/name-provider.d.ts +25 -4
- package/lib/langium/naming/name-provider.d.ts.map +1 -1
- package/lib/langium/naming/name-provider.js +2 -1
- package/lib/langium/naming/name-provider.js.map +1 -1
- package/lib/langium/naming/name-separator-validation.d.ts +23 -0
- package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
- package/lib/langium/naming/name-separator-validation.js +30 -1
- package/lib/langium/naming/name-separator-validation.js.map +1 -1
- package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
- package/lib/langium/project/abstract-project-manager.js +9 -2
- package/lib/langium/project/abstract-project-manager.js.map +1 -1
- package/lib/langium/project/project-change-event.d.ts +2 -2
- package/lib/langium/project/single-project-manager.d.ts.map +1 -1
- package/lib/langium/project/single-project-manager.js.map +1 -1
- package/lib/langium/residency/cst-residency-service.d.ts +31 -11
- package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
- package/lib/langium/residency/cst-residency-service.js +23 -57
- package/lib/langium/residency/cst-residency-service.js.map +1 -1
- package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
- package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
- package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
- package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
- package/lib/langium/scope/hydranium-scope-provider.d.ts +48 -13
- package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
- package/lib/langium/scope/hydranium-scope-provider.js +56 -20
- package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
- package/lib/langium/scope/reference-builder.d.ts.map +1 -1
- package/lib/langium/scope/reference-builder.js.map +1 -1
- package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
- package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
- package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
- package/lib/langium/scope/scope-extension-service.js.map +1 -1
- package/lib/langium/serialization/abstract-serializer.d.ts +11 -20
- package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/abstract-serializer.js +12 -21
- package/lib/langium/serialization/abstract-serializer.js.map +1 -1
- package/lib/langium/serialization/json-serializer.d.ts +1 -1
- package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/json-serializer.js.map +1 -1
- package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/yaml-serializer.js.map +1 -1
- package/lib/langium/service-registry.d.ts +29 -1
- package/lib/langium/service-registry.d.ts.map +1 -1
- package/lib/langium/service-registry.js +37 -0
- package/lib/langium/service-registry.js.map +1 -1
- package/lib/langium/shared-services.d.ts +23 -6
- package/lib/langium/shared-services.d.ts.map +1 -1
- package/lib/langium/shared-services.js.map +1 -1
- package/lib/langium/single-langium-copy.d.ts +22 -0
- package/lib/langium/single-langium-copy.d.ts.map +1 -0
- package/lib/langium/single-langium-copy.js +36 -0
- package/lib/langium/single-langium-copy.js.map +1 -0
- package/lib/langium/transfer/transfer-encoder.d.ts +77 -26
- package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
- package/lib/langium/transfer/transfer-encoder.js +46 -24
- package/lib/langium/transfer/transfer-encoder.js.map +1 -1
- package/lib/langium/trivia/comment-preserver.d.ts +423 -0
- package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/comment-preserver.js +906 -0
- package/lib/langium/trivia/comment-preserver.js.map +1 -0
- package/lib/langium/trivia/document-ending-preserver.d.ts +43 -0
- package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/document-ending-preserver.js +48 -0
- package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
- package/lib/langium/trivia/index.d.ts +14 -0
- package/lib/langium/trivia/index.d.ts.map +1 -0
- package/lib/langium/trivia/index.js +14 -0
- package/lib/langium/trivia/index.js.map +1 -0
- package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
- package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-contribution.js +10 -0
- package/lib/langium/trivia/trivia-contribution.js.map +1 -0
- package/lib/langium/trivia/trivia-preserver.d.ts +50 -0
- package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-preserver.js +10 -0
- package/lib/langium/trivia/trivia-preserver.js.map +1 -0
- package/lib/langium/trivia/trivia-service.d.ts +70 -0
- package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-service.js +56 -0
- package/lib/langium/trivia/trivia-service.js.map +1 -0
- package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
- package/lib/langium/validation/document-validator.d.ts +294 -10
- package/lib/langium/validation/document-validator.d.ts.map +1 -1
- package/lib/langium/validation/document-validator.js +448 -5
- package/lib/langium/validation/document-validator.js.map +1 -1
- package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
- package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
- package/lib/langium/validation/validation-contribution-collector.js +1 -1
- package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
- package/lib/langium/workspace/document-uri-policy.d.ts +18 -14
- package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
- package/lib/langium/workspace/document-uri-policy.js +10 -9
- package/lib/langium/workspace/document-uri-policy.js.map +1 -1
- package/lib/langium/workspace/file-not-found.d.ts +23 -0
- package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
- package/lib/langium/workspace/file-not-found.js +31 -0
- package/lib/langium/workspace/file-not-found.js.map +1 -0
- package/lib/langium/workspace/file-system-provider.d.ts +135 -9
- package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/file-system-provider.js +93 -14
- package/lib/langium/workspace/file-system-provider.js.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +56 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.js +79 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
- package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
- package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts +82 -9
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.js +128 -10
- package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts +26 -3
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/in-memory-file-system-provider.js +41 -15
- package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
- package/lib/langium/workspace/index-manager.d.ts.map +1 -1
- package/lib/langium/workspace/index-manager.js.map +1 -1
- package/lib/langium/workspace/index.d.ts +1 -0
- package/lib/langium/workspace/index.d.ts.map +1 -1
- package/lib/langium/workspace/index.js +1 -0
- package/lib/langium/workspace/index.js.map +1 -1
- package/lib/langium/workspace/initialize-workspace.d.ts +31 -2
- package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
- package/lib/langium/workspace/initialize-workspace.js +13 -5
- package/lib/langium/workspace/initialize-workspace.js.map +1 -1
- package/lib/langium/workspace/langium-documents.d.ts +86 -17
- package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
- package/lib/langium/workspace/langium-documents.js +101 -29
- package/lib/langium/workspace/langium-documents.js.map +1 -1
- package/lib/langium/workspace/persistent-file-system-provider.d.ts +1 -8
- package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/persistent-file-system-provider.js +0 -7
- package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
- package/lib/{documents → langium/workspace}/self-save-registry.d.ts +38 -7
- package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
- package/lib/{documents → langium/workspace}/self-save-registry.js +29 -16
- package/lib/langium/workspace/self-save-registry.js.map +1 -0
- package/lib/langium/workspace/virtual-document.d.ts +48 -15
- package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
- package/lib/langium/workspace/virtual-document.js +78 -18
- package/lib/langium/workspace/virtual-document.js.map +1 -1
- package/lib/langium/workspace/write-lock-scope.d.ts +20 -10
- package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
- package/lib/langium/workspace/write-lock-scope.js +12 -4
- package/lib/langium/workspace/write-lock-scope.js.map +1 -1
- package/lib/locale/index.d.ts +10 -0
- package/lib/locale/index.d.ts.map +1 -0
- package/lib/locale/index.js +10 -0
- package/lib/locale/index.js.map +1 -0
- package/lib/locale/server-locale.d.ts +73 -0
- package/lib/locale/server-locale.d.ts.map +1 -0
- package/lib/locale/server-locale.js +61 -0
- package/lib/locale/server-locale.js.map +1 -0
- package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
- package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
- package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
- package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
- package/lib/lsp/connection-features.d.ts +23 -0
- package/lib/lsp/connection-features.d.ts.map +1 -0
- package/lib/lsp/connection-features.js +60 -0
- package/lib/lsp/connection-features.js.map +1 -0
- package/lib/lsp/diagnostics-connection.d.ts +27 -0
- package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
- package/lib/lsp/diagnostics-connection.js +53 -0
- package/lib/lsp/diagnostics-connection.js.map +1 -0
- package/lib/lsp/hydranium-document-update-handler.d.ts +92 -81
- package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
- package/lib/lsp/hydranium-document-update-handler.js +153 -99
- package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
- package/lib/lsp/index.d.ts +3 -1
- package/lib/lsp/index.d.ts.map +1 -1
- package/lib/lsp/index.js +3 -1
- package/lib/lsp/index.js.map +1 -1
- package/lib/lsp/lsp-latency.d.ts +39 -0
- package/lib/lsp/lsp-latency.d.ts.map +1 -0
- package/lib/lsp/lsp-latency.js +58 -0
- package/lib/lsp/lsp-latency.js.map +1 -0
- package/lib/lsp/semantic-token-provider.d.ts +34 -1
- package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
- package/lib/lsp/semantic-token-provider.js +55 -8
- package/lib/lsp/semantic-token-provider.js.map +1 -1
- package/lib/lsp/shared-module.d.ts +4 -8
- package/lib/lsp/shared-module.d.ts.map +1 -1
- package/lib/lsp/shared-module.js.map +1 -1
- package/lib/lsp/start-language-server.d.ts +8 -7
- package/lib/lsp/start-language-server.d.ts.map +1 -1
- package/lib/lsp/start-language-server.js +13 -7
- package/lib/lsp/start-language-server.js.map +1 -1
- package/lib/messages/carriers.d.ts +54 -0
- package/lib/messages/carriers.d.ts.map +1 -0
- package/lib/messages/carriers.js +62 -0
- package/lib/messages/carriers.js.map +1 -0
- package/lib/messages/index.d.ts +25 -0
- package/lib/messages/index.d.ts.map +1 -0
- package/lib/messages/index.js +25 -0
- package/lib/messages/index.js.map +1 -0
- package/lib/messages/renderer.d.ts +142 -0
- package/lib/messages/renderer.d.ts.map +1 -0
- package/lib/messages/renderer.js +165 -0
- package/lib/messages/renderer.js.map +1 -0
- package/lib/node/event-loop-monitor.js.map +1 -1
- package/lib/node/heap-ceiling.d.ts +61 -0
- package/lib/node/heap-ceiling.d.ts.map +1 -0
- package/lib/node/heap-ceiling.js +72 -0
- package/lib/node/heap-ceiling.js.map +1 -0
- package/lib/node/index.d.ts +1 -1
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +1 -1
- package/lib/node/index.js.map +1 -1
- package/lib/node/latency-from-env.d.ts +1 -1
- package/lib/node/latency-from-env.js +1 -1
- package/lib/node/lint-grammar.js.map +1 -1
- package/lib/node/measure-memory.d.ts.map +1 -1
- package/lib/node/measure-memory.js +1 -0
- package/lib/node/measure-memory.js.map +1 -1
- package/lib/node/memory-monitor.js.map +1 -1
- package/lib/node/node-file-system-provider.d.ts +41 -6
- package/lib/node/node-file-system-provider.d.ts.map +1 -1
- package/lib/node/node-file-system-provider.js +109 -49
- package/lib/node/node-file-system-provider.js.map +1 -1
- package/lib/node/profile-capture.d.ts +8 -2
- package/lib/node/profile-capture.d.ts.map +1 -1
- package/lib/node/profile-capture.js +1 -1
- package/lib/node/profile-capture.js.map +1 -1
- package/lib/node/profile-digest.js.map +1 -1
- package/lib/node/profiling-run.d.ts +13 -3
- package/lib/node/profiling-run.d.ts.map +1 -1
- package/lib/node/profiling-run.js +17 -8
- package/lib/node/profiling-run.js.map +1 -1
- package/lib/node/rename-over-open-readers.d.ts +52 -0
- package/lib/node/rename-over-open-readers.d.ts.map +1 -0
- package/lib/node/rename-over-open-readers.js +66 -0
- package/lib/node/rename-over-open-readers.js.map +1 -0
- package/lib/node/socket-launcher.d.ts +20 -4
- package/lib/node/socket-launcher.d.ts.map +1 -1
- package/lib/node/socket-launcher.js +5 -4
- package/lib/node/socket-launcher.js.map +1 -1
- package/lib/node/stdio-launcher.d.ts +6 -5
- package/lib/node/stdio-launcher.d.ts.map +1 -1
- package/lib/node/stdio-launcher.js +2 -2
- package/lib/node/stdio-launcher.js.map +1 -1
- package/lib/testing/document-uri-policy-conformance.js.map +1 -1
- package/lib/testing/fake-description.js.map +1 -1
- package/lib/testing/fake-document.d.ts +16 -4
- package/lib/testing/fake-document.d.ts.map +1 -1
- package/lib/testing/fake-document.js +18 -3
- package/lib/testing/fake-document.js.map +1 -1
- package/lib/testing/index.d.ts +1 -1
- package/lib/testing/index.d.ts.map +1 -1
- package/lib/testing/index.js +2 -1
- package/lib/testing/index.js.map +1 -1
- package/lib/testing/langium-test-helpers.d.ts.map +1 -1
- package/lib/testing/langium-test-helpers.js +1 -0
- package/lib/testing/langium-test-helpers.js.map +1 -1
- package/lib/testing/make-noop-language-services.js.map +1 -1
- package/lib/testing/make-noop-shared-services.d.ts +14 -0
- package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
- package/lib/testing/make-noop-shared-services.js +28 -2
- package/lib/testing/make-noop-shared-services.js.map +1 -1
- package/lib/testing/make-test-services.d.ts +72 -14
- package/lib/testing/make-test-services.d.ts.map +1 -1
- package/lib/testing/make-test-services.js +42 -10
- package/lib/testing/make-test-services.js.map +1 -1
- package/lib/testing/make-test-tracer.d.ts +12 -0
- package/lib/testing/make-test-tracer.d.ts.map +1 -1
- package/lib/testing/make-test-tracer.js +13 -0
- package/lib/testing/make-test-tracer.js.map +1 -1
- package/lib/testing/node/golden-corpus.js.map +1 -1
- package/lib/testing/node/index.d.ts +1 -0
- package/lib/testing/node/index.d.ts.map +1 -1
- package/lib/testing/node/index.js +1 -0
- package/lib/testing/node/index.js.map +1 -1
- package/lib/testing/node/lsp-harness.d.ts.map +1 -1
- package/lib/testing/node/lsp-harness.js +2 -0
- package/lib/testing/node/lsp-harness.js.map +1 -1
- package/lib/testing/node/lsp-server-connection.d.ts +11 -3
- package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
- package/lib/testing/node/lsp-server-connection.js +43 -10
- package/lib/testing/node/lsp-server-connection.js.map +1 -1
- package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
- package/lib/testing/node/scratch-workspace.js +10 -5
- package/lib/testing/node/scratch-workspace.js.map +1 -1
- package/lib/testing/node/spawned-server.d.ts +14 -0
- package/lib/testing/node/spawned-server.d.ts.map +1 -1
- package/lib/testing/node/spawned-server.js +34 -2
- package/lib/testing/node/spawned-server.js.map +1 -1
- package/lib/testing/node/unhandled-rejections.d.ts +20 -0
- package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
- package/lib/testing/node/unhandled-rejections.js +32 -0
- package/lib/testing/node/unhandled-rejections.js.map +1 -0
- package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
- package/lib/testing/playwright/e2e-profiling.js.map +1 -1
- package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
- package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
- package/lib/testing/playwright/flaky-network-proxy.js +164 -0
- package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
- package/lib/testing/playwright/index.d.ts +1 -0
- package/lib/testing/playwright/index.d.ts.map +1 -1
- package/lib/testing/playwright/index.js +1 -0
- package/lib/testing/playwright/index.js.map +1 -1
- package/lib/testing/playwright/server-log-capture.d.ts +24 -8
- package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-capture.js +27 -6
- package/lib/testing/playwright/server-log-capture.js.map +1 -1
- package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-rename-reporter.js +10 -1
- package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
- package/lib/testing/run-update-pipeline.d.ts +4 -4
- package/lib/testing/run-update-pipeline.d.ts.map +1 -1
- package/lib/testing/stub-ast-document-manager.d.ts +11 -52
- package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
- package/lib/testing/stub-ast-document-manager.js +24 -65
- package/lib/testing/stub-ast-document-manager.js.map +1 -1
- package/lib/testing/stub-document-builder.d.ts +26 -11
- package/lib/testing/stub-document-builder.d.ts.map +1 -1
- package/lib/testing/stub-document-builder.js +78 -5
- package/lib/testing/stub-document-builder.js.map +1 -1
- package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
- package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
- package/lib/testing/stub-hydranium-text-documents.js +115 -16
- package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
- package/lib/testing/stub-index-manager.js.map +1 -1
- package/lib/testing/stub-langium-documents.d.ts +3 -2
- package/lib/testing/stub-langium-documents.d.ts.map +1 -1
- package/lib/testing/stub-langium-documents.js.map +1 -1
- package/lib/testing/stub-model-service.d.ts +7 -6
- package/lib/testing/stub-model-service.d.ts.map +1 -1
- package/lib/testing/stub-model-service.js +4 -4
- package/lib/testing/stub-model-service.js.map +1 -1
- package/lib/testing/stub-project-manager.js.map +1 -1
- package/lib/testing/stub-self-save-registry.d.ts +1 -1
- package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
- package/lib/testing/stub-service-registry.d.ts +1 -1
- package/lib/testing/stub-service-registry.js.map +1 -1
- package/lib/testing/stub-writable-file-system.d.ts +1 -1
- package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
- package/lib/util/connection-liveness.d.ts +7 -6
- package/lib/util/connection-liveness.d.ts.map +1 -1
- package/lib/util/connection-liveness.js +35 -14
- package/lib/util/connection-liveness.js.map +1 -1
- package/lib/util/environment.d.ts.map +1 -1
- package/lib/util/environment.js.map +1 -1
- package/lib/util/registry.d.ts.map +1 -1
- package/package.json +32 -48
- package/src/documents/ast-document-manager.ts +379 -231
- package/src/documents/client-ids.ts +5 -22
- package/src/documents/client-session-errors.ts +24 -0
- package/src/documents/client-session-registry.ts +262 -0
- package/src/documents/dirty-state-tracker.ts +130 -0
- package/src/documents/document-release-handler.ts +365 -0
- package/src/documents/document-release-scheduler.ts +121 -0
- package/src/documents/file-system-task-queue.ts +68 -0
- package/src/documents/hydranium-text-documents.ts +931 -595
- package/src/documents/index.ts +10 -2
- package/src/documents/language-client-shadow.ts +451 -0
- package/src/documents/model-ledger.ts +66 -0
- package/src/documents/text-ledger.ts +112 -0
- package/src/documents/version-sync-service.ts +267 -0
- package/src/index.ts +8 -0
- package/src/langium/ast-extension/ast-node-builder.ts +66 -22
- package/src/langium/bootstrap.ts +66 -28
- package/src/langium/composite-ast-reflection.ts +112 -0
- package/src/langium/config/configuration-provider.ts +119 -0
- package/src/langium/config/index.ts +1 -0
- package/src/langium/diagnostics/logger.ts +12 -5
- package/src/langium/diagnostics/lsp-logger.ts +59 -15
- package/src/langium/document-builder/build-pipeline-integration.ts +50 -5
- package/src/langium/document-builder/build-session.ts +87 -0
- package/src/langium/document-builder/document-builder.ts +825 -59
- package/src/langium/document-builder/index.ts +1 -0
- package/src/langium/integration-services.ts +83 -24
- package/src/langium/integrity/integrity-rule.ts +16 -8
- package/src/langium/integrity/integrity-service.ts +287 -62
- package/src/langium/keys/containment.ts +87 -0
- package/src/langium/keys/index.ts +1 -0
- package/src/langium/keys/name-based-key-provider.ts +4 -0
- package/src/langium/language-module.ts +48 -7
- package/src/langium/model-service/client-session.ts +644 -0
- package/src/langium/model-service/index.ts +2 -0
- package/src/langium/model-service/model-events.ts +75 -0
- package/src/langium/model-service/model-service.ts +790 -468
- package/src/langium/module.ts +210 -64
- package/src/langium/naming/name-provider.ts +27 -5
- package/src/langium/naming/name-separator-validation.ts +34 -5
- package/src/langium/project/abstract-project-manager.ts +9 -1
- package/src/langium/project/project-change-event.ts +2 -2
- package/src/langium/residency/cst-residency-service.ts +46 -15
- package/src/langium/scope/hydranium-scope-provider.ts +60 -22
- package/src/langium/serialization/abstract-serializer.ts +13 -32
- package/src/langium/service-registry.ts +41 -2
- package/src/langium/shared-services.ts +27 -6
- package/src/langium/single-langium-copy.ts +42 -0
- package/src/langium/transfer/transfer-encoder.ts +104 -37
- package/src/langium/trivia/comment-preserver.ts +1100 -0
- package/src/langium/trivia/document-ending-preserver.ts +55 -0
- package/src/langium/trivia/index.ts +14 -0
- package/src/langium/trivia/trivia-contribution.ts +39 -0
- package/src/langium/trivia/trivia-preserver.ts +54 -0
- package/src/langium/trivia/trivia-service.ts +99 -0
- package/src/langium/update-rewrite/update-rewrite.ts +1 -1
- package/src/langium/validation/document-validator.ts +537 -11
- package/src/langium/validation/validation-contribution-collector.ts +10 -1
- package/src/langium/workspace/document-uri-policy.ts +18 -14
- package/src/langium/workspace/file-not-found.ts +35 -0
- package/src/langium/workspace/file-system-provider.ts +205 -17
- package/src/langium/workspace/hydranium-langium-document-factory.ts +117 -0
- package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
- package/src/langium/workspace/hydranium-workspace-manager.ts +154 -14
- package/src/langium/workspace/in-memory-file-system-provider.ts +48 -17
- package/src/langium/workspace/index.ts +1 -0
- package/src/langium/workspace/initialize-workspace.ts +43 -5
- package/src/langium/workspace/langium-documents.ts +124 -33
- package/src/langium/workspace/persistent-file-system-provider.ts +1 -8
- package/src/{documents → langium/workspace}/self-save-registry.ts +54 -15
- package/src/langium/workspace/virtual-document.ts +96 -19
- package/src/langium/workspace/write-lock-scope.ts +24 -11
- package/src/locale/index.ts +10 -0
- package/src/locale/server-locale.ts +86 -0
- package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
- package/src/lsp/connection-features.ts +67 -0
- package/src/lsp/diagnostics-connection.ts +56 -0
- package/src/lsp/hydranium-document-update-handler.ts +187 -108
- package/src/lsp/index.ts +3 -1
- package/src/lsp/lsp-latency.ts +62 -0
- package/src/lsp/semantic-token-provider.ts +74 -7
- package/src/lsp/shared-module.ts +4 -8
- package/src/lsp/start-language-server.ts +13 -7
- package/src/messages/carriers.ts +78 -0
- package/src/messages/index.ts +36 -0
- package/src/messages/renderer.ts +212 -0
- package/src/node/heap-ceiling.ts +108 -0
- package/src/node/index.ts +1 -1
- package/src/node/latency-from-env.ts +1 -1
- package/src/node/measure-memory.ts +1 -0
- package/src/node/node-file-system-provider.ts +124 -53
- package/src/node/profile-capture.ts +9 -3
- package/src/node/profiling-run.ts +30 -8
- package/src/node/rename-over-open-readers.ts +78 -0
- package/src/node/socket-launcher.ts +24 -8
- package/src/node/stdio-launcher.ts +8 -7
- package/src/testing/fake-document.ts +24 -5
- package/src/testing/index.ts +2 -1
- package/src/testing/langium-test-helpers.ts +1 -0
- package/src/testing/make-noop-shared-services.ts +50 -2
- package/src/testing/make-test-services.ts +125 -31
- package/src/testing/make-test-tracer.ts +26 -0
- package/src/testing/node/index.ts +1 -0
- package/src/testing/node/lsp-harness.ts +2 -0
- package/src/testing/node/lsp-server-connection.ts +66 -12
- package/src/testing/node/scratch-workspace.ts +10 -5
- package/src/testing/node/spawned-server.ts +36 -2
- package/src/testing/node/unhandled-rejections.ts +31 -0
- package/src/testing/parse-semantic-root.ts +1 -1
- package/src/testing/playwright/flaky-network-proxy.ts +240 -0
- package/src/testing/playwright/index.ts +1 -0
- package/src/testing/playwright/server-log-capture.ts +45 -11
- package/src/testing/playwright/server-log-rename-reporter.ts +12 -1
- package/src/testing/run-update-pipeline.ts +4 -4
- package/src/testing/stub-ast-document-manager.ts +36 -138
- package/src/testing/stub-document-builder.ts +102 -18
- package/src/testing/stub-hydranium-text-documents.ts +165 -27
- package/src/testing/stub-langium-documents.ts +3 -2
- package/src/testing/stub-model-service.ts +9 -8
- package/src/testing/stub-self-save-registry.ts +1 -1
- package/src/testing/stub-service-registry.ts +1 -1
- package/src/testing/stub-writable-file-system.ts +1 -1
- package/src/util/connection-liveness.ts +37 -14
- package/src/util/environment.ts +9 -1
- package/lib/documents/language-client-text-shadow.d.ts +0 -101
- package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
- package/lib/documents/language-client-text-shadow.js +0 -156
- package/lib/documents/language-client-text-shadow.js.map +0 -1
- package/lib/documents/self-save-registry.d.ts.map +0 -1
- package/lib/documents/self-save-registry.js.map +0 -1
- package/lib/lsp/instrument-connection.d.ts +0 -36
- package/lib/lsp/instrument-connection.d.ts.map +0 -1
- package/lib/lsp/instrument-connection.js +0 -62
- package/lib/lsp/instrument-connection.js.map +0 -1
- package/lib/node/process-memory.d.ts +0 -66
- package/lib/node/process-memory.d.ts.map +0 -1
- package/lib/node/process-memory.js +0 -252
- package/lib/node/process-memory.js.map +0 -1
- package/src/documents/language-client-text-shadow.ts +0 -175
- package/src/lsp/instrument-connection.ts +0 -66
- package/src/node/process-memory.ts +0 -299
|
@@ -96,30 +96,33 @@ export declare const DEFAULT_EAGER_SERVICES: ReadonlyArray<(services: ServerShar
|
|
|
96
96
|
* discarded.
|
|
97
97
|
*
|
|
98
98
|
* Bootstrap responsibilities, in order:
|
|
99
|
-
* 1.
|
|
99
|
+
* 1. {@link assertSingleLangiumCopy} — fail fast when the shared
|
|
100
|
+
* `AstReflection` is built on a second copy of `langium`, before any
|
|
101
|
+
* later check can fail first and name the wrong cause.
|
|
102
|
+
* 2. Hand the shared services to `shared.ServiceRegistry` if it accepts
|
|
100
103
|
* them after construction, so Langium's declared-languageId lookup
|
|
101
104
|
* rung works however the adopter's registry binding was built.
|
|
102
|
-
*
|
|
105
|
+
* 3. {@link assertDistinctFileRouting} — before registration, because
|
|
103
106
|
* `register` resolves a routing collision by last-wins and afterwards
|
|
104
107
|
* the evidence is gone.
|
|
105
|
-
*
|
|
108
|
+
* 4. Register `language` against `shared.ServiceRegistry`, the
|
|
106
109
|
* required final step of any Langium DI bootstrap. Done before slot
|
|
107
110
|
* validation so subclassed registries (typed-accessor extensions)
|
|
108
111
|
* populate any side state before validation walks construct services
|
|
109
112
|
* that read from the registry.
|
|
110
|
-
*
|
|
113
|
+
* 5. {@link assertCoreSlotsBound} — fail fast if the consumer's
|
|
111
114
|
* `inject(...)` composition is missing a `@hydranium/core` module. May
|
|
112
115
|
* trigger lazy service construction as side effect of walking the
|
|
113
116
|
* slots; that construction expects a populated `ServiceRegistry`,
|
|
114
117
|
* hence the order.
|
|
115
|
-
*
|
|
118
|
+
* 6. {@link warnOnUnexpectedBindings} — opt-in (gated by
|
|
116
119
|
* {@link STRICT_BINDINGS_ENV}); warns when a framework slot is bound
|
|
117
120
|
* to a non-subclass of its framework base. No-op unless the env is set.
|
|
118
|
-
*
|
|
121
|
+
* 7. {@link assertReflectionCoversLanguages} — catch a clobbered shared
|
|
119
122
|
* `AstReflection` before it starts silently answering `isSubtype`
|
|
120
123
|
* false for a registered language's types. Skipped here, since a lone
|
|
121
124
|
* language has no sibling that could clobber it.
|
|
122
|
-
*
|
|
125
|
+
* 8. Invoke eager-construction accessors in array order.
|
|
123
126
|
*
|
|
124
127
|
* Multi-grammar adopters use {@link bootstrapLangiumLanguages}, which
|
|
125
128
|
* registers every language before validating slots or constructing the
|
|
@@ -139,16 +142,20 @@ export declare function bootstrapLangium<TShared extends LangiumSharedServices &
|
|
|
139
142
|
* ORDER across languages is what makes this a distinct function rather
|
|
140
143
|
* than a loop the caller could write:
|
|
141
144
|
*
|
|
142
|
-
* 1.
|
|
143
|
-
*
|
|
145
|
+
* 1. {@link assertSingleLangiumCopy} runs **once**, before anything else,
|
|
146
|
+
* since every language shares the one `AstReflection`.
|
|
147
|
+
* 2. **Every** language is registered against `shared.ServiceRegistry`
|
|
148
|
+
* next. Slot validation and eager construction both build services
|
|
144
149
|
* that read the registry — a per-language
|
|
145
150
|
* register-then-validate-then-eager loop would run them while later
|
|
146
151
|
* languages were still missing, so a shared service that walks
|
|
147
152
|
* `ServiceRegistry.all` (or resolves by extension) would see a
|
|
148
153
|
* half-populated registry and cache the wrong answer.
|
|
149
|
-
*
|
|
154
|
+
* 3. `assertCoreSlotsBound` / `warnOnUnexpectedBindings` per language —
|
|
150
155
|
* each language composes its own module chain, so each is checked.
|
|
151
|
-
*
|
|
156
|
+
* 4. {@link assertReflectionCoversLanguages} runs **once**, on the one
|
|
157
|
+
* shared `AstReflection`.
|
|
158
|
+
* 5. Eager accessors run **once**, after all registrations. They take
|
|
152
159
|
* the shared tier, and the framework's eager set is shared-tier only
|
|
153
160
|
* (`ProjectManager`, `BuildPipelineIntegration`, `LangiumProfiler`,
|
|
154
161
|
* `CstResidencyService`) — `BuildPipelineIntegration` in particular
|
|
@@ -203,11 +210,11 @@ export declare function assertDistinctFileRouting(languages: ReadonlyArray<Langi
|
|
|
203
210
|
*
|
|
204
211
|
* The check is per language, on the types its grammar can produce, and costs
|
|
205
212
|
* one grammar walk per language at boot; a single-language composition, which
|
|
206
|
-
* nothing can clobber, is skipped entirely. It cannot repair the situation
|
|
207
|
-
* reflection
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
213
|
+
* nothing can clobber, is skipped entirely. It cannot repair the situation, since
|
|
214
|
+
* the losing reflection is already gone; the point is to turn a silent runtime
|
|
215
|
+
* misbehaviour into a boot failure that names the language and the mistake. The
|
|
216
|
+
* repair is the adopter's: bind a `CompositeAstReflection` over every package's
|
|
217
|
+
* generated reflection, or generate all grammars in one `langium-cli` run.
|
|
211
218
|
*
|
|
212
219
|
* **Two severities, because a clobber is not always total.** Throwing only when
|
|
213
220
|
* NONE of a language's types are known misses the realistic case: two grammars
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/langium/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/langium/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAyHxE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAanG;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAiG/D;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAiBvG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,CAAC,QAAQ,EAAE,2BAA2B,KAAK,OAAO,CAKpG,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,qBAAqB,GAAG,2BAA2B,EAAE,KAAK,SAAS,eAAe,EAChI,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,KAAK,EACf,0BAA0B,GAAE,aAAa,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAA0B,GAClG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,CAGtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,yBAAyB,CACtC,OAAO,SAAS,qBAAqB,GAAG,2BAA2B,EACnE,KAAK,SAAS,eAAe,EAE7B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,EAC/B,0BAA0B,GAAE,aAAa,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAA0B,GAClG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;CAAE,CAsCtD;AAYD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,CA+BzF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,CAkC9H"}
|
package/lib/langium/bootstrap.js
CHANGED
|
@@ -7,15 +7,18 @@
|
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
9
|
import { collectProducibleTypes } from './language-types.js';
|
|
10
|
-
import {
|
|
10
|
+
import { assertSingleLangiumCopy } from './single-langium-copy.js';
|
|
11
|
+
import { DefaultAstDocumentManager } from '../documents/ast-document-manager.js';
|
|
11
12
|
import { HydraniumTextDocuments } from '../documents/hydranium-text-documents.js';
|
|
12
|
-
import {
|
|
13
|
+
import { DefaultBuildPipelineIntegration } from './document-builder/build-pipeline-integration.js';
|
|
13
14
|
import { HydraniumDocumentBuilder } from './document-builder/document-builder.js';
|
|
14
|
-
import {
|
|
15
|
+
import { DefaultModelService } from './model-service/model-service.js';
|
|
15
16
|
import { HydraniumScopeComputation } from './scope/hydranium-scope-computation.js';
|
|
16
17
|
import { HydraniumScopeProvider } from './scope/hydranium-scope-provider.js';
|
|
17
18
|
import { processEnv } from '../util/environment.js';
|
|
18
|
-
import {
|
|
19
|
+
import { DefaultTransferEncoder } from './transfer/transfer-encoder.js';
|
|
20
|
+
import { HydraniumLangiumDocumentFactory } from './workspace/hydranium-langium-document-factory.js';
|
|
21
|
+
import { HydraniumLangiumDocuments } from './workspace/langium-documents.js';
|
|
19
22
|
import { HydraniumWorkspaceManager } from './workspace/hydranium-workspace-manager.js';
|
|
20
23
|
function nested(services, ...keys) {
|
|
21
24
|
let current = services;
|
|
@@ -46,7 +49,14 @@ const EXPECTED_SHARED_SLOTS = [
|
|
|
46
49
|
side: 'shared',
|
|
47
50
|
path: 'workspace.BuildPipelineIntegration',
|
|
48
51
|
get: services => nested(services, 'workspace', 'BuildPipelineIntegration')
|
|
49
|
-
}
|
|
52
|
+
},
|
|
53
|
+
// Unbound, this fails where the cause is least visible: the render pass runs
|
|
54
|
+
// inside the `Validated` phase, so a `TypeError` there propagates out of
|
|
55
|
+
// `notifyDocumentPhase` and the document reaches `Validated` with Langium's
|
|
56
|
+
// publisher never invoked — the client receives no diagnostics for the file
|
|
57
|
+
// and the stack names the document builder.
|
|
58
|
+
{ side: 'shared', path: 'MessageRenderer', get: services => nested(services, 'MessageRenderer') },
|
|
59
|
+
{ side: 'shared', path: 'ServerLocale', get: services => nested(services, 'ServerLocale') }
|
|
50
60
|
];
|
|
51
61
|
/**
|
|
52
62
|
* Language-side slots bound by `createServerLanguageModule`. If any
|
|
@@ -129,6 +139,20 @@ export function assertCoreSlotsBound(shared, language) {
|
|
|
129
139
|
export const STRICT_BINDINGS_ENV = 'HYDRANIUM_STRICT_BINDINGS';
|
|
130
140
|
const STRICT_SHARED_SLOTS = [
|
|
131
141
|
{ side: 'shared', path: 'workspace.TextDocuments', base: HydraniumTextDocuments, get: s => nested(s, 'workspace', 'TextDocuments') },
|
|
142
|
+
// Every root it builds records no version, so every write gated on one conflicts.
|
|
143
|
+
{
|
|
144
|
+
side: 'shared',
|
|
145
|
+
path: 'workspace.LangiumDocumentFactory',
|
|
146
|
+
base: HydraniumLangiumDocumentFactory,
|
|
147
|
+
get: s => nested(s, 'workspace', 'LangiumDocumentFactory')
|
|
148
|
+
},
|
|
149
|
+
// It reports no registered root, so none is reconciled with the text store or announced.
|
|
150
|
+
{
|
|
151
|
+
side: 'shared',
|
|
152
|
+
path: 'workspace.LangiumDocuments',
|
|
153
|
+
base: HydraniumLangiumDocuments,
|
|
154
|
+
get: s => nested(s, 'workspace', 'LangiumDocuments')
|
|
155
|
+
},
|
|
132
156
|
{
|
|
133
157
|
side: 'shared',
|
|
134
158
|
path: 'workspace.WorkspaceManager',
|
|
@@ -144,17 +168,17 @@ const STRICT_SHARED_SLOTS = [
|
|
|
144
168
|
{
|
|
145
169
|
side: 'shared',
|
|
146
170
|
path: 'workspace.AstDocumentManager',
|
|
147
|
-
base:
|
|
171
|
+
base: DefaultAstDocumentManager,
|
|
148
172
|
get: s => nested(s, 'workspace', 'AstDocumentManager')
|
|
149
173
|
},
|
|
150
174
|
{
|
|
151
175
|
side: 'shared',
|
|
152
176
|
path: 'workspace.BuildPipelineIntegration',
|
|
153
|
-
base:
|
|
177
|
+
base: DefaultBuildPipelineIntegration,
|
|
154
178
|
get: s => nested(s, 'workspace', 'BuildPipelineIntegration')
|
|
155
179
|
},
|
|
156
|
-
{ side: 'shared', path: 'model.TransferEncoder', base:
|
|
157
|
-
{ side: 'shared', path: 'model.ModelService', base:
|
|
180
|
+
{ side: 'shared', path: 'model.TransferEncoder', base: DefaultTransferEncoder, get: s => nested(s, 'model', 'TransferEncoder') },
|
|
181
|
+
{ side: 'shared', path: 'model.ModelService', base: DefaultModelService, get: s => nested(s, 'model', 'ModelService') }
|
|
158
182
|
];
|
|
159
183
|
const STRICT_LANGUAGE_SLOTS = [
|
|
160
184
|
{
|
|
@@ -268,30 +292,33 @@ export const DEFAULT_EAGER_SERVICES = [
|
|
|
268
292
|
* discarded.
|
|
269
293
|
*
|
|
270
294
|
* Bootstrap responsibilities, in order:
|
|
271
|
-
* 1.
|
|
295
|
+
* 1. {@link assertSingleLangiumCopy} — fail fast when the shared
|
|
296
|
+
* `AstReflection` is built on a second copy of `langium`, before any
|
|
297
|
+
* later check can fail first and name the wrong cause.
|
|
298
|
+
* 2. Hand the shared services to `shared.ServiceRegistry` if it accepts
|
|
272
299
|
* them after construction, so Langium's declared-languageId lookup
|
|
273
300
|
* rung works however the adopter's registry binding was built.
|
|
274
|
-
*
|
|
301
|
+
* 3. {@link assertDistinctFileRouting} — before registration, because
|
|
275
302
|
* `register` resolves a routing collision by last-wins and afterwards
|
|
276
303
|
* the evidence is gone.
|
|
277
|
-
*
|
|
304
|
+
* 4. Register `language` against `shared.ServiceRegistry`, the
|
|
278
305
|
* required final step of any Langium DI bootstrap. Done before slot
|
|
279
306
|
* validation so subclassed registries (typed-accessor extensions)
|
|
280
307
|
* populate any side state before validation walks construct services
|
|
281
308
|
* that read from the registry.
|
|
282
|
-
*
|
|
309
|
+
* 5. {@link assertCoreSlotsBound} — fail fast if the consumer's
|
|
283
310
|
* `inject(...)` composition is missing a `@hydranium/core` module. May
|
|
284
311
|
* trigger lazy service construction as side effect of walking the
|
|
285
312
|
* slots; that construction expects a populated `ServiceRegistry`,
|
|
286
313
|
* hence the order.
|
|
287
|
-
*
|
|
314
|
+
* 6. {@link warnOnUnexpectedBindings} — opt-in (gated by
|
|
288
315
|
* {@link STRICT_BINDINGS_ENV}); warns when a framework slot is bound
|
|
289
316
|
* to a non-subclass of its framework base. No-op unless the env is set.
|
|
290
|
-
*
|
|
317
|
+
* 7. {@link assertReflectionCoversLanguages} — catch a clobbered shared
|
|
291
318
|
* `AstReflection` before it starts silently answering `isSubtype`
|
|
292
319
|
* false for a registered language's types. Skipped here, since a lone
|
|
293
320
|
* language has no sibling that could clobber it.
|
|
294
|
-
*
|
|
321
|
+
* 8. Invoke eager-construction accessors in array order.
|
|
295
322
|
*
|
|
296
323
|
* Multi-grammar adopters use {@link bootstrapLangiumLanguages}, which
|
|
297
324
|
* registers every language before validating slots or constructing the
|
|
@@ -311,16 +338,20 @@ export function bootstrapLangium(shared, language, eagerlyConstructedServices =
|
|
|
311
338
|
* ORDER across languages is what makes this a distinct function rather
|
|
312
339
|
* than a loop the caller could write:
|
|
313
340
|
*
|
|
314
|
-
* 1.
|
|
315
|
-
*
|
|
341
|
+
* 1. {@link assertSingleLangiumCopy} runs **once**, before anything else,
|
|
342
|
+
* since every language shares the one `AstReflection`.
|
|
343
|
+
* 2. **Every** language is registered against `shared.ServiceRegistry`
|
|
344
|
+
* next. Slot validation and eager construction both build services
|
|
316
345
|
* that read the registry — a per-language
|
|
317
346
|
* register-then-validate-then-eager loop would run them while later
|
|
318
347
|
* languages were still missing, so a shared service that walks
|
|
319
348
|
* `ServiceRegistry.all` (or resolves by extension) would see a
|
|
320
349
|
* half-populated registry and cache the wrong answer.
|
|
321
|
-
*
|
|
350
|
+
* 3. `assertCoreSlotsBound` / `warnOnUnexpectedBindings` per language —
|
|
322
351
|
* each language composes its own module chain, so each is checked.
|
|
323
|
-
*
|
|
352
|
+
* 4. {@link assertReflectionCoversLanguages} runs **once**, on the one
|
|
353
|
+
* shared `AstReflection`.
|
|
354
|
+
* 5. Eager accessors run **once**, after all registrations. They take
|
|
324
355
|
* the shared tier, and the framework's eager set is shared-tier only
|
|
325
356
|
* (`ProjectManager`, `BuildPipelineIntegration`, `LangiumProfiler`,
|
|
326
357
|
* `CstResidencyService`) — `BuildPipelineIntegration` in particular
|
|
@@ -339,6 +370,11 @@ export function bootstrapLangiumLanguages(shared, languages, eagerlyConstructedS
|
|
|
339
370
|
'registered language cannot validate its slots. Pass the language(s) produced by your ' +
|
|
340
371
|
'`inject(...)` composition.');
|
|
341
372
|
}
|
|
373
|
+
// First, because a second copy of `langium` can make a later check fail
|
|
374
|
+
// first and name the wrong cause.
|
|
375
|
+
if (shared.AstReflection) {
|
|
376
|
+
assertSingleLangiumCopy(shared.AstReflection);
|
|
377
|
+
}
|
|
342
378
|
// Back-fill the shared services onto a registry that was constructed
|
|
343
379
|
// without them, so Langium's declared-languageId lookup rung works no
|
|
344
380
|
// matter how the adopter's `ServiceRegistry` binding built it. An adopter
|
|
@@ -441,11 +477,11 @@ export function assertDistinctFileRouting(languages) {
|
|
|
441
477
|
*
|
|
442
478
|
* The check is per language, on the types its grammar can produce, and costs
|
|
443
479
|
* one grammar walk per language at boot; a single-language composition, which
|
|
444
|
-
* nothing can clobber, is skipped entirely. It cannot repair the situation
|
|
445
|
-
* reflection
|
|
446
|
-
*
|
|
447
|
-
*
|
|
448
|
-
*
|
|
480
|
+
* nothing can clobber, is skipped entirely. It cannot repair the situation, since
|
|
481
|
+
* the losing reflection is already gone; the point is to turn a silent runtime
|
|
482
|
+
* misbehaviour into a boot failure that names the language and the mistake. The
|
|
483
|
+
* repair is the adopter's: bind a `CompositeAstReflection` over every package's
|
|
484
|
+
* generated reflection, or generate all grammars in one `langium-cli` run.
|
|
449
485
|
*
|
|
450
486
|
* **Two severities, because a clobber is not always total.** Throwing only when
|
|
451
487
|
* NONE of a language's types are known misses the realistic case: two grammars
|
|
@@ -486,8 +522,9 @@ export function assertReflectionCoversLanguages(shared, languages) {
|
|
|
486
522
|
throw new Error(`[hydranium] the shared AstReflection knows NONE of the ${produced.size} types the language ` +
|
|
487
523
|
`'${languageId}' can produce (e.g. ${missing.slice(0, 3).join(', ')}). ` +
|
|
488
524
|
'AstReflection is a single shared slot, so composing two independently generated language ' +
|
|
489
|
-
|
|
490
|
-
'
|
|
525
|
+
"packages leaves only the last one bound. Bind a CompositeAstReflection over every package's " +
|
|
526
|
+
'generated reflection, or generate all grammars in ONE langium-cli run (one langium-config with ' +
|
|
527
|
+
'several entry grammars) so a single combined reflection covers them all.');
|
|
491
528
|
}
|
|
492
529
|
}
|
|
493
530
|
/** Maximum missing type names spelled out before the message elides the rest. */
|
|
@@ -500,7 +537,8 @@ function warnPartialReflectionCoverage(logger, languageId, missing, producedCoun
|
|
|
500
537
|
'For those types `isSubtype` answers false and `getTypeMetaData` is empty, so `IndexManager.allElements` ' +
|
|
501
538
|
'finds nothing, reference routing misses, and the encoder emits nothing. Most likely two independently ' +
|
|
502
539
|
'generated language packages each bound the single shared AstReflection slot and the last one won — ' +
|
|
503
|
-
|
|
540
|
+
"bind a CompositeAstReflection over every package's generated reflection, or generate all grammars in " +
|
|
541
|
+
'ONE langium-cli run so a single combined reflection covers them. If instead ' +
|
|
504
542
|
'these are rules your generator legitimately folded away, this warning is expected.';
|
|
505
543
|
if (logger) {
|
|
506
544
|
logger.warn(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/langium/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAMlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAsBvF,SAAS,MAAM,CAAC,QAAiC,EAAE,GAAG,IAAuB;IAC1E,IAAI,OAAO,GAAY,QAAQ,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,SAAS,CAAC;QACpB,CAAC;QACD,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAA4B;IACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;IAC/E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE;IAChH,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAAE;IAC1H,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE;IACtH,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAAE;IAC1H,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE;IACpH,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,oBAAoB,CAAC,EAAE;IAC9H;QACG,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,oCAAoC;QAC1C,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,0BAA0B,CAAC;KAC5E;CACH,CAAC;AAEF;;;;;GAKG;AACH,MAAM,uBAAuB,GAA4B;IACtD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,6BAA6B,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAAE;IAC9H,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE;IACxH,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE;IAClI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE;IACtH,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE;CACpH,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;wDAoB+B,CAAC;AAEzD,SAAS,YAAY,CAAC,IAAkB;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,iCAAiC,CAAC;IAC7G,OAAO,0BAA0B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;;uBAEnC,OAAO;;EAE5B,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA6B,EAAE,QAAyB;IAC1F,MAAM,UAAU,GAAG,MAA4C,CAAC;IAChE,MAAM,YAAY,GAAG,QAA8C,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;IACJ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAwB/D,MAAM,mBAAmB,GAA0B;IAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE;IACpI;QACG,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,yBAAyB;QAC/B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC;KACtD;IACD;QACG,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,wBAAwB;QAC9B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC;KACrD;IACD;QACG,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,CAAC;KACxD;IACD;QACG,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,oCAAoC;QAC1C,IAAI,EAAE,wBAAwB;QAC9B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,0BAA0B,CAAC;KAC9D;IACD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE;IACzH,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE;CAClH,CAAC;AAEF,MAAM,qBAAqB,GAA0B;IAClD;QACG,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,yBAAyB;QAC/B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,kBAAkB,CAAC;KACvD;IACD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE;CAC1I,CAAC;AAEF,SAAS,qBAAqB;IAC3B,MAAM,KAAK,GAAG,UAAU,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IACjE,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC;AACjF,CAAC;AAED,SAAS,aAAa,CAAC,MAA0B,EAAE,IAAgB,EAAE,MAAc;IAChF,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,aAAa,CAAC;IAC7D,MAAM,OAAO,GACV,kCAAkC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,oBAAoB,UAAU,MAAM;QAC5F,8CAA8C,IAAI,CAAC,IAAI,CAAC,IAAI,8BAA8B;QAC1F,oDAAoD,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe;QACjF,KAAK,mBAAmB,gBAAgB,CAAC;IAC5C,IAAI,MAAM,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACL,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA6B,EAAE,QAAyB;IAC9F,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC5B,OAAO;IACV,CAAC;IACD,MAAM,UAAU,GAAG,MAA4C,CAAC;IAChE,MAAM,YAAY,GAAG,QAA8C,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAuB,CAAC;IAClE,MAAM,KAAK,GAAG,CAAC,IAA6B,EAAE,KAA4B,EAAQ,EAAE;QACjF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChF,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACJ,CAAC;IACJ,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACvC,KAAK,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsE;IACtG,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc;IAC7C,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,wBAAwB;IACvD,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe;IAC9C,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,mBAAmB;CACpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,UAAU,gBAAgB,CAC7B,MAAe,EACf,QAAe,EACf,6BAA4E,sBAAsB;IAElG,yBAAyB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAC1E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,yBAAyB,CAItC,MAAe,EACf,SAA+B,EAC/B,6BAA4E,sBAAsB;IAElG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACZ,+FAA+F;YAC5F,uFAAuF;YACvF,4BAA4B,CACjC,CAAC;IACL,CAAC;IACD,qEAAqE;IACrE,sEAAsE;IACtE,0EAA0E;IAC1E,mEAAmE;IACnE,kEAAkE;IAClE,mEAAmE;IACnE,oDAAoD;IACpD,IAAI,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IACD,oEAAoE;IACpE,uEAAuE;IACvE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAChC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,MAAM,QAAQ,IAAI,0BAA0B,EAAE,CAAC;QACjD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,QAAiB;IAC7C,OAAO,OAAQ,QAAsD,EAAE,oBAAoB,KAAK,UAAU,CAAC;AAC9G,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAyC;IAChF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,UAAkB,EAAQ,EAAE;QACnE,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACZ,uDAAuD,IAAI,KAAK,GAAG,OAAO,QAAQ,UAAU,UAAU,KAAK;gBACxG,sGAAsG;gBACtG,iGAAiG;gBACjG,YAAY,IAAI,yBAAyB,CAC9C,CAAC;QACL,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACb,oEAAoE;YACpE,sEAAsE;YACtE,qEAAqE;YACrE,SAAS;QACZ,CAAC;QACD,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/D,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC/C,KAAK,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC/C,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;IACJ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAA6B,EAAE,SAAyC;IACrH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,+DAA+D;QAC/D,OAAO;IACV,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,aAAa,EAAE,WAAW,KAAK,UAAU,EAAE,CAAC;QAC3D,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,4CAA4C;QAC5C,OAAO;IACV,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4C,EAAE,QAAQ,CAAuB,CAAC;IACpG,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,SAAS;QACZ,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxD,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,6BAA6B,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,SAAS;QACZ,CAAC;QACD,MAAM,IAAI,KAAK,CACZ,0DAA0D,QAAQ,CAAC,IAAI,sBAAsB;YAC1F,IAAI,UAAU,uBAAuB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACxE,2FAA2F;YAC3F,6FAA6F;YAC7F,8FAA8F,CACnG,CAAC;IACL,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,SAAS,6BAA6B,CACnC,MAA0B,EAC1B,UAAkB,EAClB,OAA0B,EAC1B,aAAqB;IAErB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,0BAA0B,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,MAAM,GAAG,0BAA0B,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9H,MAAM,OAAO,GACV,mDAAmD,OAAO,CAAC,MAAM,WAAW,aAAa,aAAa;QACtG,aAAa,UAAU,kBAAkB,KAAK,GAAG,MAAM,IAAI;QAC3D,0GAA0G;QAC1G,wGAAwG;QACxG,qGAAqG;QACrG,uGAAuG;QACvG,oFAAoF,CAAC;IACxF,IAAI,MAAM,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACL,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/langium/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-phase-pass-service.d.ts","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEzF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IAClE;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxH;AAED,qEAAqE;AACrE,MAAM,MAAM,4BAA4B,GAAG,cAAc,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IACvE,SAAS,CAAC,QAAQ,CAAC,MAAM,2BAAkC;IAC3D,kHAAkH;IAClH,SAAS,CAAC,YAAY,gDAAuD;IAC7E,SAAS,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,CAAC;IAEjE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"build-phase-pass-service.d.ts","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEzF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IAClE;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxH;AAED,qEAAqE;AACrE,MAAM,MAAM,4BAA4B,GAAG,cAAc,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IACvE,SAAS,CAAC,QAAQ,CAAC,MAAM,2BAAkC;IAC3D,kHAAkH;IAClH,SAAS,CAAC,YAAY,gDAAuD;IAC7E,SAAS,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,CAAC;IAEjE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,YAAY,QAAQ,EAAE,oBAAoB,EAAE,OAAO,GAAE,4BAAiC,EAWrF;IAED,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,CAEzC;IAEK,SAAS,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1H;IAED;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,cAAc,EAAE,CAgBxE;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-phase-pass-service.js","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AA+BlD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,4BAA4B;IACnB,MAAM,GAAG,IAAI,QAAQ,EAAkB,CAAC;IAC3D,kHAAkH;IACxG,YAAY,GAAG,IAAI,GAAG,EAA4C,CAAC;IACnE,eAAe,CAAwC;IAE9C,MAAM,CAAS;IAElC,YAAY,QAA8B,EAAE,
|
|
1
|
+
{"version":3,"file":"build-phase-pass-service.js","sourceRoot":"","sources":["../../../src/langium/build-phase-pass/build-phase-pass-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { AbstractAstReflection, type AstMetaData, type AstReflection, type PropertyMetaData, type TypeMetaData } from '@hydranium/langium';
|
|
10
|
+
/**
|
|
11
|
+
* One `AstReflection` over the reflections of separately generated language
|
|
12
|
+
* packages. The shared `AstReflection` slot holds a single reflection, so
|
|
13
|
+
* binding each package's generated shared module keeps only the last one's
|
|
14
|
+
* types; bind this over all of them instead.
|
|
15
|
+
*
|
|
16
|
+
* A name several reflections share is taken to be one type, reached through a
|
|
17
|
+
* shared imported grammar, and keeps every super type any of them gives it:
|
|
18
|
+
* each grammar may declare its own union over the type. Only properties that
|
|
19
|
+
* differ in name, reference type or default value throw; two unrelated unions,
|
|
20
|
+
* or same-shaped interfaces, that share a name merge silently, so keep other
|
|
21
|
+
* type names distinct across packages.
|
|
22
|
+
*
|
|
23
|
+
* Only each reflection's `types` is read, so behaviour a reflection overrides
|
|
24
|
+
* is lost. Each package's generated `isX` guards keep using that package's own
|
|
25
|
+
* reflection and answer false for subtypes only another package declares.
|
|
26
|
+
*
|
|
27
|
+
* Each reflection is checked with {@link assertSingleLangiumCopy}, because the
|
|
28
|
+
* composite itself extends the framework copy's base whichever copy they use.
|
|
29
|
+
*
|
|
30
|
+
* The protected merge methods run from the constructor, so an override cannot
|
|
31
|
+
* read its own class's fields.
|
|
32
|
+
*/
|
|
33
|
+
export declare class CompositeAstReflection extends AbstractAstReflection {
|
|
34
|
+
readonly types: AstMetaData;
|
|
35
|
+
constructor(reflections: readonly AstReflection[]);
|
|
36
|
+
protected mergeTypeMetaData(known: TypeMetaData, added: TypeMetaData, knownFrom: string, addedFrom: string): TypeMetaData;
|
|
37
|
+
protected sameProperty(left: PropertyMetaData, right: PropertyMetaData): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Names `reflections[index]` for the composite's errors: its position and
|
|
40
|
+
* class name. The position is needed because minified bundles and scaffolds
|
|
41
|
+
* sharing a project name leave class names that do not tell reflections
|
|
42
|
+
* apart. An override can name the package each reflection came from.
|
|
43
|
+
*/
|
|
44
|
+
protected formatReflection(reflections: readonly AstReflection[], index: number): string;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=composite-ast-reflection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-ast-reflection.d.ts","sourceRoot":"","sources":["../../src/langium/composite-ast-reflection.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG3I;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,sBAAuB,SAAQ,qBAAqB;IAC9D,SAAkB,KAAK,EAAE,WAAW,CAAM;IAE1C,YAAY,WAAW,EAAE,SAAS,aAAa,EAAE,EAoBhD;IAED,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAuBxH;IAED,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE/E;IAED;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;CACH"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { AbstractAstReflection } from '@hydranium/langium';
|
|
10
|
+
import { assertSingleLangiumCopy } from './single-langium-copy.js';
|
|
11
|
+
/**
|
|
12
|
+
* One `AstReflection` over the reflections of separately generated language
|
|
13
|
+
* packages. The shared `AstReflection` slot holds a single reflection, so
|
|
14
|
+
* binding each package's generated shared module keeps only the last one's
|
|
15
|
+
* types; bind this over all of them instead.
|
|
16
|
+
*
|
|
17
|
+
* A name several reflections share is taken to be one type, reached through a
|
|
18
|
+
* shared imported grammar, and keeps every super type any of them gives it:
|
|
19
|
+
* each grammar may declare its own union over the type. Only properties that
|
|
20
|
+
* differ in name, reference type or default value throw; two unrelated unions,
|
|
21
|
+
* or same-shaped interfaces, that share a name merge silently, so keep other
|
|
22
|
+
* type names distinct across packages.
|
|
23
|
+
*
|
|
24
|
+
* Only each reflection's `types` is read, so behaviour a reflection overrides
|
|
25
|
+
* is lost. Each package's generated `isX` guards keep using that package's own
|
|
26
|
+
* reflection and answer false for subtypes only another package declares.
|
|
27
|
+
*
|
|
28
|
+
* Each reflection is checked with {@link assertSingleLangiumCopy}, because the
|
|
29
|
+
* composite itself extends the framework copy's base whichever copy they use.
|
|
30
|
+
*
|
|
31
|
+
* The protected merge methods run from the constructor, so an override cannot
|
|
32
|
+
* read its own class's fields.
|
|
33
|
+
*/
|
|
34
|
+
export class CompositeAstReflection extends AbstractAstReflection {
|
|
35
|
+
types = {};
|
|
36
|
+
constructor(reflections) {
|
|
37
|
+
super();
|
|
38
|
+
const firstDefinedAt = new Map();
|
|
39
|
+
reflections.forEach((reflection, index) => {
|
|
40
|
+
assertSingleLangiumCopy(reflection, () => this.formatReflection(reflections, index));
|
|
41
|
+
for (const [type, metaData] of Object.entries(reflection.types)) {
|
|
42
|
+
const ownerIndex = firstDefinedAt.get(type);
|
|
43
|
+
if (ownerIndex === undefined) {
|
|
44
|
+
this.types[type] = metaData;
|
|
45
|
+
firstDefinedAt.set(type, index);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.types[type] = this.mergeTypeMetaData(this.types[type], metaData, this.formatReflection(reflections, ownerIndex), this.formatReflection(reflections, index));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
mergeTypeMetaData(known, added, knownFrom, addedFrom) {
|
|
54
|
+
const properties = {};
|
|
55
|
+
const propertyNames = new Set([...Object.keys(known.properties), ...Object.keys(added.properties)]);
|
|
56
|
+
for (const property of propertyNames) {
|
|
57
|
+
const knownProperty = known.properties[property];
|
|
58
|
+
const addedProperty = added.properties[property];
|
|
59
|
+
if (!knownProperty || !addedProperty || !this.sameProperty(knownProperty, addedProperty)) {
|
|
60
|
+
throw new Error(`[hydranium] ${knownFrom} and ${addedFrom} define the type ` +
|
|
61
|
+
`'${known.name}' differently (property '${property}'). A name the composed reflections share must ` +
|
|
62
|
+
'denote one type, so rename one of them, or have every grammar take the type unchanged from one ' +
|
|
63
|
+
'shared imported grammar.');
|
|
64
|
+
}
|
|
65
|
+
properties[property] = addedProperty.optional && !knownProperty.optional ? addedProperty : knownProperty;
|
|
66
|
+
}
|
|
67
|
+
// `Required` so a field Langium adds fails compilation until this merge decides on it.
|
|
68
|
+
const merged = {
|
|
69
|
+
name: known.name,
|
|
70
|
+
properties,
|
|
71
|
+
superTypes: [...new Set([...known.superTypes, ...added.superTypes])]
|
|
72
|
+
};
|
|
73
|
+
return merged;
|
|
74
|
+
}
|
|
75
|
+
sameProperty(left, right) {
|
|
76
|
+
return COMPARED_PROPERTY_FIELDS.every(field => JSON.stringify(left[field]) === JSON.stringify(right[field]));
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Names `reflections[index]` for the composite's errors: its position and
|
|
80
|
+
* class name. The position is needed because minified bundles and scaffolds
|
|
81
|
+
* sharing a project name leave class names that do not tell reflections
|
|
82
|
+
* apart. An override can name the package each reflection came from.
|
|
83
|
+
*/
|
|
84
|
+
formatReflection(reflections, index) {
|
|
85
|
+
return `reflections[${index}] (${reflections[index].constructor?.name ?? 'no constructor'})`;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/** How the merge treats each property field; a field Langium adds fails compilation here until decided. */
|
|
89
|
+
const PROPERTY_FIELDS = {
|
|
90
|
+
name: 'compared',
|
|
91
|
+
referenceType: 'compared',
|
|
92
|
+
defaultValue: 'compared',
|
|
93
|
+
// Older generators emit no `optional`, so its absence proves nothing.
|
|
94
|
+
optional: 'merged'
|
|
95
|
+
};
|
|
96
|
+
const COMPARED_PROPERTY_FIELDS = Object.keys(PROPERTY_FIELDS).filter(field => PROPERTY_FIELDS[field] === 'compared');
|
|
97
|
+
//# sourceMappingURL=composite-ast-reflection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-ast-reflection.js","sourceRoot":"","sources":["../../src/langium/composite-ast-reflection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { type ConfigurationInitializedParams, DefaultConfigurationProvider } from '@hydranium/langium';
|
|
10
|
+
import type { ConfigurationItem, DidChangeConfigurationRegistrationOptions } from 'vscode-languageserver';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration provider that asks the client about a section the first time
|
|
13
|
+
* something reads it.
|
|
14
|
+
*
|
|
15
|
+
* Langium's base requests one section per registered language, named after the
|
|
16
|
+
* language id, and never asks again. A read of any other section — including
|
|
17
|
+
* whatever `lsp.configurationRoot` is bound to — then resolves `undefined` with
|
|
18
|
+
* no request on the wire, which is indistinguishable from a setting the user has
|
|
19
|
+
* not set.
|
|
20
|
+
*
|
|
21
|
+
* Asking on first read rather than from a list collected up front: a reader
|
|
22
|
+
* names its section during DI, after `initialized` has taken its one-shot pass,
|
|
23
|
+
* so a list would have to be complete before the server initialized.
|
|
24
|
+
*/
|
|
25
|
+
export declare class HydraniumConfigurationProvider extends DefaultConfigurationProvider {
|
|
26
|
+
/**
|
|
27
|
+
* The client-facing hooks, captured because they arrive once as arguments to
|
|
28
|
+
* {@link initialized} and are needed on every later read. Absent in a
|
|
29
|
+
* headless composition, which has no connection to ask.
|
|
30
|
+
*/
|
|
31
|
+
protected registerForSection?: (params: DidChangeConfigurationRegistrationOptions) => void;
|
|
32
|
+
protected fetchSections?: (items: ConfigurationItem[]) => Promise<unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* Sections already dealt with, holding the in-flight work so concurrent
|
|
35
|
+
* readers share one round trip. Entries stay after they settle: they record
|
|
36
|
+
* that the section was HANDLED, and without that an unset section is
|
|
37
|
+
* re-requested on every read, "unset" and "not fetched" being the same
|
|
38
|
+
* absence in the store.
|
|
39
|
+
*
|
|
40
|
+
* A section the client's capabilities ruled out counts as handled, having
|
|
41
|
+
* been settled by asking nothing.
|
|
42
|
+
*/
|
|
43
|
+
protected readonly requestedSections: Map<string, Promise<void>>;
|
|
44
|
+
initialized(params: ConfigurationInitializedParams): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* The `ready` await precedes the emptiness check: the base resolves it at the
|
|
47
|
+
* end of its own initial fetch, so testing the store first calls every
|
|
48
|
+
* language section missing and re-requests what is already on its way.
|
|
49
|
+
*/
|
|
50
|
+
getConfiguration(language: string, configuration: string): Promise<unknown>;
|
|
51
|
+
/** Ask about `section` once, sharing the request with any concurrent reader. */
|
|
52
|
+
protected requestSection(section: string): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* The hooks are gated on the client having declared `workspace.configuration`.
|
|
55
|
+
* A connection binds them whatever the client said, so their presence is not
|
|
56
|
+
* consent: calling them sends a `client/registerCapability` and a
|
|
57
|
+
* `workspace/configuration` to a client that advertised support for neither,
|
|
58
|
+
* which is entitled to answer either with a method-not-found and may drop the
|
|
59
|
+
* connection.
|
|
60
|
+
*
|
|
61
|
+
* That flag is exact for the fetch and KNOWINGLY coarse for the registration,
|
|
62
|
+
* which the spec governs by
|
|
63
|
+
* `workspace.didChangeConfiguration.dynamicRegistration`. The base registers
|
|
64
|
+
* under `workspace.configuration` alone before any of this runs, so gating
|
|
65
|
+
* the registration on the narrower flag here would withhold a request whose
|
|
66
|
+
* twin has already gone out, sparing the client nothing. A client declaring
|
|
67
|
+
* `workspace.configuration` without dynamic registration is still registered
|
|
68
|
+
* for, by the base and by this; closing that means changing the base's pass,
|
|
69
|
+
* not this gate.
|
|
70
|
+
*
|
|
71
|
+
* Registering before fetching, so an edit landing between the two arrives as
|
|
72
|
+
* a notification instead of being lost; the reverse order drops it.
|
|
73
|
+
*
|
|
74
|
+
* A `null` result is left out of the store rather than written, so the
|
|
75
|
+
* section reads as unset, and no `onConfigurationSectionUpdate` fires — the
|
|
76
|
+
* value goes to the caller that asked for it, and an event would announce a
|
|
77
|
+
* change that is only this provider catching up.
|
|
78
|
+
*/
|
|
79
|
+
protected doRequestSection(section: string): Promise<void>;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=configuration-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/config/configuration-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACvG,OAAO,KAAK,EAAE,iBAAiB,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAE1G;;;;;;;;;;;;;GAaG;AACH,qBAAa,8BAA+B,SAAQ,4BAA4B;IAC7E;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,yCAAyC,KAAK,IAAI,CAAC;IAC3F,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,6BAAoC;IAEzD,WAAW,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhF;IAED;;;;OAIG;IACY,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzF;IAED,gFAAgF;IAChF,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvD;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,UAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/D;CACH"}
|