@aster-cloud/aster-lang-ts 1.0.36 → 1.1.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.
- package/CHANGELOG.md +28 -0
- package/README.md +13 -7
- package/dist/scripts/aster.js +10 -5
- package/dist/scripts/aster.js.map +1 -1
- package/dist/scripts/core-ir-json.js +8 -3
- package/dist/scripts/core-ir-json.js.map +1 -1
- package/dist/scripts/emit-classfiles.js +3 -2
- package/dist/scripts/emit-classfiles.js.map +1 -1
- package/dist/scripts/emit-core.js +8 -5
- package/dist/scripts/emit-core.js.map +1 -1
- package/dist/scripts/generate-casefold.d.ts +2 -0
- package/dist/scripts/generate-casefold.d.ts.map +1 -0
- package/dist/scripts/generate-casefold.js +34 -0
- package/dist/scripts/generate-casefold.js.map +1 -0
- package/dist/scripts/generate-lexicons.js +17 -1
- package/dist/scripts/generate-lexicons.js.map +1 -1
- package/dist/scripts/golden.js +16 -16
- package/dist/scripts/golden.js.map +1 -1
- package/dist/scripts/perf-benchmark.js +1 -0
- package/dist/scripts/perf-benchmark.js.map +1 -1
- package/dist/scripts/profile-medium-project.js +1 -1
- package/dist/scripts/profile-medium-project.js.map +1 -1
- package/dist/scripts/repl.js +3 -8
- package/dist/scripts/repl.js.map +1 -1
- package/dist/scripts/typecheck-cli.js +10 -9
- package/dist/scripts/typecheck-cli.js.map +1 -1
- package/dist/scripts/update-eff-violation-expected.js +6 -6
- package/dist/scripts/update-eff-violation-expected.js.map +1 -1
- package/dist/scripts/verify-capabilities.js +3 -6
- package/dist/scripts/verify-capabilities.js.map +1 -1
- package/dist/scripts/verify-lexicon-sync.js +10 -0
- package/dist/scripts/verify-lexicon-sync.js.map +1 -1
- package/dist/src/ai/validator.d.ts +1 -1
- package/dist/src/ai/validator.d.ts.map +1 -1
- package/dist/src/ai/validator.js +12 -12
- package/dist/src/ai/validator.js.map +1 -1
- package/dist/src/ast/ast.d.ts +1 -0
- package/dist/src/ast/ast.d.ts.map +1 -1
- package/dist/src/ast/ast.js.map +1 -1
- package/dist/src/browser.d.ts +27 -10
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +42 -54
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/policy-converter.js +5 -9
- package/dist/src/cli/policy-converter.js.map +1 -1
- package/dist/src/compile-pipeline.d.ts +48 -0
- package/dist/src/compile-pipeline.d.ts.map +1 -0
- package/dist/src/compile-pipeline.js +89 -0
- package/dist/src/compile-pipeline.js.map +1 -0
- package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -1
- package/dist/src/config/lexicons/diagnostic-messages.js +20 -0
- package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/casefold-table.generated.d.ts +9 -0
- package/dist/src/config/lexicons/identifiers/casefold-table.generated.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/casefold-table.generated.js +1467 -0
- package/dist/src/config/lexicons/identifiers/casefold-table.generated.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/casefold.d.ts +7 -0
- package/dist/src/config/lexicons/identifiers/casefold.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/casefold.js +37 -0
- package/dist/src/config/lexicons/identifiers/casefold.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js +8 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js +8 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js +8 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js +6 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js +6 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js +6 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/index.d.ts +7 -9
- package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/index.js +8 -9
- package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/registry.d.ts +11 -5
- package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/registry.js +20 -14
- package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/scopes.d.ts +52 -0
- package/dist/src/config/lexicons/identifiers/scopes.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/scopes.js +166 -0
- package/dist/src/config/lexicons/identifiers/scopes.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/types.d.ts +15 -29
- package/dist/src/config/lexicons/identifiers/types.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/types.js +91 -101
- package/dist/src/config/lexicons/identifiers/types.js.map +1 -1
- package/dist/src/config/lexicons/lsp-ui-texts.d.ts +7 -0
- package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -1
- package/dist/src/config/lexicons/lsp-ui-texts.js +12 -0
- package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -1
- package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
- package/dist/src/config/lexicons/zh-CN.js +1 -0
- package/dist/src/config/lexicons/zh-CN.js.map +1 -1
- package/dist/src/config/semantic.d.ts +5 -0
- package/dist/src/config/semantic.d.ts.map +1 -1
- package/dist/src/config/semantic.js +12 -0
- package/dist/src/config/semantic.js.map +1 -1
- package/dist/src/core/inferred_fields.d.ts +10 -0
- package/dist/src/core/inferred_fields.d.ts.map +1 -1
- package/dist/src/core/inferred_fields.js +9 -0
- package/dist/src/core/inferred_fields.js.map +1 -1
- package/dist/src/core/interpreter.d.ts.map +1 -1
- package/dist/src/core/interpreter.js +37 -16
- package/dist/src/core/interpreter.js.map +1 -1
- package/dist/src/core/resolution-mark.d.ts +28 -0
- package/dist/src/core/resolution-mark.d.ts.map +1 -0
- package/dist/src/core/resolution-mark.js +19 -0
- package/dist/src/core/resolution-mark.js.map +1 -0
- package/dist/src/core/resolve-typed-references.d.ts +36 -0
- package/dist/src/core/resolve-typed-references.d.ts.map +1 -0
- package/dist/src/core/resolve-typed-references.js +703 -0
- package/dist/src/core/resolve-typed-references.js.map +1 -0
- package/dist/src/diagnostics/error_codes.d.ts +11 -1
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +80 -0
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/frontend/canonicalizer.d.ts +8 -13
- package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
- package/dist/src/frontend/canonicalizer.js +21 -50
- package/dist/src/frontend/canonicalizer.js.map +1 -1
- package/dist/src/frontend/resolution-choice.d.ts +34 -0
- package/dist/src/frontend/resolution-choice.d.ts.map +1 -0
- package/dist/src/frontend/resolution-choice.js +69 -0
- package/dist/src/frontend/resolution-choice.js.map +1 -0
- package/dist/src/frontend/resolution-context.d.ts +28 -0
- package/dist/src/frontend/resolution-context.d.ts.map +1 -0
- package/dist/src/frontend/resolution-context.js +7 -0
- package/dist/src/frontend/resolution-context.js.map +1 -0
- package/dist/src/frontend/resolve-declarations.d.ts +13 -0
- package/dist/src/frontend/resolve-declarations.d.ts.map +1 -0
- package/dist/src/frontend/resolve-declarations.js +611 -0
- package/dist/src/frontend/resolve-declarations.js.map +1 -0
- package/dist/src/frontend/resolve-policy-types.d.ts +54 -0
- package/dist/src/frontend/resolve-policy-types.d.ts.map +1 -0
- package/dist/src/frontend/resolve-policy-types.js +71 -0
- package/dist/src/frontend/resolve-policy-types.js.map +1 -0
- package/dist/src/frontend/transformers.d.ts +11 -2
- package/dist/src/frontend/transformers.d.ts.map +1 -1
- package/dist/src/frontend/transformers.js +153 -10
- package/dist/src/frontend/transformers.js.map +1 -1
- package/dist/src/index.d.ts +14 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +14 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/lower_to_core.d.ts +2 -16
- package/dist/src/lower_to_core.d.ts.map +1 -1
- package/dist/src/lower_to_core.js +101 -44
- package/dist/src/lower_to_core.js.map +1 -1
- package/dist/src/lsp/canonicalize-options.d.ts +8 -11
- package/dist/src/lsp/canonicalize-options.d.ts.map +1 -1
- package/dist/src/lsp/canonicalize-options.js +8 -8
- package/dist/src/lsp/canonicalize-options.js.map +1 -1
- package/dist/src/lsp/completion.d.ts +32 -5
- package/dist/src/lsp/completion.d.ts.map +1 -1
- package/dist/src/lsp/completion.js +59 -0
- package/dist/src/lsp/completion.js.map +1 -1
- package/dist/src/lsp/diagnostics.d.ts +2 -0
- package/dist/src/lsp/diagnostics.d.ts.map +1 -1
- package/dist/src/lsp/diagnostics.js +77 -73
- package/dist/src/lsp/diagnostics.js.map +1 -1
- package/dist/src/lsp/navigation/hover.d.ts +12 -5
- package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
- package/dist/src/lsp/navigation/hover.js +136 -90
- package/dist/src/lsp/navigation/hover.js.map +1 -1
- package/dist/src/lsp/parse-document.d.ts +3 -0
- package/dist/src/lsp/parse-document.d.ts.map +1 -1
- package/dist/src/lsp/parse-document.js +5 -17
- package/dist/src/lsp/parse-document.js.map +1 -1
- package/dist/src/lsp/resolution.d.ts +40 -0
- package/dist/src/lsp/resolution.d.ts.map +1 -0
- package/dist/src/lsp/resolution.js +179 -0
- package/dist/src/lsp/resolution.js.map +1 -0
- package/dist/src/lsp/server.js +3 -1
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/lsp/source-positions.d.ts +3 -9
- package/dist/src/lsp/source-positions.d.ts.map +1 -1
- package/dist/src/lsp/source-positions.js +25 -19
- package/dist/src/lsp/source-positions.js.map +1 -1
- package/dist/src/mapping/candidate-generator.d.ts +19 -9
- package/dist/src/mapping/candidate-generator.d.ts.map +1 -1
- package/dist/src/mapping/candidate-generator.js +79 -40
- package/dist/src/mapping/candidate-generator.js.map +1 -1
- package/dist/src/mapping/pipeline.d.ts +6 -0
- package/dist/src/mapping/pipeline.d.ts.map +1 -1
- package/dist/src/mapping/pipeline.js +69 -75
- package/dist/src/mapping/pipeline.js.map +1 -1
- package/dist/src/mapping/review-queue.d.ts.map +1 -1
- package/dist/src/mapping/review-queue.js +3 -2
- package/dist/src/mapping/review-queue.js.map +1 -1
- package/dist/src/nodeid/node-id-map.d.ts +7 -0
- package/dist/src/nodeid/node-id-map.d.ts.map +1 -1
- package/dist/src/nodeid/node-id-map.js +23 -13
- package/dist/src/nodeid/node-id-map.js.map +1 -1
- package/dist/src/parser/context.d.ts +2 -0
- package/dist/src/parser/context.d.ts.map +1 -1
- package/dist/src/parser/context.js +1 -0
- package/dist/src/parser/context.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +1 -0
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +2 -16
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +3 -1
- package/dist/src/parser.js.map +1 -1
- package/dist/src/typecheck/expression.d.ts.map +1 -1
- package/dist/src/typecheck/expression.js +35 -1
- package/dist/src/typecheck/expression.js.map +1 -1
- package/dist/src/typecheck/generics.d.ts +5 -0
- package/dist/src/typecheck/generics.d.ts.map +1 -1
- package/dist/src/typecheck/generics.js +15 -8
- package/dist/src/typecheck/generics.js.map +1 -1
- package/dist/src/typecheck/statement.d.ts +10 -0
- package/dist/src/typecheck/statement.d.ts.map +1 -1
- package/dist/src/typecheck/statement.js +19 -5
- package/dist/src/typecheck/statement.js.map +1 -1
- package/dist/src/types.d.ts +45 -13
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/version.d.ts +17 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +17 -0
- package/dist/src/version.js.map +1 -0
- package/dist/test/integration/builtin-enum-vocabulary.test.d.ts +2 -0
- package/dist/test/integration/builtin-enum-vocabulary.test.d.ts.map +1 -0
- package/dist/test/integration/builtin-enum-vocabulary.test.js +51 -0
- package/dist/test/integration/builtin-enum-vocabulary.test.js.map +1 -0
- package/dist/test/integration/compliance/compliance-smoke.test.js +16 -9
- package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-rename-safety.test.js +0 -13
- package/dist/test/integration/lsp/lsp-rename-safety.test.js.map +1 -1
- package/dist/test/integration/name-resolution-entrypoints.test.d.ts +2 -0
- package/dist/test/integration/name-resolution-entrypoints.test.d.ts.map +1 -0
- package/dist/test/integration/name-resolution-entrypoints.test.js +109 -0
- package/dist/test/integration/name-resolution-entrypoints.test.js.map +1 -0
- package/dist/test/integration/vocabulary-resolution.test.d.ts +2 -0
- package/dist/test/integration/vocabulary-resolution.test.d.ts.map +1 -0
- package/dist/test/integration/vocabulary-resolution.test.js +291 -0
- package/dist/test/integration/vocabulary-resolution.test.js.map +1 -0
- package/dist/test/property/property.test.js +2 -1
- package/dist/test/property/property.test.js.map +1 -1
- package/dist/test/unit/allocation-budget.test.js +41 -0
- package/dist/test/unit/allocation-budget.test.js.map +1 -1
- package/dist/test/unit/canonicalizer/canonicalizer.test.js +7 -79
- package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
- package/dist/test/unit/canonicalizer/chinese-function-syntax.test.d.ts +2 -0
- package/dist/test/unit/canonicalizer/chinese-function-syntax.test.d.ts.map +1 -0
- package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js +86 -0
- package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js.map +1 -0
- package/dist/test/unit/canonicalizer/transformers.test.d.ts +2 -0
- package/dist/test/unit/canonicalizer/transformers.test.d.ts.map +1 -0
- package/dist/test/unit/canonicalizer/transformers.test.js +25 -0
- package/dist/test/unit/canonicalizer/transformers.test.js.map +1 -0
- package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js +134 -31
- package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js.map +1 -1
- package/dist/test/unit/config/lexicons/identifiers/literal-macro.test.js +16 -18
- package/dist/test/unit/config/lexicons/identifiers/literal-macro.test.js.map +1 -1
- package/dist/test/unit/core/resolve-typed-references.test.d.ts +2 -0
- package/dist/test/unit/core/resolve-typed-references.test.d.ts.map +1 -0
- package/dist/test/unit/core/resolve-typed-references.test.js +600 -0
- package/dist/test/unit/core/resolve-typed-references.test.js.map +1 -0
- package/dist/test/unit/diagnostics/resolution-codes.test.d.ts +6 -0
- package/dist/test/unit/diagnostics/resolution-codes.test.d.ts.map +1 -0
- package/dist/test/unit/diagnostics/resolution-codes.test.js +83 -0
- package/dist/test/unit/diagnostics/resolution-codes.test.js.map +1 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.js +9 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
- package/dist/test/unit/frontend/resolve-declarations.test.d.ts +2 -0
- package/dist/test/unit/frontend/resolve-declarations.test.d.ts.map +1 -0
- package/dist/test/unit/frontend/resolve-declarations.test.js +400 -0
- package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -0
- package/dist/test/unit/identifiers/casefold.test.d.ts +2 -0
- package/dist/test/unit/identifiers/casefold.test.d.ts.map +1 -0
- package/dist/test/unit/identifiers/casefold.test.js +77 -0
- package/dist/test/unit/identifiers/casefold.test.js.map +1 -0
- package/dist/test/unit/identifiers/scopes.test.d.ts +2 -0
- package/dist/test/unit/identifiers/scopes.test.d.ts.map +1 -0
- package/dist/test/unit/identifiers/scopes.test.js +109 -0
- package/dist/test/unit/identifiers/scopes.test.js.map +1 -0
- package/dist/test/unit/lambda-capture-parity.test.js +12 -5
- package/dist/test/unit/lambda-capture-parity.test.js.map +1 -1
- package/dist/test/unit/lsp/lsp-locale-fixes.test.js +10 -11
- package/dist/test/unit/lsp/lsp-locale-fixes.test.js.map +1 -1
- package/dist/test/unit/lsp/parse-document.test.js +39 -0
- package/dist/test/unit/lsp/parse-document.test.js.map +1 -1
- package/dist/test/unit/lsp/resolution-completion.test.d.ts +2 -0
- package/dist/test/unit/lsp/resolution-completion.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/resolution-completion.test.js +79 -0
- package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -0
- package/dist/test/unit/lsp/resolution-diagnostics.test.d.ts +2 -0
- package/dist/test/unit/lsp/resolution-diagnostics.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/resolution-diagnostics.test.js +88 -0
- package/dist/test/unit/lsp/resolution-diagnostics.test.js.map +1 -0
- package/dist/test/unit/lsp/resolution-fixture.d.ts +32 -0
- package/dist/test/unit/lsp/resolution-fixture.d.ts.map +1 -0
- package/dist/test/unit/lsp/resolution-fixture.js +69 -0
- package/dist/test/unit/lsp/resolution-fixture.js.map +1 -0
- package/dist/test/unit/lsp/resolution-hover.test.d.ts +2 -0
- package/dist/test/unit/lsp/resolution-hover.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/resolution-hover.test.js +107 -0
- package/dist/test/unit/lsp/resolution-hover.test.js.map +1 -0
- package/dist/test/unit/lsp/tenant-vocabulary.test.js +21 -47
- package/dist/test/unit/lsp/tenant-vocabulary.test.js.map +1 -1
- package/dist/test/unit/mapping/candidate-generator.test.js +54 -1
- package/dist/test/unit/mapping/candidate-generator.test.js.map +1 -1
- package/dist/test/unit/mapping/pipeline.test.js +22 -1
- package/dist/test/unit/mapping/pipeline.test.js.map +1 -1
- package/dist/test/unit/parser/parser.test.js +22 -0
- package/dist/test/unit/parser/parser.test.js.map +1 -1
- package/dist/test/unit/public-api-checked-entries.test.d.ts +2 -0
- package/dist/test/unit/public-api-checked-entries.test.d.ts.map +1 -0
- package/dist/test/unit/public-api-checked-entries.test.js +28 -0
- package/dist/test/unit/public-api-checked-entries.test.js.map +1 -0
- package/dist/test/unit/typecheck/e104-block-scope-parity.test.d.ts +2 -0
- package/dist/test/unit/typecheck/e104-block-scope-parity.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/e104-block-scope-parity.test.js +82 -0
- package/dist/test/unit/typecheck/e104-block-scope-parity.test.js.map +1 -0
- package/dist/test/unit/typecheck/qualified-enum-member.test.d.ts +2 -0
- package/dist/test/unit/typecheck/qualified-enum-member.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/qualified-enum-member.test.js +73 -0
- package/dist/test/unit/typecheck/qualified-enum-member.test.js.map +1 -0
- package/dist/test/unit/typecheck/type-inference.test.js +22 -0
- package/dist/test/unit/typecheck/type-inference.test.js.map +1 -1
- package/dist/test/unit/version.test.d.ts +9 -0
- package/dist/test/unit/version.test.d.ts.map +1 -0
- package/dist/test/unit/version.test.js +34 -0
- package/dist/test/unit/version.test.js.map +1 -0
- package/package.json +1 -1
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts +0 -47
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts.map +0 -1
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js +0 -142
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js.map +0 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* **设计原则**:
|
|
7
7
|
* - 领域分离:每个业务领域(金融、保险、医疗等)有独立的映射
|
|
8
|
-
* -
|
|
8
|
+
* - 本地化→规范化按源码位置解析(VocabularyScopes,ADR 0051);本索引只提供规范化→本地化
|
|
9
9
|
* - 可扩展:租户可添加自定义映射
|
|
10
10
|
* - 类型安全:通过 TypeScript 类型系统保证映射完整性
|
|
11
11
|
*/
|
|
@@ -23,8 +23,8 @@ export declare enum IdentifierKind {
|
|
|
23
23
|
ENUM_VALUE = "enum_value",
|
|
24
24
|
/**
|
|
25
25
|
* 字面量宏(token → 字符串字面量)。与其它 kind 不同:canonical **不是** ASCII
|
|
26
|
-
* 标识符,而是要替换出去的**字符串内容**(不含引号)。canonicalize
|
|
27
|
-
* token
|
|
26
|
+
* 标识符,而是要替换出去的**字符串内容**(不含引号)。canonicalize 时把触发词
|
|
27
|
+
* token(按折叠键匹配)替换成 `<open>content<close>`(用当前 lexicon 的 stringQuotes 包裹,
|
|
28
28
|
* 从而被 segmentString 正确保护,避免插入 ASCII 引号在标点归一化后不被隔离)。
|
|
29
29
|
*
|
|
30
30
|
* <p>用途:把一个领域术语固定展开成一段标准文案(合规场景常见),例如
|
|
@@ -88,22 +88,16 @@ export interface DomainVocabulary {
|
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
* 标识符映射索引 -
|
|
91
|
+
* 标识符映射索引 - 用于展示与按类型查找(规范名 → 本地化写法等)。
|
|
92
|
+
* 源码中的名字按位置解析见 VocabularyScopes(ADR 0051),本索引不参与编译。
|
|
92
93
|
*/
|
|
93
94
|
export interface IdentifierIndex {
|
|
94
|
-
/**
|
|
95
|
-
readonly toCanonical: ReadonlyMap<string, string>;
|
|
96
|
-
/** 规范化名称 → 本地化名称 */
|
|
95
|
+
/** 规范化名称(小写) → 本地化名称 */
|
|
97
96
|
readonly toLocalized: ReadonlyMap<string, string>;
|
|
98
|
-
/**
|
|
97
|
+
/** 按类型分类的映射(键为本地化名称小写) */
|
|
99
98
|
readonly byKind: ReadonlyMap<IdentifierKind, ReadonlyMap<string, IdentifierMapping>>;
|
|
100
99
|
/** 字段映射(按父结构体索引) */
|
|
101
100
|
readonly fieldsByParent: ReadonlyMap<string, ReadonlyMap<string, IdentifierMapping>>;
|
|
102
|
-
/**
|
|
103
|
-
* 字面量宏的 localized key(已 toLowerCase)。canonicalize 替换时据此判定:
|
|
104
|
-
* 命中则把 `toCanonical` 里存的**内容**用 lexicon 引号包裹后插入,而非当作标识符原样插入。
|
|
105
|
-
*/
|
|
106
|
-
readonly literals: ReadonlySet<string>;
|
|
107
101
|
}
|
|
108
102
|
/**
|
|
109
103
|
* 构建标识符索引。
|
|
@@ -112,14 +106,6 @@ export interface IdentifierIndex {
|
|
|
112
106
|
* @returns 标识符索引
|
|
113
107
|
*/
|
|
114
108
|
export declare function buildIdentifierIndex(vocabulary: DomainVocabulary): IdentifierIndex;
|
|
115
|
-
/**
|
|
116
|
-
* 将本地化标识符转换为规范化名称。
|
|
117
|
-
*
|
|
118
|
-
* @param index - 标识符索引
|
|
119
|
-
* @param localized - 本地化名称
|
|
120
|
-
* @returns 规范化名称,如果不存在映射则返回原始名称
|
|
121
|
-
*/
|
|
122
|
-
export declare function canonicalizeIdentifier(index: IdentifierIndex, localized: string): string;
|
|
123
109
|
/**
|
|
124
110
|
* 将规范化名称转换为本地化标识符。
|
|
125
111
|
*
|
|
@@ -129,15 +115,15 @@ export declare function canonicalizeIdentifier(index: IdentifierIndex, localized
|
|
|
129
115
|
*/
|
|
130
116
|
export declare function localizeIdentifier(index: IdentifierIndex, canonical: string): string;
|
|
131
117
|
/**
|
|
132
|
-
*
|
|
118
|
+
* 验证领域词汇表(ADR 0051:名称按位置解析)。
|
|
133
119
|
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
*
|
|
120
|
+
* - 规范名必须是 ASCII 标识符;字面量宏内容做注入防护。
|
|
121
|
+
* - 字段与枚举成员必须有 parent(按父类型分作用域;不支持全局字段)。
|
|
122
|
+
* - 冲突只在同一角色、同一作用域内判定:NFC 后写法(本地化名或同义词)完全相同却对应不同规范名
|
|
123
|
+
* → error。同规范名的多个写法(同义词)、仅大小写不同的写法、不同父类型下的同名字段都合法,
|
|
124
|
+
* 使用点由解析器按位置精确优先、折叠唯一再判定。
|
|
125
|
+
* - 字面量宏触发词须全局唯一:canonicalize 在解析前做上下文无关替换,触发词若与任何其它映射同名,
|
|
126
|
+
* 一个词展开成字符串还是标识符就不可预测。
|
|
141
127
|
*
|
|
142
128
|
* @param vocabulary - 领域词汇表
|
|
143
129
|
* @returns 验证结果
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/config/lexicons/identifiers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/config/lexicons/identifiers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;GAEG;AACH,oBAAY,cAAc;IACxB,eAAe;IACf,MAAM,WAAW;IACjB,WAAW;IACX,KAAK,UAAU;IACf,WAAW;IACX,QAAQ,aAAa;IACrB,UAAU;IACV,UAAU,eAAe;IACzB;;;;;;;;;OASG;IACH,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,mBAAmB;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY;IACZ,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAE9B,uBAAuB;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,eAAe;IACf,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,UAAU;IACV,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY;IACZ,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAE/C,mBAAmB;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAE9C,WAAW;IACX,QAAQ,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAEjD,YAAY;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAEnD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAEjD,UAAU;IACV,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,YAAY;QACZ,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW;QACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,aAAa;QACb,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS;QACT,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElD,0BAA0B;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAErF,oBAAoB;IACpB,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;CACtF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,eAAe,CAyClF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpF;AAkDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG;IAChE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAqDA"}
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
*
|
|
6
6
|
* **设计原则**:
|
|
7
7
|
* - 领域分离:每个业务领域(金融、保险、医疗等)有独立的映射
|
|
8
|
-
* -
|
|
8
|
+
* - 本地化→规范化按源码位置解析(VocabularyScopes,ADR 0051);本索引只提供规范化→本地化
|
|
9
9
|
* - 可扩展:租户可添加自定义映射
|
|
10
10
|
* - 类型安全:通过 TypeScript 类型系统保证映射完整性
|
|
11
11
|
*/
|
|
12
|
+
import { nfc } from './casefold.js';
|
|
12
13
|
/**
|
|
13
14
|
* 标识符类型枚举。
|
|
14
15
|
*/
|
|
@@ -24,8 +25,8 @@ export var IdentifierKind;
|
|
|
24
25
|
IdentifierKind["ENUM_VALUE"] = "enum_value";
|
|
25
26
|
/**
|
|
26
27
|
* 字面量宏(token → 字符串字面量)。与其它 kind 不同:canonical **不是** ASCII
|
|
27
|
-
* 标识符,而是要替换出去的**字符串内容**(不含引号)。canonicalize
|
|
28
|
-
* token
|
|
28
|
+
* 标识符,而是要替换出去的**字符串内容**(不含引号)。canonicalize 时把触发词
|
|
29
|
+
* token(按折叠键匹配)替换成 `<open>content<close>`(用当前 lexicon 的 stringQuotes 包裹,
|
|
29
30
|
* 从而被 segmentString 正确保护,避免插入 ASCII 引号在标点归一化后不被隔离)。
|
|
30
31
|
*
|
|
31
32
|
* <p>用途:把一个领域术语固定展开成一段标准文案(合规场景常见),例如
|
|
@@ -41,35 +42,19 @@ export var IdentifierKind;
|
|
|
41
42
|
* @returns 标识符索引
|
|
42
43
|
*/
|
|
43
44
|
export function buildIdentifierIndex(vocabulary) {
|
|
44
|
-
const toCanonical = new Map();
|
|
45
45
|
const toLocalized = new Map();
|
|
46
46
|
const byKind = new Map();
|
|
47
47
|
const fieldsByParent = new Map();
|
|
48
|
-
const literals = new Set();
|
|
49
48
|
// 初始化 byKind 分类
|
|
50
49
|
for (const kind of Object.values(IdentifierKind)) {
|
|
51
50
|
byKind.set(kind, new Map());
|
|
52
51
|
}
|
|
53
52
|
const addMapping = (mapping) => {
|
|
54
53
|
const localizedKey = mapping.localized.toLowerCase();
|
|
55
|
-
// localized → canonical(字面量宏存的是「内容」,替换阶段再包引号)
|
|
56
|
-
toCanonical.set(localizedKey, mapping.canonical);
|
|
57
54
|
// 字面量宏是单向宏展开,不建反向映射(避免 toLocalized 暴露怪异的内容反查)。
|
|
58
|
-
if (mapping.kind
|
|
59
|
-
literals.add(localizedKey);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
55
|
+
if (mapping.kind !== IdentifierKind.LITERAL) {
|
|
62
56
|
toLocalized.set(mapping.canonical.toLowerCase(), mapping.localized);
|
|
63
57
|
}
|
|
64
|
-
// 别名也加入映射(字面量宏的别名同样触发宏展开)
|
|
65
|
-
if (mapping.aliases) {
|
|
66
|
-
for (const alias of mapping.aliases) {
|
|
67
|
-
const aliasKey = alias.toLowerCase();
|
|
68
|
-
toCanonical.set(aliasKey, mapping.canonical);
|
|
69
|
-
if (mapping.kind === IdentifierKind.LITERAL)
|
|
70
|
-
literals.add(aliasKey);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
58
|
// 按类型分类
|
|
74
59
|
byKind.get(mapping.kind).set(localizedKey, mapping);
|
|
75
60
|
// 字段按父结构体索引
|
|
@@ -87,23 +72,11 @@ export function buildIdentifierIndex(vocabulary) {
|
|
|
87
72
|
vocabulary.enumValues?.forEach(addMapping);
|
|
88
73
|
vocabulary.literals?.forEach(addMapping);
|
|
89
74
|
return {
|
|
90
|
-
toCanonical,
|
|
91
75
|
toLocalized,
|
|
92
76
|
byKind: byKind,
|
|
93
77
|
fieldsByParent: fieldsByParent,
|
|
94
|
-
literals,
|
|
95
78
|
};
|
|
96
79
|
}
|
|
97
|
-
/**
|
|
98
|
-
* 将本地化标识符转换为规范化名称。
|
|
99
|
-
*
|
|
100
|
-
* @param index - 标识符索引
|
|
101
|
-
* @param localized - 本地化名称
|
|
102
|
-
* @returns 规范化名称,如果不存在映射则返回原始名称
|
|
103
|
-
*/
|
|
104
|
-
export function canonicalizeIdentifier(index, localized) {
|
|
105
|
-
return index.toCanonical.get(localized.toLowerCase()) ?? localized;
|
|
106
|
-
}
|
|
107
80
|
/**
|
|
108
81
|
* 将规范化名称转换为本地化标识符。
|
|
109
82
|
*
|
|
@@ -114,19 +87,64 @@ export function canonicalizeIdentifier(index, localized) {
|
|
|
114
87
|
export function localizeIdentifier(index, canonical) {
|
|
115
88
|
return index.toLocalized.get(canonical.toLowerCase()) ?? canonical;
|
|
116
89
|
}
|
|
117
|
-
/**
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
90
|
+
/** 映射所属的解析作用域(ADR 0051 §7):字段 / 枚举成员按规范父名分作用域;字面量宏不在其中。 */
|
|
91
|
+
function scopeOf(mapping) {
|
|
92
|
+
switch (mapping.kind) {
|
|
93
|
+
case IdentifierKind.STRUCT:
|
|
94
|
+
return 'types';
|
|
95
|
+
case IdentifierKind.FUNCTION:
|
|
96
|
+
return 'functions';
|
|
97
|
+
case IdentifierKind.FIELD:
|
|
98
|
+
return mapping.parent === undefined ? undefined : `fields[${mapping.parent}]`;
|
|
99
|
+
case IdentifierKind.ENUM_VALUE:
|
|
100
|
+
return mapping.parent === undefined ? undefined : `enumMembers[${mapping.parent}]`;
|
|
101
|
+
default:
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** 缺 parent 时的诊断(字段与枚举成员措辞不同,下游按文案识别原因)。 */
|
|
106
|
+
function missingParentMessage(mapping, context) {
|
|
107
|
+
if (mapping.parent)
|
|
108
|
+
return undefined;
|
|
109
|
+
if (mapping.kind === IdentifierKind.FIELD)
|
|
110
|
+
return `${context}: 字段 "${mapping.localized}" 没有指定父结构体`;
|
|
111
|
+
if (mapping.kind === IdentifierKind.ENUM_VALUE)
|
|
112
|
+
return `${context}: 枚举成员 "${mapping.localized}" 没有指定父枚举`;
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
/** 字面量宏内容的注入防护校验;普通标识符校验规范名是 ASCII 标识符。 */
|
|
116
|
+
function checkCanonical(mapping, context, errors) {
|
|
117
|
+
if (mapping.kind !== IdentifierKind.LITERAL) {
|
|
118
|
+
if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(mapping.canonical)) {
|
|
119
|
+
errors.push(`${context}: 规范化名称 "${mapping.canonical}" 必须是有效的 ASCII 标识符`);
|
|
120
|
+
}
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
// 字面量宏:canonical 是要展开的**字符串内容**(不含引号),严格校验以防编译期注入:
|
|
124
|
+
// 单行、无控制字符、无任何字符串定界符与反斜杠(内容会被包进 lexicon 引号里,含引号可提前
|
|
125
|
+
// 闭合字符串、逃逸出 token 注入源码;智能引号会被 canonicalize 归一化,放行则展开非幂等)。
|
|
126
|
+
const content = mapping.canonical ?? '';
|
|
127
|
+
if (content.length === 0) {
|
|
128
|
+
errors.push(`${context}: 字面量宏内容不得为空`);
|
|
129
|
+
}
|
|
130
|
+
// eslint-disable-next-line no-control-regex
|
|
131
|
+
if (/[\u0000-\u001F\u007F]/.test(content)) {
|
|
132
|
+
errors.push(`${context}: 字面量宏内容含控制字符/换行,禁止(防注入)`);
|
|
133
|
+
}
|
|
134
|
+
if (/["\\「」『』«»“”‘’]/.test(content)) {
|
|
135
|
+
errors.push(`${context}: 字面量宏内容不得含引号定界符(" 「 」 『 』 « » “ ” ‘ ’)或反斜杠 "${content}"(防逃逸/注入)`);
|
|
136
|
+
}
|
|
127
137
|
}
|
|
128
138
|
/**
|
|
129
|
-
*
|
|
139
|
+
* 验证领域词汇表(ADR 0051:名称按位置解析)。
|
|
140
|
+
*
|
|
141
|
+
* - 规范名必须是 ASCII 标识符;字面量宏内容做注入防护。
|
|
142
|
+
* - 字段与枚举成员必须有 parent(按父类型分作用域;不支持全局字段)。
|
|
143
|
+
* - 冲突只在同一角色、同一作用域内判定:NFC 后写法(本地化名或同义词)完全相同却对应不同规范名
|
|
144
|
+
* → error。同规范名的多个写法(同义词)、仅大小写不同的写法、不同父类型下的同名字段都合法,
|
|
145
|
+
* 使用点由解析器按位置精确优先、折叠唯一再判定。
|
|
146
|
+
* - 字面量宏触发词须全局唯一:canonicalize 在解析前做上下文无关替换,触发词若与任何其它映射同名,
|
|
147
|
+
* 一个词展开成字符串还是标识符就不可预测。
|
|
130
148
|
*
|
|
131
149
|
* @param vocabulary - 领域词汇表
|
|
132
150
|
* @returns 验证结果
|
|
@@ -134,68 +152,40 @@ export function hasIdentifierMapping(index, name) {
|
|
|
134
152
|
export function validateVocabulary(vocabulary) {
|
|
135
153
|
const errors = [];
|
|
136
154
|
const warnings = [];
|
|
137
|
-
|
|
138
|
-
const
|
|
139
|
-
const seenTrigger = new Map(); // 触发词(localized+aliases) →
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
// 禁控制字符(0x00-0x1F 与 0x7F,含 \r \n \t \0)——单行、防注入
|
|
149
|
-
// eslint-disable-next-line no-control-regex
|
|
150
|
-
if (/[\u0000-\u001F\u007F]/.test(content)) {
|
|
151
|
-
errors.push(`${context}: 字面量宏内容含控制字符/换行,禁止(防注入)`);
|
|
152
|
-
}
|
|
153
|
-
// 禁任何字符串定界符与反斜杠——内容会被包进 lexicon 引号里,若含该 lexicon(或任何
|
|
154
|
-
// 已知 lexicon)的引号字符可提前闭合字符串、逃逸出 token 注入源码(Codex 复审 P0)。
|
|
155
|
-
// 禁:ASCII 双引号 "、反斜杠 \、CJK 直角引号「」『』、书名号/法式引号 « »、
|
|
156
|
-
// 以及智能/弯引号 “ ” ‘ ’(canonicalize 会先做智能引号归一化,若放行则展开非幂等,
|
|
157
|
-
// 重编译 canonical 输出会因 unterminated-string 失败)。
|
|
158
|
-
if (/["\\「」『』«»“”‘’]/.test(content)) {
|
|
159
|
-
errors.push(`${context}: 字面量宏内容不得含引号定界符(" 「 」 『 』 « » “ ” ‘ ’)或反斜杠 "${content}"(防逃逸/注入)`);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
// 普通标识符:canonical 必须是有效 ASCII 标识符(不变)
|
|
164
|
-
if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(mapping.canonical)) {
|
|
165
|
-
errors.push(`${context}: 规范化名称 "${mapping.canonical}" 必须是有效的 ASCII 标识符`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
// 检查重复
|
|
169
|
-
const canonicalKey = `${mapping.kind}:${mapping.canonical.toLowerCase()}`;
|
|
170
|
-
if (seenCanonical.has(canonicalKey)) {
|
|
171
|
-
errors.push(`${context}: 规范化名称 "${mapping.canonical}" 重复`);
|
|
155
|
+
// 作用域内写法(NFC)→ 首个映射的规范名与位置,用于判定同写法不同规范名
|
|
156
|
+
const seenWritten = new Map();
|
|
157
|
+
const seenTrigger = new Map(); // 触发词(localized+aliases) → 是否字面量宏
|
|
158
|
+
const checkScopeConflict = (mapping, context, written) => {
|
|
159
|
+
const scope = scopeOf(mapping);
|
|
160
|
+
if (scope === undefined)
|
|
161
|
+
return;
|
|
162
|
+
const key = `${scope}\u0000${written}`;
|
|
163
|
+
const prev = seenWritten.get(key);
|
|
164
|
+
if (prev === undefined) {
|
|
165
|
+
seenWritten.set(key, { canonical: mapping.canonical, context });
|
|
172
166
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
if (seenLocalized.has(localizedKey)) {
|
|
176
|
-
warnings.push(`${context}: 本地化名称 "${mapping.localized}" 重复,可能导致歧义`);
|
|
167
|
+
else if (prev.canonical !== mapping.canonical) {
|
|
168
|
+
errors.push(`${context}: 写法 "${written}" 在 ${scope} 中对应多个规范名(${prev.canonical}、${mapping.canonical},另见 ${prev.context})`);
|
|
177
169
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
// 展开成字符串、普通标识符展开成标识符,二者语义天差地别。故要求:字面量宏的触发词
|
|
181
|
-
// (localized + aliases)不得与**任何其它映射**(含普通标识符、其它字面量宏)的触发词
|
|
182
|
-
// 冲突,否则一个词到底展开成字符串还是标识符不可预测。普通标识符之间同名(不同 kind,
|
|
183
|
-
// 靠上下文消歧,如 struct/field 同名)仍是既有的 warning 行为,不动。
|
|
170
|
+
};
|
|
171
|
+
const checkTrigger = (mapping, context, trigger) => {
|
|
184
172
|
const isLit = mapping.kind === IdentifierKind.LITERAL;
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
if (prev !== undefined && (prev || isLit)) {
|
|
190
|
-
// prev 是字面量宏、或当前是字面量宏 → 字面量宏与他人触发词冲突,error。
|
|
191
|
-
errors.push(`${context}: 触发词 "${t}" 与另一条映射冲突(字面量宏触发词须全局唯一,防"字符串 vs 标识符"替换歧义)`);
|
|
192
|
-
}
|
|
193
|
-
// 记录:值=是否字面量宏(一旦记为 true 不回退,保证后续普通标识符命中同名也报错)
|
|
194
|
-
seenTrigger.set(key, (prev ?? false) || isLit);
|
|
173
|
+
const key = trigger.toLowerCase();
|
|
174
|
+
const prev = seenTrigger.get(key);
|
|
175
|
+
if (prev !== undefined && (prev || isLit)) {
|
|
176
|
+
errors.push(`${context}: 触发词 "${trigger}" 与另一条映射冲突(字面量宏触发词须全局唯一,防"字符串 vs 标识符"替换歧义)`);
|
|
195
177
|
}
|
|
196
|
-
//
|
|
197
|
-
|
|
198
|
-
|
|
178
|
+
// 一旦记为字面量宏不回退,保证后续普通标识符命中同名也报错
|
|
179
|
+
seenTrigger.set(key, (prev ?? false) || isLit);
|
|
180
|
+
};
|
|
181
|
+
const checkMapping = (mapping, context) => {
|
|
182
|
+
checkCanonical(mapping, context, errors);
|
|
183
|
+
const missingParent = missingParentMessage(mapping, context);
|
|
184
|
+
if (missingParent)
|
|
185
|
+
errors.push(missingParent);
|
|
186
|
+
for (const trigger of [mapping.localized, ...(mapping.aliases ?? [])]) {
|
|
187
|
+
checkScopeConflict(mapping, context, nfc(trigger));
|
|
188
|
+
checkTrigger(mapping, context, trigger);
|
|
199
189
|
}
|
|
200
190
|
};
|
|
201
191
|
vocabulary.structs.forEach((m, i) => checkMapping(m, `structs[${i}]`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/config/lexicons/identifiers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,cAoBX;AApBD,WAAY,cAAc;IACxB,eAAe;IACf,mCAAiB,CAAA;IACjB,WAAW;IACX,iCAAe,CAAA;IACf,WAAW;IACX,uCAAqB,CAAA;IACrB,UAAU;IACV,2CAAyB,CAAA;IACzB;;;;;;;;;OASG;IACH,qCAAmB,CAAA;AACrB,CAAC,EApBW,cAAc,KAAd,cAAc,QAoBzB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/config/lexicons/identifiers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,13 @@ export interface LspUiTexts {
|
|
|
32
32
|
readonly hintPrefix: string;
|
|
33
33
|
readonly fixPrefix: string;
|
|
34
34
|
readonly missingModuleHeader: string;
|
|
35
|
+
/** 名称解析悬停(ADR 0051):`写法 → 规范名(角色 · 父名)` 的角色名与括号 */
|
|
36
|
+
readonly resolutionRoleType: string;
|
|
37
|
+
readonly resolutionRoleField: string;
|
|
38
|
+
readonly resolutionRoleMember: string;
|
|
39
|
+
readonly resolutionRoleFunction: string;
|
|
40
|
+
readonly resolutionOpen: string;
|
|
41
|
+
readonly resolutionClose: string;
|
|
35
42
|
}
|
|
36
43
|
/**
|
|
37
44
|
* 从 JSON overlay 数据注册 LSP UI 文本(覆盖内联 fallback)。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp-ui-texts.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/lsp-ui-texts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,iBAAiB;AACjB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAErC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"lsp-ui-texts.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/lsp-ui-texts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,iBAAiB;AACjB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAErC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAErC,mDAAmD;IACnD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AA+ED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAElH;AAED,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAGrE"}
|
|
@@ -31,6 +31,12 @@ const EN_US_UI = {
|
|
|
31
31
|
hintPrefix: 'Hint:',
|
|
32
32
|
fixPrefix: 'Fix:',
|
|
33
33
|
missingModuleHeader: 'Missing module header. Add "Module <name>."',
|
|
34
|
+
resolutionRoleType: 'type',
|
|
35
|
+
resolutionRoleField: 'field',
|
|
36
|
+
resolutionRoleMember: 'enum member',
|
|
37
|
+
resolutionRoleFunction: 'function',
|
|
38
|
+
resolutionOpen: ' (',
|
|
39
|
+
resolutionClose: ')',
|
|
34
40
|
};
|
|
35
41
|
/** 内联 fallback:中文 UI 文本 */
|
|
36
42
|
const ZH_CN_UI = {
|
|
@@ -55,6 +61,12 @@ const ZH_CN_UI = {
|
|
|
55
61
|
hintPrefix: '提示:',
|
|
56
62
|
fixPrefix: '修复:',
|
|
57
63
|
missingModuleHeader: '缺少模块头。请添加 "模块 <名称>。"',
|
|
64
|
+
resolutionRoleType: '类型',
|
|
65
|
+
resolutionRoleField: '字段',
|
|
66
|
+
resolutionRoleMember: '枚举成员',
|
|
67
|
+
resolutionRoleFunction: '函数',
|
|
68
|
+
resolutionOpen: '(',
|
|
69
|
+
resolutionClose: ')',
|
|
58
70
|
};
|
|
59
71
|
const UI_BY_LEXICON = {
|
|
60
72
|
'en-US': EN_US_UI,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp-ui-texts.js","sourceRoot":"","sources":["../../../../src/config/lexicons/lsp-ui-texts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"lsp-ui-texts.js","sourceRoot":"","sources":["../../../../src/config/lexicons/lsp-ui-texts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAuCrD,2BAA2B;AAC3B,MAAM,QAAQ,GAAyB;IACrC,YAAY,EAAE,UAAU;IACxB,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,wCAAwC;IAC9D,cAAc,EAAE,iBAAiB;IACjC,iBAAiB,EAAE,gCAAgC;IACnD,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,uBAAuB;IAE9C,aAAa,EAAE,UAAU;IACzB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,OAAO;IACnB,cAAc,EAAE,WAAW;IAC3B,mBAAmB,EAAE,iBAAiB;IAEtC,gBAAgB,EAAE,UAAU;IAC5B,SAAS,EAAE,2HAA2H;IACtI,SAAS,EAAE,iHAAiH;IAC5H,SAAS,EAAE,0EAA0E;IACrF,aAAa,EAAE,6DAA6D;IAE5E,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,MAAM;IAEjB,mBAAmB,EAAE,6CAA6C;IAElE,kBAAkB,EAAE,MAAM;IAC1B,mBAAmB,EAAE,OAAO;IAC5B,oBAAoB,EAAE,aAAa;IACnC,sBAAsB,EAAE,UAAU;IAClC,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,GAAG;CACrB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,QAAQ,GAAyB;IACrC,YAAY,EAAE,KAAK;IACnB,iBAAiB,EAAE,MAAM;IACzB,oBAAoB,EAAE,YAAY;IAClC,cAAc,EAAE,MAAM;IACtB,iBAAiB,EAAE,WAAW;IAC9B,kBAAkB,EAAE,MAAM;IAC1B,qBAAqB,EAAE,MAAM;IAE7B,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,MAAM;IAE3B,gBAAgB,EAAE,QAAQ;IAC1B,SAAS,EAAE,gEAAgE;IAC3E,SAAS,EAAE,kDAAkD;IAC7D,SAAS,EAAE,8BAA8B;IACzC,aAAa,EAAE,oCAAoC;IAEnD,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAEhB,mBAAmB,EAAE,sBAAsB;IAE3C,kBAAkB,EAAE,IAAI;IACxB,mBAAmB,EAAE,IAAI;IACzB,oBAAoB,EAAE,MAAM;IAC5B,sBAAsB,EAAE,IAAI;IAC5B,cAAc,EAAE,GAAG;IACnB,eAAe,EAAE,GAAG;CACrB,CAAC;AAEF,MAAM,aAAa,GAAyC;IAC1D,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,OAA+C;IAC1G,aAAa,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,aAAa,CAAC,OAAiB;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;AAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/zh-CN.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/zh-CN.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OA+InB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../../src/config/lexicons/zh-CN.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../../src/config/lexicons/zh-CN.ts"],"names":[],"mappings":"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"}
|
|
@@ -261,6 +261,11 @@ export declare function isKeyword(word: string, lexicon?: Lexicon): boolean;
|
|
|
261
261
|
* Core IR 中使用 `Call(Name('await'))` 表示异步操作。
|
|
262
262
|
*/
|
|
263
263
|
export declare const BUILTIN_AWAIT = "await";
|
|
264
|
+
/**
|
|
265
|
+
* 内置运算符集合:解析器降为 `Call(Name(op))` 的运算符名。解释器按此分派,
|
|
266
|
+
* 名称解析(R2)据此把它们排除在待解析名字之外。
|
|
267
|
+
*/
|
|
268
|
+
export declare const BUILTIN_OPS: ReadonlySet<string>;
|
|
264
269
|
/**
|
|
265
270
|
* 验证是否为内置异步函数。
|
|
266
271
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../../src/config/semantic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;;;;;;GAOG;AACH,oBAAY,MAAM;IAChB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED;;;;;GAKG;AACH,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAItC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,MAAM,OAAO,UAAU,CAE/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAQxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAEzC,CAAC;AAMF;;;;GAIG;AACH,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,6CAA6C;IAC7C,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,iCAAiC;IACjC,MAAM,WAAW;IACjB,yCAAyC;IACzC,OAAO,YAAY;IACnB,QAAQ,YAAY;IACpB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAYjE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAO3E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,KAAK,CAAC;AAEjD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAajF,CAAC;AAEF,sDAAsD;AACtD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAEjE;AAED,0CAA0C;AAC1C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAEhE;AAMD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FL,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAMlE;AAMD;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|
|
1
|
+
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../../src/config/semantic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;;;;;;GAOG;AACH,oBAAY,MAAM;IAChB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED;;;;;GAKG;AACH,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAItC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,MAAM,OAAO,UAAU,CAE/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAQxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAEzC,CAAC;AAMF;;;;GAIG;AACH,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,6CAA6C;IAC7C,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,iCAAiC;IACjC,MAAM,WAAW;IACjB,yCAAyC;IACzC,OAAO,YAAY;IACnB,QAAQ,YAAY;IACpB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAYjE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAO3E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,KAAK,CAAC;AAEjD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAajF,CAAC;AAEF,sDAAsD;AACtD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAEjE;AAED,0CAA0C;AAC1C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAEhE;AAMD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FL,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAMlE;AAMD;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAO1C,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|
|
@@ -334,6 +334,18 @@ export function isKeyword(word, lexicon) {
|
|
|
334
334
|
* Core IR 中使用 `Call(Name('await'))` 表示异步操作。
|
|
335
335
|
*/
|
|
336
336
|
export const BUILTIN_AWAIT = 'await';
|
|
337
|
+
/**
|
|
338
|
+
* 内置运算符集合:解析器降为 `Call(Name(op))` 的运算符名。解释器按此分派,
|
|
339
|
+
* 名称解析(R2)据此把它们排除在待解析名字之外。
|
|
340
|
+
*/
|
|
341
|
+
export const BUILTIN_OPS = new Set([
|
|
342
|
+
'+', '-', '*', '/', '//', '%',
|
|
343
|
+
// 比较运算符必须与 evalBinaryOp 的 switch 分支一一对应。遗漏 '!='
|
|
344
|
+
// 会让 `not equal to`(降低为 Call(Name('!='), …))越过内置分发、
|
|
345
|
+
// 落入用户函数查找,从而抛出 "Undefined function '!='"。
|
|
346
|
+
'>', '<', '>=', '<=', '==', '!=',
|
|
347
|
+
'and', 'or', 'not',
|
|
348
|
+
]);
|
|
337
349
|
/**
|
|
338
350
|
* 验证是否为内置异步函数。
|
|
339
351
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../../src/config/semantic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../../src/config/semantic.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,14 @@ import type { Core } from '../types.js';
|
|
|
3
3
|
export declare function markFieldTypeInferred(field: Core.Field): void;
|
|
4
4
|
/** 字段是否在源码中未声明类型。 */
|
|
5
5
|
export declare function isFieldTypeInferred(field: Core.Field): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* 「未声明类型的 lambda 参数」旁路表:Core lambda 参数不携带 typeInferred(加入会改变 IR),
|
|
8
|
+
* 同理以对象身份登记。名称解析 R2(ADR 0051 §4、裁决 R31)只把声明类型当作类型来源,据此视其类型未知。
|
|
9
|
+
*/
|
|
10
|
+
type LambdaParam = Core.Lambda['params'][number];
|
|
11
|
+
/** 登记一个未声明类型的 lambda 参数(仅供降级阶段调用)。 */
|
|
12
|
+
export declare function markLambdaParamTypeInferred(param: LambdaParam): void;
|
|
13
|
+
/** lambda 参数是否在源码中未声明类型。 */
|
|
14
|
+
export declare function isLambdaParamTypeInferred(param: LambdaParam): boolean;
|
|
15
|
+
export {};
|
|
6
16
|
//# sourceMappingURL=inferred_fields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inferred_fields.d.ts","sourceRoot":"","sources":["../../../src/core/inferred_fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAuBxC,8BAA8B;AAC9B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAE7D;AAED,qBAAqB;AACrB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAE9D"}
|
|
1
|
+
{"version":3,"file":"inferred_fields.d.ts","sourceRoot":"","sources":["../../../src/core/inferred_fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAuBxC,8BAA8B;AAC9B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAE7D;AAED,qBAAqB;AACrB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAE9D;AAED;;;GAGG;AACH,KAAK,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAGjD,sCAAsC;AACtC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEpE;AAED,4BAA4B;AAC5B,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAErE"}
|
|
@@ -26,4 +26,13 @@ export function markFieldTypeInferred(field) {
|
|
|
26
26
|
export function isFieldTypeInferred(field) {
|
|
27
27
|
return inferredFields.has(field);
|
|
28
28
|
}
|
|
29
|
+
const inferredLambdaParams = new WeakSet();
|
|
30
|
+
/** 登记一个未声明类型的 lambda 参数(仅供降级阶段调用)。 */
|
|
31
|
+
export function markLambdaParamTypeInferred(param) {
|
|
32
|
+
inferredLambdaParams.add(param);
|
|
33
|
+
}
|
|
34
|
+
/** lambda 参数是否在源码中未声明类型。 */
|
|
35
|
+
export function isLambdaParamTypeInferred(param) {
|
|
36
|
+
return inferredLambdaParams.has(param);
|
|
37
|
+
}
|
|
29
38
|
//# sourceMappingURL=inferred_fields.js.map
|