@aster-cloud/aster-lang-ts 1.6.0 → 3.0.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 +64 -0
- package/dist/scripts/aster.js +5 -12
- package/dist/scripts/aster.js.map +1 -1
- package/dist/scripts/emit-classfiles.js +3 -1
- package/dist/scripts/emit-classfiles.js.map +1 -1
- package/dist/scripts/generate-core-ir-types.d.ts +16 -0
- package/dist/scripts/generate-core-ir-types.d.ts.map +1 -0
- package/dist/scripts/generate-core-ir-types.js +116 -0
- package/dist/scripts/generate-core-ir-types.js.map +1 -0
- package/dist/scripts/generate-naming-rules.d.ts +5 -0
- package/dist/scripts/generate-naming-rules.d.ts.map +1 -0
- package/dist/scripts/generate-naming-rules.js +35 -0
- package/dist/scripts/generate-naming-rules.js.map +1 -0
- package/dist/scripts/golden.js +1 -1
- package/dist/scripts/golden.js.map +1 -1
- package/dist/src/ast/ast_visitor.d.ts +27 -27
- package/dist/src/ast/ast_visitor.d.ts.map +1 -1
- package/dist/src/ast/ast_visitor.js.map +1 -1
- package/dist/src/browser/schema.d.ts.map +1 -1
- package/dist/src/browser/schema.js +1 -3
- package/dist/src/browser/schema.js.map +1 -1
- package/dist/src/browser.d.ts +7 -0
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +7 -4
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/policy-converter.js +6 -10
- package/dist/src/cli/policy-converter.js.map +1 -1
- package/dist/src/cli/utils/core-ir-file.d.ts +8 -0
- package/dist/src/cli/utils/core-ir-file.d.ts.map +1 -0
- package/dist/src/cli/utils/core-ir-file.js +29 -0
- package/dist/src/cli/utils/core-ir-file.js.map +1 -0
- package/dist/src/cnl-printer.d.ts.map +1 -1
- package/dist/src/cnl-printer.js +13 -3
- package/dist/src/cnl-printer.js.map +1 -1
- package/dist/src/compile-pipeline.d.ts.map +1 -1
- package/dist/src/compile-pipeline.js +2 -3
- package/dist/src/compile-pipeline.js.map +1 -1
- package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts.map +1 -1
- package/dist/src/config/lexicons/diagnostic-overlays.generated.js +18 -6
- package/dist/src/config/lexicons/diagnostic-overlays.generated.js.map +1 -1
- package/dist/src/config/lexicons/fallback-lexicon.d.ts +1 -1
- package/dist/src/config/lexicons/fallback-lexicon.d.ts.map +1 -1
- package/dist/src/config/lexicons/fallback-lexicon.js +1 -4
- package/dist/src/config/lexicons/fallback-lexicon.js.map +1 -1
- package/dist/src/config/lexicons/overlay-loader.d.ts +0 -13
- package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -1
- package/dist/src/config/lexicons/overlay-loader.js +0 -18
- package/dist/src/config/lexicons/overlay-loader.js.map +1 -1
- package/dist/src/config/lexicons/types.d.ts +0 -3
- package/dist/src/config/lexicons/types.d.ts.map +1 -1
- package/dist/src/config/lexicons/types.js.map +1 -1
- package/dist/src/core/canonical-decimal.d.ts +3 -0
- package/dist/src/core/canonical-decimal.d.ts.map +1 -0
- package/dist/src/core/canonical-decimal.js +19 -0
- package/dist/src/core/canonical-decimal.js.map +1 -0
- package/dist/src/core/canonical-json.d.ts +59 -0
- package/dist/src/core/canonical-json.d.ts.map +1 -0
- package/dist/src/core/canonical-json.js +250 -0
- package/dist/src/core/canonical-json.js.map +1 -0
- package/dist/src/core/core-ir-v2.generated.d.ts +807 -0
- package/dist/src/core/core-ir-v2.generated.d.ts.map +1 -0
- package/dist/src/core/core-ir-v2.generated.js +6 -0
- package/dist/src/core/core-ir-v2.generated.js.map +1 -0
- package/dist/src/core/core-ir-v2.schema.generated.d.ts +6 -0
- package/dist/src/core/core-ir-v2.schema.generated.d.ts.map +1 -0
- package/dist/src/core/core-ir-v2.schema.generated.js +2636 -0
- package/dist/src/core/core-ir-v2.schema.generated.js.map +1 -0
- package/dist/src/core/core_ir.d.ts +27 -11
- package/dist/src/core/core_ir.d.ts.map +1 -1
- package/dist/src/core/core_ir.js +118 -63
- package/dist/src/core/core_ir.js.map +1 -1
- package/dist/src/core/index.d.ts +4 -3
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +3 -2
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/inferred_fields.d.ts +9 -11
- package/dist/src/core/inferred_fields.d.ts.map +1 -1
- package/dist/src/core/inferred_fields.js +7 -28
- package/dist/src/core/inferred_fields.js.map +1 -1
- package/dist/src/core/interpreter.js +16 -35
- package/dist/src/core/interpreter.js.map +1 -1
- package/dist/src/core/lambda-captures.d.ts +14 -0
- package/dist/src/core/lambda-captures.d.ts.map +1 -0
- package/dist/src/core/lambda-captures.js +128 -0
- package/dist/src/core/lambda-captures.js.map +1 -0
- package/dist/src/core/pretty_core.d.ts.map +1 -1
- package/dist/src/core/pretty_core.js +6 -10
- package/dist/src/core/pretty_core.js.map +1 -1
- package/dist/src/core/read-core-ir.d.ts +15 -0
- package/dist/src/core/read-core-ir.d.ts.map +1 -0
- package/dist/src/core/read-core-ir.js +69 -0
- package/dist/src/core/read-core-ir.js.map +1 -0
- package/dist/src/core/resolution-mark.d.ts +3 -4
- package/dist/src/core/resolution-mark.d.ts.map +1 -1
- package/dist/src/core/resolution-mark.js +2 -3
- package/dist/src/core/resolution-mark.js.map +1 -1
- package/dist/src/core/resolve-typed-references.d.ts.map +1 -1
- package/dist/src/core/resolve-typed-references.js +11 -27
- package/dist/src/core/resolve-typed-references.js.map +1 -1
- package/dist/src/core/serialize-core-ir.d.ts +13 -0
- package/dist/src/core/serialize-core-ir.d.ts.map +1 -0
- package/dist/src/core/serialize-core-ir.js +125 -0
- package/dist/src/core/serialize-core-ir.js.map +1 -0
- package/dist/src/core/visitor.d.ts.map +1 -1
- package/dist/src/core/visitor.js +4 -1
- package/dist/src/core/visitor.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +2 -0
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +16 -0
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/effects/declared-effects.d.ts +17 -0
- package/dist/src/effects/declared-effects.d.ts.map +1 -0
- package/dist/src/effects/declared-effects.js +27 -0
- package/dist/src/effects/declared-effects.js.map +1 -0
- package/dist/src/effects/effect_inference.d.ts.map +1 -1
- package/dist/src/effects/effect_inference.js +14 -10
- package/dist/src/effects/effect_inference.js.map +1 -1
- package/dist/src/effects/effect_inference_browser.d.ts.map +1 -1
- package/dist/src/effects/effect_inference_browser.js +14 -9
- package/dist/src/effects/effect_inference_browser.js.map +1 -1
- package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
- package/dist/src/frontend/keyword-translator.js +3 -0
- package/dist/src/frontend/keyword-translator.js.map +1 -1
- package/dist/src/frontend/lexer.d.ts.map +1 -1
- package/dist/src/frontend/lexer.js +7 -3
- package/dist/src/frontend/lexer.js.map +1 -1
- package/dist/src/frontend/resolve-declarations.d.ts.map +1 -1
- package/dist/src/frontend/resolve-declarations.js +3 -23
- package/dist/src/frontend/resolve-declarations.js.map +1 -1
- package/dist/src/governance/input-refs.js +5 -8
- package/dist/src/governance/input-refs.js.map +1 -1
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/jvm/emitter.d.ts.map +1 -1
- package/dist/src/jvm/emitter.js +20 -29
- package/dist/src/jvm/emitter.js.map +1 -1
- package/dist/src/lower_to_core.d.ts +2 -19
- package/dist/src/lower_to_core.d.ts.map +1 -1
- package/dist/src/lower_to_core.js +194 -384
- package/dist/src/lower_to_core.js.map +1 -1
- package/dist/src/lsp/pii_diagnostics.d.ts.map +1 -1
- package/dist/src/lsp/pii_diagnostics.js +3 -8
- package/dist/src/lsp/pii_diagnostics.js.map +1 -1
- package/dist/src/mapping/mapping-ir.d.ts +3 -3
- package/dist/src/mapping/mapping-ir.js +3 -3
- package/dist/src/nodeid/node-id-map.d.ts +6 -15
- package/dist/src/nodeid/node-id-map.d.ts.map +1 -1
- package/dist/src/nodeid/node-id-map.js +6 -15
- package/dist/src/nodeid/node-id-map.js.map +1 -1
- package/dist/src/parser/constraint-parser.js +25 -6
- package/dist/src/parser/constraint-parser.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +30 -59
- 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 +17 -10
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser/field-variant-parser.d.ts.map +1 -1
- package/dist/src/parser/field-variant-parser.js +9 -3
- package/dist/src/parser/field-variant-parser.js.map +1 -1
- package/dist/src/parser/naming-rules.d.ts +19 -0
- package/dist/src/parser/naming-rules.d.ts.map +1 -0
- package/dist/src/parser/naming-rules.generated.d.ts +7 -0
- package/dist/src/parser/naming-rules.generated.d.ts.map +1 -0
- package/dist/src/parser/naming-rules.generated.js +392 -0
- package/dist/src/parser/naming-rules.generated.js.map +1 -0
- package/dist/src/parser/naming-rules.js +2 -0
- package/dist/src/parser/naming-rules.js.map +1 -0
- package/dist/src/parser/parse-issue.d.ts +2 -0
- package/dist/src/parser/parse-issue.d.ts.map +1 -1
- package/dist/src/parser/parse-issue.js +2 -0
- package/dist/src/parser/parse-issue.js.map +1 -1
- package/dist/src/parser/type-inference.d.ts +29 -70
- package/dist/src/parser/type-inference.d.ts.map +1 -1
- package/dist/src/parser/type-inference.js +82 -212
- package/dist/src/parser/type-inference.js.map +1 -1
- package/dist/src/parser/type-parser.d.ts +1 -1
- package/dist/src/parser/type-parser.d.ts.map +1 -1
- package/dist/src/parser/type-parser.js +31 -21
- package/dist/src/parser/type-parser.js.map +1 -1
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +2 -5
- package/dist/src/parser.js.map +1 -1
- package/dist/src/stability/stability_gate.d.ts +1 -1
- package/dist/src/stability/stability_gate.d.ts.map +1 -1
- package/dist/src/stability/stability_gate.js +2 -26
- package/dist/src/stability/stability_gate.js.map +1 -1
- package/dist/src/typecheck/async.d.ts.map +1 -1
- package/dist/src/typecheck/async.js +4 -1
- package/dist/src/typecheck/async.js.map +1 -1
- package/dist/src/typecheck/browser.d.ts.map +1 -1
- package/dist/src/typecheck/browser.js +4 -3
- package/dist/src/typecheck/browser.js.map +1 -1
- package/dist/src/typecheck/capabilities.d.ts.map +1 -1
- package/dist/src/typecheck/capabilities.js +3 -2
- package/dist/src/typecheck/capabilities.js.map +1 -1
- package/dist/src/typecheck/context.d.ts +5 -5
- package/dist/src/typecheck/context.d.ts.map +1 -1
- package/dist/src/typecheck/context.js.map +1 -1
- package/dist/src/typecheck/diagnostics.d.ts +2 -2
- package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
- package/dist/src/typecheck/diagnostics.js.map +1 -1
- package/dist/src/typecheck/effects.js +18 -11
- package/dist/src/typecheck/effects.js.map +1 -1
- package/dist/src/typecheck/expression.d.ts +4 -4
- package/dist/src/typecheck/expression.d.ts.map +1 -1
- package/dist/src/typecheck/expression.js +1 -1
- package/dist/src/typecheck/expression.js.map +1 -1
- package/dist/src/typecheck/generics.d.ts +2 -2
- package/dist/src/typecheck/generics.d.ts.map +1 -1
- package/dist/src/typecheck/generics.js +23 -12
- package/dist/src/typecheck/generics.js.map +1 -1
- package/dist/src/typecheck/governance.d.ts +1 -1
- package/dist/src/typecheck/governance.d.ts.map +1 -1
- package/dist/src/typecheck/governance.js +1 -1
- package/dist/src/typecheck/governance.js.map +1 -1
- package/dist/src/typecheck/module.d.ts.map +1 -1
- package/dist/src/typecheck/module.js +7 -6
- package/dist/src/typecheck/module.js.map +1 -1
- package/dist/src/typecheck/pattern.d.ts +2 -2
- package/dist/src/typecheck/pattern.d.ts.map +1 -1
- package/dist/src/typecheck/pattern.js +12 -46
- package/dist/src/typecheck/pattern.js.map +1 -1
- package/dist/src/typecheck/pure.d.ts +19 -19
- package/dist/src/typecheck/pure.d.ts.map +1 -1
- package/dist/src/typecheck/pure.js.map +1 -1
- package/dist/src/typecheck/statement.d.ts +6 -6
- package/dist/src/typecheck/statement.d.ts.map +1 -1
- package/dist/src/typecheck/statement.js +17 -20
- package/dist/src/typecheck/statement.js.map +1 -1
- package/dist/src/typecheck/symbol_table.d.ts +2 -2
- package/dist/src/typecheck/symbol_table.d.ts.map +1 -1
- package/dist/src/typecheck/symbol_table.js.map +1 -1
- package/dist/src/typecheck/type_system.d.ts +4 -4
- package/dist/src/typecheck/type_system.d.ts.map +1 -1
- package/dist/src/typecheck/type_system.js +1 -1
- package/dist/src/typecheck/type_system.js.map +1 -1
- package/dist/src/typecheck/workflow.d.ts +3 -3
- package/dist/src/typecheck/workflow.d.ts.map +1 -1
- package/dist/src/typecheck/workflow.js.map +1 -1
- package/dist/src/typecheck-pii.d.ts.map +1 -1
- package/dist/src/typecheck-pii.js +2 -13
- package/dist/src/typecheck-pii.js.map +1 -1
- package/dist/src/types/type-inference.d.ts +1 -13
- package/dist/src/types/type-inference.d.ts.map +1 -1
- package/dist/src/types/type-inference.js +1 -2
- package/dist/src/types/type-inference.js.map +1 -1
- package/dist/src/types.d.ts +160 -172
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/version.d.ts +3 -3
- package/dist/src/version.js +3 -3
- package/dist/test/helpers/core-ir-v2.d.ts +5 -0
- package/dist/test/helpers/core-ir-v2.d.ts.map +1 -0
- package/dist/test/helpers/core-ir-v2.js +123 -0
- package/dist/test/helpers/core-ir-v2.js.map +1 -0
- package/dist/test/helpers/locales-core-ir.d.ts +7 -0
- package/dist/test/helpers/locales-core-ir.d.ts.map +1 -0
- package/dist/test/helpers/locales-core-ir.js +15 -0
- package/dist/test/helpers/locales-core-ir.js.map +1 -0
- package/dist/test/helpers/locales-type-inference.d.ts +6 -0
- package/dist/test/helpers/locales-type-inference.d.ts.map +1 -0
- package/dist/test/helpers/locales-type-inference.js +14 -0
- package/dist/test/helpers/locales-type-inference.js.map +1 -0
- package/dist/test/helpers/test-factories.d.ts +5 -5
- package/dist/test/helpers/test-factories.d.ts.map +1 -1
- package/dist/test/helpers/test-factories.js +9 -8
- package/dist/test/helpers/test-factories.js.map +1 -1
- package/dist/test/integration/compliance/compliance-smoke.test.js +1 -2
- package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
- package/dist/test/integration/pipeline/pipeline.test.js +1 -1
- package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
- package/dist/test/integration/vocabulary-resolution.test.js +1 -1
- package/dist/test/integration/vocabulary-resolution.test.js.map +1 -1
- package/dist/test/regression/type-checker-golden.test.js +1 -1
- package/dist/test/regression/type-checker-golden.test.js.map +1 -1
- package/dist/test/type-checker/pii-propagation.test.js +7 -6
- package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
- package/dist/test/types/core-ir-v2.test-d.d.ts +28 -0
- package/dist/test/types/core-ir-v2.test-d.d.ts.map +1 -0
- package/dist/test/types/core-ir-v2.test-d.js +5 -0
- package/dist/test/types/core-ir-v2.test-d.js.map +1 -0
- package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js +4 -3
- package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js.map +1 -1
- package/dist/test/unit/canonicalizer/article-declaration-names.test.js +1 -1
- package/dist/test/unit/canonicalizer/article-declaration-names.test.js.map +1 -1
- package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js +2 -1
- package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js.map +1 -1
- package/dist/test/unit/core/canonical-json.test.d.ts +2 -0
- package/dist/test/unit/core/canonical-json.test.d.ts.map +1 -0
- package/dist/test/unit/core/canonical-json.test.js +38 -0
- package/dist/test/unit/core/canonical-json.test.js.map +1 -0
- package/dist/test/unit/core/caseless-pattern-name.test.js +6 -8
- package/dist/test/unit/core/caseless-pattern-name.test.js.map +1 -1
- package/dist/test/unit/core/core-ir-conformance.test.d.ts +2 -0
- package/dist/test/unit/core/core-ir-conformance.test.d.ts.map +1 -0
- package/dist/test/unit/core/core-ir-conformance.test.js +39 -0
- package/dist/test/unit/core/core-ir-conformance.test.js.map +1 -0
- package/dist/test/unit/core/core-ir-schema-parity.test.d.ts +2 -0
- package/dist/test/unit/core/core-ir-schema-parity.test.d.ts.map +1 -0
- package/dist/test/unit/core/core-ir-schema-parity.test.js +25 -0
- package/dist/test/unit/core/core-ir-schema-parity.test.js.map +1 -0
- package/dist/test/unit/core/core-ir-v2-outputs.test.d.ts +2 -0
- package/dist/test/unit/core/core-ir-v2-outputs.test.d.ts.map +1 -0
- package/dist/test/unit/core/core-ir-v2-outputs.test.js +128 -0
- package/dist/test/unit/core/core-ir-v2-outputs.test.js.map +1 -0
- package/dist/test/unit/core/read-core-ir.test.d.ts +2 -0
- package/dist/test/unit/core/read-core-ir.test.d.ts.map +1 -0
- package/dist/test/unit/core/read-core-ir.test.js +129 -0
- package/dist/test/unit/core/read-core-ir.test.js.map +1 -0
- package/dist/test/unit/core/resolve-typed-references.test.js +22 -18
- package/dist/test/unit/core/resolve-typed-references.test.js.map +1 -1
- package/dist/test/unit/diagnostics/lowering-diagnostics-parity.test.js +5 -5
- package/dist/test/unit/diagnostics/lowering-diagnostics-parity.test.js.map +1 -1
- package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js +3 -2
- package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js.map +1 -1
- package/dist/test/unit/effect/effect-caps-explicit-only.test.d.ts +2 -0
- package/dist/test/unit/effect/effect-caps-explicit-only.test.d.ts.map +1 -0
- package/dist/test/unit/effect/effect-caps-explicit-only.test.js +73 -0
- package/dist/test/unit/effect/effect-caps-explicit-only.test.js.map +1 -0
- package/dist/test/unit/effect/effect-inference.test.js +17 -13
- package/dist/test/unit/effect/effect-inference.test.js.map +1 -1
- package/dist/test/unit/emitter/emitter.test.js +47 -46
- package/dist/test/unit/emitter/emitter.test.js.map +1 -1
- package/dist/test/unit/formatter-corpus-roundtrip.test.js +5 -1
- package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
- package/dist/test/unit/formatter-roundtrip.test.js +5 -4
- package/dist/test/unit/formatter-roundtrip.test.js.map +1 -1
- package/dist/test/unit/frontend/resolve-declarations.test.js +13 -14
- package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -1
- package/dist/test/unit/governance/governance-check.test.js +1 -1
- package/dist/test/unit/governance/governance-check.test.js.map +1 -1
- package/dist/test/unit/governance/input-refs-parity.test.js +1 -1
- package/dist/test/unit/governance/input-refs-parity.test.js.map +1 -1
- package/dist/test/unit/governance/input-refs.test.js +2 -2
- package/dist/test/unit/governance/input-refs.test.js.map +1 -1
- package/dist/test/unit/governance/no-profile-ir-unchanged.test.js +6 -6
- package/dist/test/unit/governance/no-profile-ir-unchanged.test.js.map +1 -1
- package/dist/test/unit/interpreter/interpreter.test.js +23 -21
- package/dist/test/unit/interpreter/interpreter.test.js.map +1 -1
- package/dist/test/unit/interpreter/scope-writeback.test.js +28 -27
- package/dist/test/unit/interpreter/scope-writeback.test.js.map +1 -1
- package/dist/test/unit/keyword-aliases.test.js +1 -1
- package/dist/test/unit/lambda-capture-parity.test.js +43 -14
- package/dist/test/unit/lambda-capture-parity.test.js.map +1 -1
- package/dist/test/unit/lexicons/fallback-lexicon.test.d.ts +1 -1
- package/dist/test/unit/lexicons/fallback-lexicon.test.js +2 -4
- package/dist/test/unit/lexicons/fallback-lexicon.test.js.map +1 -1
- package/dist/test/unit/lowering/core-ir-v2.test.d.ts +2 -0
- package/dist/test/unit/lowering/core-ir-v2.test.d.ts.map +1 -0
- package/dist/test/unit/lowering/core-ir-v2.test.js +253 -0
- package/dist/test/unit/lowering/core-ir-v2.test.js.map +1 -0
- package/dist/test/unit/lowering/lowering.test.js +19 -14
- package/dist/test/unit/lowering/lowering.test.js.map +1 -1
- package/dist/test/unit/lsp/pii-diagnostics.test.js +33 -30
- package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
- package/dist/test/unit/lsp/utils.test.js +5 -4
- package/dist/test/unit/lsp/utils.test.js.map +1 -1
- package/dist/test/unit/parser/effect-unknown-name.test.js +7 -7
- package/dist/test/unit/parser/effect-unknown-name.test.js.map +1 -1
- package/dist/test/unit/parser/entry-annotations.test.js +2 -1
- package/dist/test/unit/parser/entry-annotations.test.js.map +1 -1
- package/dist/test/unit/parser/func-type.test.js +3 -3
- package/dist/test/unit/parser/func-type.test.js.map +1 -1
- package/dist/test/unit/parser/governance-sugar.test.js +4 -4
- package/dist/test/unit/parser/governance-sugar.test.js.map +1 -1
- package/dist/test/unit/parser/inferred-type-anchor.test.d.ts +2 -0
- package/dist/test/unit/parser/inferred-type-anchor.test.d.ts.map +1 -0
- package/dist/test/unit/parser/inferred-type-anchor.test.js +83 -0
- package/dist/test/unit/parser/inferred-type-anchor.test.js.map +1 -0
- package/dist/test/unit/parser/naming-rules-parity.test.d.ts +2 -0
- package/dist/test/unit/parser/naming-rules-parity.test.d.ts.map +1 -0
- package/dist/test/unit/parser/naming-rules-parity.test.js +26 -0
- package/dist/test/unit/parser/naming-rules-parity.test.js.map +1 -0
- package/dist/test/unit/parser/parser.test.js +11 -32
- package/dist/test/unit/parser/parser.test.js.map +1 -1
- package/dist/test/unit/parser/type-inference-vectors.test.d.ts +2 -0
- package/dist/test/unit/parser/type-inference-vectors.test.d.ts.map +1 -0
- package/dist/test/unit/parser/type-inference-vectors.test.js +40 -0
- package/dist/test/unit/parser/type-inference-vectors.test.js.map +1 -0
- package/dist/test/unit/parser/type-inference.test.d.ts +2 -1
- package/dist/test/unit/parser/type-inference.test.d.ts.map +1 -1
- package/dist/test/unit/parser/type-inference.test.js +93 -159
- package/dist/test/unit/parser/type-inference.test.js.map +1 -1
- package/dist/test/unit/regex-guard.test.js +6 -6
- package/dist/test/unit/regex-guard.test.js.map +1 -1
- package/dist/test/unit/rule-call-checks.test.js +2 -1
- package/dist/test/unit/rule-call-checks.test.js.map +1 -1
- package/dist/test/unit/typecheck/async-discipline-extended.test.js +11 -10
- package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -1
- package/dist/test/unit/typecheck/effect-prefix-injection.test.js +3 -2
- package/dist/test/unit/typecheck/effect-prefix-injection.test.js.map +1 -1
- package/dist/test/unit/typecheck/function-return-inference.test.js +33 -32
- package/dist/test/unit/typecheck/function-return-inference.test.js.map +1 -1
- package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js +5 -4
- package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js.map +1 -1
- package/dist/test/unit/typecheck/regression-fixes.test.js +110 -112
- package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
- package/dist/test/unit/typecheck/symbol-table.test.js +3 -2
- package/dist/test/unit/typecheck/symbol-table.test.js.map +1 -1
- package/dist/test/unit/typecheck/type-system-extended.test.js +6 -5
- package/dist/test/unit/typecheck/type-system-extended.test.js.map +1 -1
- package/dist/test/unit/typecheck/type-system.test.js +20 -19
- package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
- package/dist/test/unit/typecheck/typecheck-advanced.test.js +19 -18
- package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
- package/dist/test/unit/typecheck/untyped-field-dynamic.test.js +6 -4
- package/dist/test/unit/typecheck/untyped-field-dynamic.test.js.map +1 -1
- package/dist/test/unit/version.test.js +3 -3
- package/package.json +4 -3
- package/dist/src/config/lexicons/type-inference-rules.d.ts +0 -19
- package/dist/src/config/lexicons/type-inference-rules.d.ts.map +0 -1
- package/dist/src/config/lexicons/type-inference-rules.js +0 -63
- package/dist/src/config/lexicons/type-inference-rules.js.map +0 -1
- package/dist/src/core/core_ir_json.d.ts +0 -62
- package/dist/src/core/core_ir_json.d.ts.map +0 -1
- package/dist/src/core/core_ir_json.js +0 -81
- package/dist/src/core/core_ir_json.js.map +0 -1
- package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts +0 -2
- package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts.map +0 -1
- package/dist/test/unit/core_ir_json/core_ir_json.test.js +0 -218
- package/dist/test/unit/core_ir_json/core_ir_json.test.js.map +0 -1
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
export const NAMING_RULES = {
|
|
2
|
+
"version": 1,
|
|
3
|
+
"default": "Text",
|
|
4
|
+
"rules": [
|
|
5
|
+
{
|
|
6
|
+
"type": "Text",
|
|
7
|
+
"priority": 11,
|
|
8
|
+
"match": "lastWord",
|
|
9
|
+
"words": [
|
|
10
|
+
"message",
|
|
11
|
+
"dosage"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "Text",
|
|
16
|
+
"priority": 10,
|
|
17
|
+
"match": "lastWordMulti",
|
|
18
|
+
"words": [
|
|
19
|
+
"id",
|
|
20
|
+
"identifier"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "Text",
|
|
25
|
+
"priority": 8,
|
|
26
|
+
"match": "lastWord",
|
|
27
|
+
"words": [
|
|
28
|
+
"code",
|
|
29
|
+
"key",
|
|
30
|
+
"token",
|
|
31
|
+
"uuid",
|
|
32
|
+
"guid",
|
|
33
|
+
"vin"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "Float",
|
|
38
|
+
"priority": 10,
|
|
39
|
+
"match": "lastWord",
|
|
40
|
+
"words": [
|
|
41
|
+
"amount",
|
|
42
|
+
"price",
|
|
43
|
+
"cost",
|
|
44
|
+
"fee",
|
|
45
|
+
"total",
|
|
46
|
+
"balance",
|
|
47
|
+
"salary",
|
|
48
|
+
"income",
|
|
49
|
+
"payment",
|
|
50
|
+
"percentage",
|
|
51
|
+
"ratio"
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"type": "Float",
|
|
56
|
+
"priority": 9,
|
|
57
|
+
"match": "lastWord",
|
|
58
|
+
"words": [
|
|
59
|
+
"rate",
|
|
60
|
+
"interest"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"type": "Int",
|
|
65
|
+
"priority": 10,
|
|
66
|
+
"match": "lastWord",
|
|
67
|
+
"words": [
|
|
68
|
+
"count",
|
|
69
|
+
"number",
|
|
70
|
+
"qty",
|
|
71
|
+
"quantity",
|
|
72
|
+
"score",
|
|
73
|
+
"level",
|
|
74
|
+
"rank",
|
|
75
|
+
"index",
|
|
76
|
+
"size",
|
|
77
|
+
"length",
|
|
78
|
+
"width",
|
|
79
|
+
"height",
|
|
80
|
+
"age"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "Int",
|
|
85
|
+
"priority": 9,
|
|
86
|
+
"match": "anyWord",
|
|
87
|
+
"words": [
|
|
88
|
+
"year",
|
|
89
|
+
"years",
|
|
90
|
+
"month",
|
|
91
|
+
"months",
|
|
92
|
+
"week",
|
|
93
|
+
"weeks",
|
|
94
|
+
"day",
|
|
95
|
+
"days",
|
|
96
|
+
"hour",
|
|
97
|
+
"hours",
|
|
98
|
+
"minute",
|
|
99
|
+
"minutes",
|
|
100
|
+
"second",
|
|
101
|
+
"seconds"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"type": "Bool",
|
|
106
|
+
"priority": 11,
|
|
107
|
+
"match": "firstWord",
|
|
108
|
+
"words": [
|
|
109
|
+
"is",
|
|
110
|
+
"iss",
|
|
111
|
+
"ises",
|
|
112
|
+
"isd",
|
|
113
|
+
"ised",
|
|
114
|
+
"has",
|
|
115
|
+
"hass",
|
|
116
|
+
"hases",
|
|
117
|
+
"hasd",
|
|
118
|
+
"hased",
|
|
119
|
+
"can",
|
|
120
|
+
"cans",
|
|
121
|
+
"canes",
|
|
122
|
+
"cand",
|
|
123
|
+
"caned",
|
|
124
|
+
"should",
|
|
125
|
+
"shoulds",
|
|
126
|
+
"shouldes",
|
|
127
|
+
"shouldd",
|
|
128
|
+
"shoulded",
|
|
129
|
+
"was",
|
|
130
|
+
"wass",
|
|
131
|
+
"wases",
|
|
132
|
+
"wasd",
|
|
133
|
+
"wased",
|
|
134
|
+
"will",
|
|
135
|
+
"wills",
|
|
136
|
+
"willes",
|
|
137
|
+
"willd",
|
|
138
|
+
"willed",
|
|
139
|
+
"did",
|
|
140
|
+
"dids",
|
|
141
|
+
"dides",
|
|
142
|
+
"didd",
|
|
143
|
+
"dided",
|
|
144
|
+
"does",
|
|
145
|
+
"doess",
|
|
146
|
+
"doeses",
|
|
147
|
+
"doesd",
|
|
148
|
+
"doesed",
|
|
149
|
+
"allow",
|
|
150
|
+
"allows",
|
|
151
|
+
"allowes",
|
|
152
|
+
"allowd",
|
|
153
|
+
"allowed",
|
|
154
|
+
"enable",
|
|
155
|
+
"enables",
|
|
156
|
+
"enablees",
|
|
157
|
+
"enabled",
|
|
158
|
+
"enableed",
|
|
159
|
+
"disable",
|
|
160
|
+
"disables",
|
|
161
|
+
"disablees",
|
|
162
|
+
"disabled",
|
|
163
|
+
"disableed",
|
|
164
|
+
"active",
|
|
165
|
+
"actives",
|
|
166
|
+
"activees",
|
|
167
|
+
"actived",
|
|
168
|
+
"activeed",
|
|
169
|
+
"valid",
|
|
170
|
+
"valids",
|
|
171
|
+
"valides",
|
|
172
|
+
"validd",
|
|
173
|
+
"valided",
|
|
174
|
+
"require",
|
|
175
|
+
"requires",
|
|
176
|
+
"requirees",
|
|
177
|
+
"required",
|
|
178
|
+
"requireed"
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"type": "Bool",
|
|
183
|
+
"priority": 8,
|
|
184
|
+
"match": "lastWord",
|
|
185
|
+
"words": [
|
|
186
|
+
"flag",
|
|
187
|
+
"enabled",
|
|
188
|
+
"disabled",
|
|
189
|
+
"active",
|
|
190
|
+
"valid",
|
|
191
|
+
"approved",
|
|
192
|
+
"rejected",
|
|
193
|
+
"completed",
|
|
194
|
+
"confirmed",
|
|
195
|
+
"sufficient",
|
|
196
|
+
"success",
|
|
197
|
+
"passed",
|
|
198
|
+
"verified"
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"type": "DateTime",
|
|
203
|
+
"priority": 10,
|
|
204
|
+
"match": "lastWord",
|
|
205
|
+
"words": [
|
|
206
|
+
"date",
|
|
207
|
+
"time",
|
|
208
|
+
"at",
|
|
209
|
+
"timestamp",
|
|
210
|
+
"created",
|
|
211
|
+
"updated",
|
|
212
|
+
"modified",
|
|
213
|
+
"expired",
|
|
214
|
+
"birthday",
|
|
215
|
+
"anniversary"
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"type": "Text",
|
|
220
|
+
"priority": 8,
|
|
221
|
+
"match": "lastWord",
|
|
222
|
+
"words": [
|
|
223
|
+
"type",
|
|
224
|
+
"status",
|
|
225
|
+
"category",
|
|
226
|
+
"kind",
|
|
227
|
+
"mode"
|
|
228
|
+
]
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"type": "Text",
|
|
232
|
+
"priority": 7,
|
|
233
|
+
"match": "lastWord",
|
|
234
|
+
"words": [
|
|
235
|
+
"make",
|
|
236
|
+
"model",
|
|
237
|
+
"brand",
|
|
238
|
+
"manufacturer"
|
|
239
|
+
]
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"type": "Text",
|
|
243
|
+
"priority": 7,
|
|
244
|
+
"match": "lastWord",
|
|
245
|
+
"words": [
|
|
246
|
+
"name",
|
|
247
|
+
"title",
|
|
248
|
+
"description",
|
|
249
|
+
"comment",
|
|
250
|
+
"note",
|
|
251
|
+
"remark",
|
|
252
|
+
"address",
|
|
253
|
+
"email",
|
|
254
|
+
"phone",
|
|
255
|
+
"url",
|
|
256
|
+
"path",
|
|
257
|
+
"reason",
|
|
258
|
+
"recommendation",
|
|
259
|
+
"factors",
|
|
260
|
+
"purpose"
|
|
261
|
+
]
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"type": "Int",
|
|
265
|
+
"priority": 9,
|
|
266
|
+
"match": "lastWord",
|
|
267
|
+
"words": [
|
|
268
|
+
"rating",
|
|
269
|
+
"limit",
|
|
270
|
+
"premium",
|
|
271
|
+
"deductible",
|
|
272
|
+
"multiplier",
|
|
273
|
+
"deposit",
|
|
274
|
+
"line",
|
|
275
|
+
"utilization",
|
|
276
|
+
"inquiries",
|
|
277
|
+
"rent",
|
|
278
|
+
"debt",
|
|
279
|
+
"cards",
|
|
280
|
+
"value",
|
|
281
|
+
"payments"
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"type": "Int",
|
|
286
|
+
"priority": 8,
|
|
287
|
+
"match": "lastWord",
|
|
288
|
+
"words": [
|
|
289
|
+
"licensed",
|
|
290
|
+
"employed",
|
|
291
|
+
"job",
|
|
292
|
+
"experience"
|
|
293
|
+
]
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"type": "Int",
|
|
297
|
+
"priority": 9,
|
|
298
|
+
"match": "lastWord",
|
|
299
|
+
"words": [
|
|
300
|
+
"bps",
|
|
301
|
+
"apr",
|
|
302
|
+
"apy"
|
|
303
|
+
]
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"type": "Int",
|
|
307
|
+
"priority": 8,
|
|
308
|
+
"match": "lastWord",
|
|
309
|
+
"words": [
|
|
310
|
+
"checked"
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"type": "Bool",
|
|
315
|
+
"priority": 11,
|
|
316
|
+
"match": "textPrefix",
|
|
317
|
+
"strings": [
|
|
318
|
+
"是否",
|
|
319
|
+
"有无",
|
|
320
|
+
"能否",
|
|
321
|
+
"可否",
|
|
322
|
+
"允许",
|
|
323
|
+
"启用",
|
|
324
|
+
"禁用"
|
|
325
|
+
]
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"type": "Bool",
|
|
329
|
+
"priority": 8,
|
|
330
|
+
"match": "textSuffix",
|
|
331
|
+
"strings": [
|
|
332
|
+
"批准",
|
|
333
|
+
"通过",
|
|
334
|
+
"有效",
|
|
335
|
+
"合格",
|
|
336
|
+
"可疑",
|
|
337
|
+
"确认",
|
|
338
|
+
"验证"
|
|
339
|
+
]
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"type": "Int",
|
|
343
|
+
"priority": 10,
|
|
344
|
+
"match": "textSuffix",
|
|
345
|
+
"strings": [
|
|
346
|
+
"评分",
|
|
347
|
+
"年龄",
|
|
348
|
+
"数量",
|
|
349
|
+
"次数",
|
|
350
|
+
"额度",
|
|
351
|
+
"金额",
|
|
352
|
+
"保费",
|
|
353
|
+
"免赔额",
|
|
354
|
+
"账龄",
|
|
355
|
+
"卡数"
|
|
356
|
+
]
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"type": "Float",
|
|
360
|
+
"priority": 9,
|
|
361
|
+
"match": "textSuffix",
|
|
362
|
+
"strings": [
|
|
363
|
+
"利率",
|
|
364
|
+
"费率",
|
|
365
|
+
"比率",
|
|
366
|
+
"百分比"
|
|
367
|
+
]
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"type": "Bool",
|
|
371
|
+
"priority": 8,
|
|
372
|
+
"match": "textSuffix",
|
|
373
|
+
"strings": [
|
|
374
|
+
"genehmigt",
|
|
375
|
+
"berechtigt",
|
|
376
|
+
"verdaechtig",
|
|
377
|
+
"aktiviert",
|
|
378
|
+
"deaktiviert",
|
|
379
|
+
"aktiv",
|
|
380
|
+
"gueltig",
|
|
381
|
+
"erfolgreich",
|
|
382
|
+
"bestanden",
|
|
383
|
+
"bestaetigt",
|
|
384
|
+
"verifiziert",
|
|
385
|
+
"abgelehnt",
|
|
386
|
+
"abgeschlossen",
|
|
387
|
+
"erforderlich"
|
|
388
|
+
]
|
|
389
|
+
}
|
|
390
|
+
]
|
|
391
|
+
};
|
|
392
|
+
//# sourceMappingURL=naming-rules.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming-rules.generated.js","sourceRoot":"","sources":["../../../src/parser/naming-rules.generated.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming-rules.js","sourceRoot":"","sources":["../../../src/parser/naming-rules.ts"],"names":[],"mappings":""}
|
|
@@ -38,6 +38,8 @@ export declare const Issue: {
|
|
|
38
38
|
readonly invalidValue: (construct: string, value: string | number, allowed: string, message: string) => ParseIssue;
|
|
39
39
|
readonly callArity: (callee: string, expected: number, actual: number, message: string) => ParseIssue;
|
|
40
40
|
readonly unknownName: (kind: string, name: string, message: string) => ParseIssue;
|
|
41
|
+
/** E900(ADR 0055 #3):同一注解内参数名重复;解析码段 E050–E069 用满后的续段。 */
|
|
42
|
+
readonly duplicateAnnotationArg: (annotation: string, name: string) => ParseIssue;
|
|
41
43
|
};
|
|
42
44
|
/** 源码 token 作为字面片段参数(取其文本;无文本时取词法种类)。 */
|
|
43
45
|
export declare const tokenLit: (tok: Token) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-issue.d.ts","sourceRoot":"","sources":["../../../src/parser/parse-issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;AAMrE,eAAe;AACf,eAAO,MAAM,OAAO,GAAI,WAAW,MAAM,KAAG,MAAyC,CAAC;AACtF,yBAAyB;AACzB,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAyB,CAAC;AACnE,oBAAoB;AACpB,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAqB,CAAC;AAEzD,qDAAqD;AACrD,eAAO,MAAM,KAAK;+BACE,MAAM,WAAW,MAAM,KAAG,UAAU;oCAE/B,MAAM,SAAS,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEtD,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;sCAEhD,MAAM,SAAS,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;2CAE/D,MAAM,WAAW,MAAM,KAAG,UAAU;iCAE9C,MAAM,WAAW,MAAM,KAAG,UAAU;8CAEvB,MAAM,WAAW,MAAM,KAAG,UAAU;oCAE9C,MAAM,YAAY,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEzD,MAAM,QAAQ,MAAM,WAAW,MAAM,KAAG,UAAU;uCAE5C,MAAM,SAAS,MAAM,GAAG,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEnF,MAAM,YAAY,MAAM,UAAU,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEtE,MAAM,QAAQ,MAAM,WAAW,MAAM,KAAG,UAAU;CAE9D,CAAC;AAEX,yCAAyC;AACzC,eAAO,MAAM,QAAQ,GAAI,KAAK,KAAK,KAAG,MAA4C,CAAC"}
|
|
1
|
+
{"version":3,"file":"parse-issue.d.ts","sourceRoot":"","sources":["../../../src/parser/parse-issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;AAMrE,eAAe;AACf,eAAO,MAAM,OAAO,GAAI,WAAW,MAAM,KAAG,MAAyC,CAAC;AACtF,yBAAyB;AACzB,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAyB,CAAC;AACnE,oBAAoB;AACpB,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAqB,CAAC;AAEzD,qDAAqD;AACrD,eAAO,MAAM,KAAK;+BACE,MAAM,WAAW,MAAM,KAAG,UAAU;oCAE/B,MAAM,SAAS,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEtD,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;sCAEhD,MAAM,SAAS,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;2CAE/D,MAAM,WAAW,MAAM,KAAG,UAAU;iCAE9C,MAAM,WAAW,MAAM,KAAG,UAAU;8CAEvB,MAAM,WAAW,MAAM,KAAG,UAAU;oCAE9C,MAAM,YAAY,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEzD,MAAM,QAAQ,MAAM,WAAW,MAAM,KAAG,UAAU;uCAE5C,MAAM,SAAS,MAAM,GAAG,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEnF,MAAM,YAAY,MAAM,UAAU,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEtE,MAAM,QAAQ,MAAM,WAAW,MAAM,KAAG,UAAU;IAEtE,0DAA0D;kDACrB,MAAM,QAAQ,MAAM,KAAG,UAAU;CAE9D,CAAC;AAEX,yCAAyC;AACzC,eAAO,MAAM,QAAQ,GAAI,KAAK,KAAK,KAAG,MAA4C,CAAC"}
|
|
@@ -31,6 +31,8 @@ export const Issue = {
|
|
|
31
31
|
invalidValue: (construct, value, allowed, message) => issue("E067" /* ErrorCode.PARSE_INVALID_VALUE */, { construct, value, allowed }, message),
|
|
32
32
|
callArity: (callee, expected, actual, message) => issue("E068" /* ErrorCode.PARSE_CALL_ARITY */, { callee, expected, actual }, message),
|
|
33
33
|
unknownName: (kind, name, message) => issue("E069" /* ErrorCode.PARSE_UNKNOWN_NAME */, { kind, name }, message),
|
|
34
|
+
/** E900(ADR 0055 #3):同一注解内参数名重复;解析码段 E050–E069 用满后的续段。 */
|
|
35
|
+
duplicateAnnotationArg: (annotation, name) => issue("E900" /* ErrorCode.PARSE_DUPLICATE_ANNOTATION_ARG */, { annotation, name }, `Annotation @${annotation} repeats the argument ${name}`),
|
|
34
36
|
};
|
|
35
37
|
/** 源码 token 作为字面片段参数(取其文本;无文本时取词法种类)。 */
|
|
36
38
|
export const tokenLit = (tok) => lit(String(tok.value ?? tok.kind));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-issue.js","sourceRoot":"","sources":["../../../src/parser/parse-issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,SAAS,KAAK,CAAC,IAAe,EAAE,MAA6B,EAAE,OAAe;IAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,eAAe;AACf,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;AACtF,yBAAyB;AACzB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;AACnE,oBAAoB;AACpB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;AAEzD,qDAAqD;AACrD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,QAAQ,EAAE,CAAC,KAAa,EAAE,OAAe,EAAc,EAAE,CACvD,KAAK,wCAA2B,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;IACrD,aAAa,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAc,EAAE,CAC3E,KAAK,8CAAiC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;IAClE,UAAU,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,OAAe,EAAc,EAAE,CAC1E,KAAK,2CAA8B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC;IACjE,eAAe,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAE,OAAe,EAAc,EAAE,CAC9F,KAAK,iDAAoC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC;IAC9E,oBAAoB,EAAE,CAAC,KAAa,EAAE,OAAe,EAAc,EAAE,CACnE,KAAK,sDAAyC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;IACnE,UAAU,EAAE,CAAC,KAAa,EAAE,OAAe,EAAc,EAAE,CACzD,KAAK,gDAAmC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;IAC7D,mBAAmB,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAc,EAAE,CACtE,KAAK,oDAAuC,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC;IACrE,SAAS,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,OAAe,EAAc,EAAE,CAC9E,KAAK,yCAA4B,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC;IACpE,UAAU,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe,EAAc,EAAE,CACvE,KAAK,2CAA8B,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC;IAC9D,YAAY,EAAE,CAAC,SAAiB,EAAE,KAAsB,EAAE,OAAe,EAAE,OAAe,EAAc,EAAE,CACxG,KAAK,6CAAgC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC;IAC9E,SAAS,EAAE,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAc,EAAE,CAC3F,KAAK,0CAA6B,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;IAC1E,WAAW,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe,EAAc,EAAE,CACvE,KAAK,4CAA+B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-issue.js","sourceRoot":"","sources":["../../../src/parser/parse-issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 未标注形参 / 字段的类型推断(ADR 0056 §3.2)。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* 1.
|
|
8
|
-
* 2.
|
|
9
|
-
* 3.
|
|
10
|
-
* 4.
|
|
4
|
+
* 规则表是 aster-lang-locales type-inference/naming-rules.json 的内置副本(naming-rules.generated.ts,
|
|
5
|
+
* 由 shared/type-inference-naming-rules.json 生成并由 sibling parity 测试守护),与词法表无关:全部规则对所有
|
|
6
|
+
* 模块生效。算法与 aster-lang-core TypeInference 逐步相同,两侧用 locales 的共用测试向量对照:
|
|
7
|
+
* 1. 分词:名字只含 ASCII 字母、数字与 `_` 时按 `_` 切段,每段按 WORD 切词并做 ASCII 小写;否则词列表为空;
|
|
8
|
+
* 2. 逐条判定规则是否命中(首词 / 末词 / 任一词 / 整名前缀后缀);
|
|
9
|
+
* 3. 命中规则中 priority 最大者胜,同优先级取表中靠前者,都不命中取缺省类型;
|
|
10
|
+
* 4. 按约束修正(与约束书写顺序无关)。
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* ```typescript
|
|
14
|
-
* //
|
|
15
|
-
* inferFieldType('
|
|
16
|
-
* inferFieldType('
|
|
17
|
-
* inferFieldType('
|
|
18
|
-
* inferFieldType('
|
|
19
|
-
*
|
|
20
|
-
* // 约束驱动推断
|
|
21
|
-
* inferFieldType('score', [{ kind: 'Range', min: 0, max: 100 }]) // → Int
|
|
22
|
-
* inferFieldType('rate', [{ kind: 'Range', min: 0.0, max: 1.0 }]) // → Float
|
|
14
|
+
* inferFieldType('applicantId') // → Text(末词 id,且词数 ≥ 2)
|
|
15
|
+
* inferFieldType('loanAmount') // → Float
|
|
16
|
+
* inferFieldType('termMonths') // → Int
|
|
17
|
+
* inferFieldType('isApproved') // → Bool
|
|
18
|
+
* inferFieldType('score', [{ kind: 'Range', min: 0, max: 100, ... }]) // → Int
|
|
23
19
|
* ```
|
|
24
20
|
*/
|
|
25
21
|
import type { Constraint, Type } from '../types.js';
|
|
26
|
-
import type {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* 规则按照常见业务领域设计,覆盖:
|
|
33
|
-
* - 标识符类型(ID、Identifier、Vin)
|
|
34
|
-
* - 金融类型(Amount、Price、Cost)
|
|
35
|
-
* - 计数类型(Count、Number、Age)
|
|
36
|
-
* - 业务指标(Rating、Limit、Premium)
|
|
37
|
-
* - 布尔类型(isXxx、hasXxx、Flag、Sufficient)
|
|
38
|
-
* - 时间类型(Date、Time、At)
|
|
39
|
-
* - 分类类型(Type、Status、Category)
|
|
40
|
-
* - 产品属性(Make、Model)
|
|
41
|
-
*/
|
|
42
|
-
/**
|
|
43
|
-
* 语言无关的通用基线命名规则。
|
|
44
|
-
* 语言特定规则(英文布尔前缀、中文前缀、德语后缀等)
|
|
45
|
-
* 已拆分至 config/lexicons/type-inference-rules.ts(overlay 模式)。
|
|
46
|
-
*/
|
|
47
|
-
export declare const BASE_NAMING_RULES: readonly TypeInferenceRule[];
|
|
22
|
+
import type { PrimitiveTypeName } from '../types/type-inference.js';
|
|
23
|
+
export type { PrimitiveTypeName };
|
|
24
|
+
/** 第 1 步:分词。名字含 ASCII 字母、数字、`_` 以外的字符时返回空列表。 */
|
|
25
|
+
export declare function tokenize(name: string): string[];
|
|
26
|
+
/** 第 1–3 步:只按名字推断类型名。 */
|
|
27
|
+
export declare function inferTypeNameFromName(name: string): PrimitiveTypeName;
|
|
48
28
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* 推断规则:
|
|
52
|
-
* - Range 约束 → 数值类型(Int 或 Float)
|
|
53
|
-
* - Pattern 约束 → Text
|
|
54
|
-
* - Required 约束 → 不影响类型推断
|
|
55
|
-
*
|
|
56
|
-
* @param constraints 约束列表
|
|
57
|
-
* @returns 推断的类型名,如果无法从约束推断则返回 null
|
|
29
|
+
* 第 5 步的约束类型:存在 Range 时,任一端点的规范十进制串(ADR 0055 §5)含 `.` 得 Float,否则 Int;
|
|
30
|
+
* 不存在 Range 而存在 Pattern 时得 Text;其余为 null。
|
|
58
31
|
*/
|
|
59
|
-
export declare function
|
|
32
|
+
export declare function constraintType(constraints: readonly Constraint[]): PrimitiveTypeName | null;
|
|
33
|
+
/** 第 5 步:名字推断结果 n 与约束类型 c 合并。 */
|
|
34
|
+
export declare function refine(n: PrimitiveTypeName, c: PrimitiveTypeName | null): PrimitiveTypeName;
|
|
60
35
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* 按优先级尝试推断:
|
|
64
|
-
* 1. 约束驱动推断
|
|
65
|
-
* 2. 命名约定推断
|
|
66
|
-
* 3. 默认类型(Text)
|
|
67
|
-
*
|
|
68
|
-
* @param fieldName 字段名称
|
|
69
|
-
* @param constraints 可选的约束列表
|
|
70
|
-
* @returns 推断的类型 AST 节点
|
|
71
|
-
*/
|
|
72
|
-
export declare function inferFieldType(fieldName: string, constraints?: readonly Constraint[], lexicon?: Lexicon): Type;
|
|
73
|
-
/**
|
|
74
|
-
* 根据约束修正已推断的类型
|
|
75
|
-
*
|
|
76
|
-
* 当字段使用推断类型后又解析到约束时,可能需要修正类型。
|
|
77
|
-
* 例如:字段名 `value` 默认推断为 Text,但如果有 Range 约束则应为数值类型。
|
|
36
|
+
* 推断未标注形参 / 字段的类型:按名字推断,再按约束修正。
|
|
78
37
|
*
|
|
79
|
-
* @param
|
|
80
|
-
* @param constraints
|
|
81
|
-
* @returns
|
|
38
|
+
* @param fieldName 字段 / 形参名
|
|
39
|
+
* @param constraints 源码写下的约束
|
|
40
|
+
* @returns 推断的类型 AST 节点(span 由调用方锚定在名字 token,ADR 0056 §3.3)
|
|
82
41
|
*/
|
|
83
|
-
export declare function
|
|
42
|
+
export declare function inferFieldType(fieldName: string, constraints?: readonly Constraint[]): Type;
|
|
84
43
|
//# sourceMappingURL=type-inference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-inference.d.ts","sourceRoot":"","sources":["../../../src/parser/type-inference.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"type-inference.d.ts","sourceRoot":"","sources":["../../../src/parser/type-inference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAmB,IAAI,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAWlC,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAO/C;AAqBD,yBAAyB;AACzB,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAOrE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAI3F;AAWD,iCAAiC;AACjC,wBAAgB,MAAM,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,iBAAiB,CAK3F;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,SAAS,UAAU,EAAO,GAAG,IAAI,CAE/F"}
|