@tsonic/frontend 0.0.67 → 0.0.68
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/dist/.tsbuildinfo +1 -1
- package/dist/generic-function-values.d.ts.map +1 -1
- package/dist/generic-function-values.js +4 -2
- package/dist/generic-function-values.js.map +1 -1
- package/dist/graph/extraction/imports.d.ts.map +1 -1
- package/dist/graph/extraction/imports.js +5 -1
- package/dist/graph/extraction/imports.js.map +1 -1
- package/dist/ir/binding/binding-factory.d.ts.map +1 -1
- package/dist/ir/binding/binding-factory.js +239 -26
- package/dist/ir/binding/binding-factory.js.map +1 -1
- package/dist/ir/binding/binding-types.d.ts +1 -0
- package/dist/ir/binding/binding-types.d.ts.map +1 -1
- package/dist/ir/binding-resolution.test.js +171 -0
- package/dist/ir/binding-resolution.test.js.map +1 -1
- package/dist/ir/builder/imports.d.ts.map +1 -1
- package/dist/ir/builder/imports.js +13 -1
- package/dist/ir/builder/imports.js.map +1 -1
- package/dist/ir/builder.test.js +1347 -4
- package/dist/ir/builder.test.js.map +1 -1
- package/dist/ir/converters/anonymous-synthesis.d.ts +3 -2
- package/dist/ir/converters/anonymous-synthesis.d.ts.map +1 -1
- package/dist/ir/converters/anonymous-synthesis.js +88 -67
- package/dist/ir/converters/anonymous-synthesis.js.map +1 -1
- package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access/access-converter.js +44 -36
- package/dist/ir/converters/expressions/access/access-converter.js.map +1 -1
- package/dist/ir/converters/expressions/access/binding-resolution.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access/binding-resolution.js.map +1 -1
- package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access/member-resolution.js +15 -3
- package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -1
- package/dist/ir/converters/expressions/calls/call-converter.d.ts +2 -2
- package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls/call-converter.js +108 -4
- package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -1
- package/dist/ir/converters/expressions/calls/new-converter.d.ts +2 -1
- package/dist/ir/converters/expressions/calls/new-converter.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls/new-converter.js +4 -1
- package/dist/ir/converters/expressions/calls/new-converter.js.map +1 -1
- package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
- package/dist/ir/converters/expressions/collections.js +425 -121
- package/dist/ir/converters/expressions/collections.js.map +1 -1
- package/dist/ir/converters/expressions/dynamic-import.d.ts +6 -0
- package/dist/ir/converters/expressions/dynamic-import.d.ts.map +1 -0
- package/dist/ir/converters/expressions/dynamic-import.js +121 -0
- package/dist/ir/converters/expressions/dynamic-import.js.map +1 -0
- package/dist/ir/converters/expressions/functions.d.ts.map +1 -1
- package/dist/ir/converters/expressions/functions.js +28 -13
- package/dist/ir/converters/expressions/functions.js.map +1 -1
- package/dist/ir/converters/expressions/import-meta.d.ts +9 -0
- package/dist/ir/converters/expressions/import-meta.d.ts.map +1 -0
- package/dist/ir/converters/expressions/import-meta.js +93 -0
- package/dist/ir/converters/expressions/import-meta.js.map +1 -0
- package/dist/ir/converters/expressions/literals.d.ts +2 -1
- package/dist/ir/converters/expressions/literals.d.ts.map +1 -1
- package/dist/ir/converters/expressions/literals.js +73 -0
- package/dist/ir/converters/expressions/literals.js.map +1 -1
- package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
- package/dist/ir/converters/flow-narrowing.js +100 -0
- package/dist/ir/converters/flow-narrowing.js.map +1 -1
- package/dist/ir/converters/statements/control/loops.d.ts.map +1 -1
- package/dist/ir/converters/statements/control/loops.js +72 -8
- package/dist/ir/converters/statements/control/loops.js.map +1 -1
- package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/variables.js +22 -6
- package/dist/ir/converters/statements/declarations/variables.js.map +1 -1
- package/dist/ir/expression-converter.d.ts.map +1 -1
- package/dist/ir/expression-converter.js +13 -4
- package/dist/ir/expression-converter.js.map +1 -1
- package/dist/ir/program-context.d.ts +27 -0
- package/dist/ir/program-context.d.ts.map +1 -1
- package/dist/ir/program-context.js +12 -0
- package/dist/ir/program-context.js.map +1 -1
- package/dist/ir/type-system/internal/handle-types.d.ts +1 -0
- package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.js +37 -1
- package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
- package/dist/ir/type-system/type-system-call-resolution.d.ts +1 -1
- package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-call-resolution.js +158 -26
- package/dist/ir/type-system/type-system-call-resolution.js.map +1 -1
- package/dist/ir/type-system/type-system-inference.d.ts +1 -1
- package/dist/ir/type-system/type-system-inference.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-inference.js +189 -31
- package/dist/ir/type-system/type-system-inference.js.map +1 -1
- package/dist/ir/type-system/type-system-state.d.ts +14 -0
- package/dist/ir/type-system/type-system-state.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-state.js +1 -0
- package/dist/ir/type-system/type-system-state.js.map +1 -1
- package/dist/ir/type-system/type-system.d.ts +5 -1
- package/dist/ir/type-system/type-system.d.ts.map +1 -1
- package/dist/ir/type-system/type-system.js +5 -2
- package/dist/ir/type-system/type-system.js.map +1 -1
- package/dist/ir/types/expressions.d.ts +55 -1
- package/dist/ir/types/expressions.d.ts.map +1 -1
- package/dist/ir/types/index.d.ts +1 -1
- package/dist/ir/types/index.d.ts.map +1 -1
- package/dist/ir/types/index.js.map +1 -1
- package/dist/ir/types/module.d.ts +2 -0
- package/dist/ir/types/module.d.ts.map +1 -1
- package/dist/ir/types/type-ops.d.ts.map +1 -1
- package/dist/ir/types/type-ops.js +1 -0
- package/dist/ir/types/type-ops.js.map +1 -1
- package/dist/ir/types.d.ts +1 -1
- package/dist/ir/types.d.ts.map +1 -1
- package/dist/ir/types.js.map +1 -1
- package/dist/ir/validation/anonymous-type-lowering-pass.d.ts.map +1 -1
- package/dist/ir/validation/anonymous-type-lowering-pass.js +97 -9
- package/dist/ir/validation/anonymous-type-lowering-pass.js.map +1 -1
- package/dist/ir/validation/arrow-return-finalization-pass.js +3 -0
- package/dist/ir/validation/arrow-return-finalization-pass.js.map +1 -1
- package/dist/ir/validation/char-validation-pass.d.ts.map +1 -1
- package/dist/ir/validation/char-validation-pass.js +10 -0
- package/dist/ir/validation/char-validation-pass.js.map +1 -1
- package/dist/ir/validation/numeric-coercion-pass.d.ts.map +1 -1
- package/dist/ir/validation/numeric-coercion-pass.js +6 -0
- package/dist/ir/validation/numeric-coercion-pass.js.map +1 -1
- package/dist/ir/validation/numeric-invariants.test.js +180 -0
- package/dist/ir/validation/numeric-invariants.test.js.map +1 -1
- package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
- package/dist/ir/validation/numeric-proof-pass.js +188 -2
- package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
- package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
- package/dist/ir/validation/soundness-gate.js +29 -10
- package/dist/ir/validation/soundness-gate.js.map +1 -1
- package/dist/ir/validation/soundness-gate.test.js +127 -4
- package/dist/ir/validation/soundness-gate.test.js.map +1 -1
- package/dist/ir/validation/yield-lowering-pass.d.ts.map +1 -1
- package/dist/ir/validation/yield-lowering-pass.js +26 -2
- package/dist/ir/validation/yield-lowering-pass.js.map +1 -1
- package/dist/object-literal-method-runtime.d.ts +15 -0
- package/dist/object-literal-method-runtime.d.ts.map +1 -0
- package/dist/object-literal-method-runtime.js +279 -0
- package/dist/object-literal-method-runtime.js.map +1 -0
- package/dist/program/bindings.test.js +44 -0
- package/dist/program/bindings.test.js.map +1 -1
- package/dist/program/creation.d.ts.map +1 -1
- package/dist/program/creation.js +141 -18
- package/dist/program/creation.js.map +1 -1
- package/dist/program/creation.test.js +312 -2
- package/dist/program/creation.test.js.map +1 -1
- package/dist/program/dependency-graph.d.ts.map +1 -1
- package/dist/program/dependency-graph.js +49 -22
- package/dist/program/dependency-graph.js.map +1 -1
- package/dist/program/dependency-graph.test.d.ts +2 -0
- package/dist/program/dependency-graph.test.d.ts.map +1 -0
- package/dist/program/dependency-graph.test.js +118 -0
- package/dist/program/dependency-graph.test.js.map +1 -0
- package/dist/resolver/dynamic-import.d.ts +33 -0
- package/dist/resolver/dynamic-import.d.ts.map +1 -0
- package/dist/resolver/dynamic-import.js +142 -0
- package/dist/resolver/dynamic-import.js.map +1 -0
- package/dist/resolver/dynamic-import.test.d.ts +2 -0
- package/dist/resolver/dynamic-import.test.d.ts.map +1 -0
- package/dist/resolver/dynamic-import.test.js +150 -0
- package/dist/resolver/dynamic-import.test.js.map +1 -0
- package/dist/resolver/import-resolution.d.ts +2 -0
- package/dist/resolver/import-resolution.d.ts.map +1 -1
- package/dist/resolver/import-resolution.js +20 -3
- package/dist/resolver/import-resolution.js.map +1 -1
- package/dist/resolver/source-package-resolution.d.ts +11 -0
- package/dist/resolver/source-package-resolution.d.ts.map +1 -0
- package/dist/resolver/source-package-resolution.js +188 -0
- package/dist/resolver/source-package-resolution.js.map +1 -0
- package/dist/resolver/source-package-resolution.test.d.ts +2 -0
- package/dist/resolver/source-package-resolution.test.d.ts.map +1 -0
- package/dist/resolver/source-package-resolution.test.js +77 -0
- package/dist/resolver/source-package-resolution.test.js.map +1 -0
- package/dist/resolver/types.d.ts +1 -0
- package/dist/resolver/types.d.ts.map +1 -1
- package/dist/resolver.test.js +83 -0
- package/dist/resolver.test.js.map +1 -1
- package/dist/surface/profiles.d.ts +1 -0
- package/dist/surface/profiles.d.ts.map +1 -1
- package/dist/surface/profiles.js +4 -2
- package/dist/surface/profiles.js.map +1 -1
- package/dist/surface/profiles.test.js +10 -0
- package/dist/surface/profiles.test.js.map +1 -1
- package/dist/types/module.d.ts +1 -1
- package/dist/types/module.d.ts.map +1 -1
- package/dist/validation/features.d.ts +1 -1
- package/dist/validation/features.d.ts.map +1 -1
- package/dist/validation/features.js +37 -6
- package/dist/validation/features.js.map +1 -1
- package/dist/validation/features.test.js +137 -23
- package/dist/validation/features.test.js.map +1 -1
- package/dist/validation/imports.d.ts.map +1 -1
- package/dist/validation/imports.js +2 -8
- package/dist/validation/imports.js.map +1 -1
- package/dist/validation/imports.test.js +6 -9
- package/dist/validation/imports.test.js.map +1 -1
- package/dist/validation/static-safety.d.ts.map +1 -1
- package/dist/validation/static-safety.js +118 -67
- package/dist/validation/static-safety.js.map +1 -1
- package/dist/validator.maximus.test.js +225 -33
- package/dist/validator.maximus.test.js.map +1 -1
- package/dist/validator.test.js +87 -6
- package/dist/validator.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@ import { unknownType, voidType } from "./types.js";
|
|
|
19
19
|
import { emitDiagnostic, normalizeToNominal, isNullishPrimitive, makeMemberCacheKey, stripNullishForInference, } from "./type-system-state.js";
|
|
20
20
|
import { typesEqual, containsTypeParameter } from "./type-system-relations.js";
|
|
21
21
|
import { convertTypeNode, lookupStructuralMember, resolveCall, delegateToFunctionType, } from "./type-system-call-resolution.js";
|
|
22
|
+
import { resolveDynamicImportNamespace } from "../../resolver/dynamic-import.js";
|
|
22
23
|
// ─────────────────────────────────────────────────────────────────────────
|
|
23
24
|
// typeOfDecl — Get declared type of a declaration
|
|
24
25
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -388,6 +389,44 @@ export const tryInferTypeFromLiteralInitializer = (_state, declNode) => {
|
|
|
388
389
|
* - identifier initializers (propagate deterministically)
|
|
389
390
|
*/
|
|
390
391
|
export const tryInferReturnTypeFromCallExpression = (state, call, env) => {
|
|
392
|
+
if (call.expression.kind === ts.SyntaxKind.ImportKeyword) {
|
|
393
|
+
const resolution = resolveDynamicImportNamespace(call, call.getSourceFile().fileName, {
|
|
394
|
+
checker: state.checker,
|
|
395
|
+
compilerOptions: state.tsCompilerOptions,
|
|
396
|
+
sourceFilesByPath: state.sourceFilesByPath,
|
|
397
|
+
});
|
|
398
|
+
if (resolution.ok) {
|
|
399
|
+
const members = resolution.entries.flatMap((entry) => {
|
|
400
|
+
const declId = state.resolveIdentifier(entry.declarationName);
|
|
401
|
+
if (!declId)
|
|
402
|
+
return [];
|
|
403
|
+
const memberType = typeOfDecl(state, declId);
|
|
404
|
+
if (memberType.kind === "unknownType")
|
|
405
|
+
return [];
|
|
406
|
+
return [
|
|
407
|
+
{
|
|
408
|
+
kind: "propertySignature",
|
|
409
|
+
name: entry.exportName,
|
|
410
|
+
type: memberType,
|
|
411
|
+
isOptional: false,
|
|
412
|
+
isReadonly: true,
|
|
413
|
+
},
|
|
414
|
+
];
|
|
415
|
+
});
|
|
416
|
+
return {
|
|
417
|
+
kind: "referenceType",
|
|
418
|
+
name: "Promise",
|
|
419
|
+
typeArguments: [
|
|
420
|
+
members.length === 0
|
|
421
|
+
? { kind: "referenceType", name: "object" }
|
|
422
|
+
: {
|
|
423
|
+
kind: "objectType",
|
|
424
|
+
members,
|
|
425
|
+
},
|
|
426
|
+
],
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
}
|
|
391
430
|
const sigId = state.resolveCallSignature(call);
|
|
392
431
|
if (!sigId)
|
|
393
432
|
return undefined;
|
|
@@ -722,19 +761,7 @@ export const typeOfDecl = (state, declId) => {
|
|
|
722
761
|
// ─────────────────────────────────────────────────────────────────────────
|
|
723
762
|
// typeOfMember — Get declared type of a member (with inheritance substitution)
|
|
724
763
|
// ─────────────────────────────────────────────────────────────────────────
|
|
725
|
-
|
|
726
|
-
const memberName = member.kind === "byName" ? member.name : "unknown"; // MemberId.name not defined yet
|
|
727
|
-
// Common nullish unions (T | undefined | null) should behave like T for member lookup.
|
|
728
|
-
// This preserves deterministic typing for patterns like:
|
|
729
|
-
// const url = request.url; if (!url) return; url.absolutePath
|
|
730
|
-
const effectiveReceiver = receiver.kind === "unionType"
|
|
731
|
-
? (() => {
|
|
732
|
-
const nonNullish = receiver.types.filter((t) => t && !isNullishPrimitive(t));
|
|
733
|
-
return nonNullish.length === 1 && nonNullish[0]
|
|
734
|
-
? nonNullish[0]
|
|
735
|
-
: receiver;
|
|
736
|
-
})()
|
|
737
|
-
: receiver;
|
|
764
|
+
const resolveMemberTypeNoDiag = (state, receiver, memberName) => {
|
|
738
765
|
// Built-in dictionary pseudo-members used by TS-side ergonomics.
|
|
739
766
|
// Record<K, V> lowers to dictionaryType, and callers often use:
|
|
740
767
|
// - dict.Keys[i]
|
|
@@ -743,17 +770,17 @@ export const typeOfMember = (state, receiver, member, site) => {
|
|
|
743
770
|
//
|
|
744
771
|
// Resolve these deterministically at TypeSystem level so downstream passes
|
|
745
772
|
// (numeric proof, element access typing) don't receive unknownType poison.
|
|
746
|
-
if (
|
|
773
|
+
if (receiver.kind === "dictionaryType") {
|
|
747
774
|
if (memberName === "Keys") {
|
|
748
775
|
return {
|
|
749
776
|
kind: "arrayType",
|
|
750
|
-
elementType:
|
|
777
|
+
elementType: receiver.keyType,
|
|
751
778
|
};
|
|
752
779
|
}
|
|
753
780
|
if (memberName === "Values") {
|
|
754
781
|
return {
|
|
755
782
|
kind: "arrayType",
|
|
756
|
-
elementType:
|
|
783
|
+
elementType: receiver.valueType,
|
|
757
784
|
};
|
|
758
785
|
}
|
|
759
786
|
if (memberName === "Count" || memberName === "Length") {
|
|
@@ -766,7 +793,7 @@ export const typeOfMember = (state, receiver, member, site) => {
|
|
|
766
793
|
// Support both CLR-style `Length`/`Count` and TS/JS-style `length`.
|
|
767
794
|
// The latter is required for JS surfaces even when the underlying runtime
|
|
768
795
|
// value is an explicit CLR array (for example `Encoding.UTF8.GetBytes(...).length`).
|
|
769
|
-
if (
|
|
796
|
+
if (receiver.kind === "arrayType") {
|
|
770
797
|
if (memberName === "Length" ||
|
|
771
798
|
memberName === "Count" ||
|
|
772
799
|
memberName === "length") {
|
|
@@ -774,7 +801,7 @@ export const typeOfMember = (state, receiver, member, site) => {
|
|
|
774
801
|
}
|
|
775
802
|
}
|
|
776
803
|
// Tuples behave like fixed-size arrays for length access.
|
|
777
|
-
if (
|
|
804
|
+
if (receiver.kind === "tupleType") {
|
|
778
805
|
if (memberName === "Length" ||
|
|
779
806
|
memberName === "Count" ||
|
|
780
807
|
memberName === "length") {
|
|
@@ -782,16 +809,15 @@ export const typeOfMember = (state, receiver, member, site) => {
|
|
|
782
809
|
}
|
|
783
810
|
}
|
|
784
811
|
// 1. Normalize receiver to nominal form
|
|
785
|
-
const normalized = normalizeToNominal(state,
|
|
812
|
+
const normalized = normalizeToNominal(state, receiver);
|
|
786
813
|
if (!normalized) {
|
|
787
814
|
// Handle structural types (objectType)
|
|
788
|
-
if (
|
|
789
|
-
(
|
|
790
|
-
|
|
791
|
-
return
|
|
815
|
+
if (receiver.kind === "objectType" ||
|
|
816
|
+
(receiver.kind === "referenceType" && receiver.structuralMembers)) {
|
|
817
|
+
const structural = lookupStructuralMember(state, receiver, memberName);
|
|
818
|
+
return structural.kind === "unknownType" ? undefined : structural;
|
|
792
819
|
}
|
|
793
|
-
|
|
794
|
-
return unknownType;
|
|
820
|
+
return undefined;
|
|
795
821
|
}
|
|
796
822
|
// 2. Check cache
|
|
797
823
|
const cacheKey = makeMemberCacheKey(normalized.typeId.stableId, memberName, normalized.typeArgs);
|
|
@@ -836,7 +862,47 @@ export const typeOfMember = (state, receiver, member, site) => {
|
|
|
836
862
|
return result;
|
|
837
863
|
}
|
|
838
864
|
}
|
|
839
|
-
|
|
865
|
+
return undefined;
|
|
866
|
+
};
|
|
867
|
+
export const typeOfMember = (state, receiver, member, site) => {
|
|
868
|
+
const memberName = member.kind === "byName" ? member.name : "unknown"; // MemberId.name not defined yet
|
|
869
|
+
// Common nullish unions (T | undefined | null) should behave like T for member lookup.
|
|
870
|
+
// This preserves deterministic typing for patterns like:
|
|
871
|
+
// const url = request.url; if (!url) return; url.absolutePath
|
|
872
|
+
const effectiveReceiver = receiver.kind === "unionType"
|
|
873
|
+
? (() => {
|
|
874
|
+
const nonNullish = receiver.types.filter((t) => t && !isNullishPrimitive(t));
|
|
875
|
+
return nonNullish.length === 1 && nonNullish[0]
|
|
876
|
+
? nonNullish[0]
|
|
877
|
+
: receiver;
|
|
878
|
+
})()
|
|
879
|
+
: receiver;
|
|
880
|
+
if (effectiveReceiver.kind === "unionType") {
|
|
881
|
+
const nonNullish = effectiveReceiver.types.filter((t) => t && !isNullishPrimitive(t));
|
|
882
|
+
if (nonNullish.length > 1) {
|
|
883
|
+
let resolved;
|
|
884
|
+
for (const part of nonNullish) {
|
|
885
|
+
const partType = resolveMemberTypeNoDiag(state, part, memberName);
|
|
886
|
+
if (!partType) {
|
|
887
|
+
emitDiagnostic(state, "TSN5203", `Member '${memberName}' not found`, site);
|
|
888
|
+
return unknownType;
|
|
889
|
+
}
|
|
890
|
+
if (!resolved) {
|
|
891
|
+
resolved = partType;
|
|
892
|
+
continue;
|
|
893
|
+
}
|
|
894
|
+
if (!typesEqual(resolved, partType)) {
|
|
895
|
+
emitDiagnostic(state, "TSN5203", `Member '${memberName}' has incompatible types across union constituents`, site);
|
|
896
|
+
return unknownType;
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
if (resolved)
|
|
900
|
+
return resolved;
|
|
901
|
+
}
|
|
902
|
+
}
|
|
903
|
+
const resolved = resolveMemberTypeNoDiag(state, effectiveReceiver, memberName);
|
|
904
|
+
if (resolved)
|
|
905
|
+
return resolved;
|
|
840
906
|
emitDiagnostic(state, "TSN5203", `Member '${memberName}' not found`, site);
|
|
841
907
|
return unknownType;
|
|
842
908
|
};
|
|
@@ -938,20 +1004,109 @@ export const hasTypeParameters = (state, declId) => {
|
|
|
938
1004
|
// ─────────────────────────────────────────────────────────────────────────
|
|
939
1005
|
// typeOfMemberId — Get type of member by handle
|
|
940
1006
|
// ─────────────────────────────────────────────────────────────────────────
|
|
941
|
-
export const typeOfMemberId = (state, memberId) => {
|
|
1007
|
+
export const typeOfMemberId = (state, memberId, receiverType) => {
|
|
942
1008
|
const memberInfo = state.handleRegistry.getMember(memberId);
|
|
943
1009
|
if (!memberInfo) {
|
|
944
1010
|
return unknownType;
|
|
945
1011
|
}
|
|
946
|
-
// If the member has a type node, convert it
|
|
947
|
-
if (memberInfo.typeNode) {
|
|
948
|
-
return convertTypeNode(state, memberInfo.typeNode);
|
|
949
|
-
}
|
|
950
1012
|
// Otherwise, attempt to recover type deterministically from the member declaration.
|
|
951
1013
|
// This is required for namespace imports (`import * as X`) where members are
|
|
952
1014
|
// function declarations / const declarations (no typeNode captured by Binding).
|
|
953
1015
|
const decl = memberInfo.declNode;
|
|
954
1016
|
if (decl) {
|
|
1017
|
+
const normalizeDeclaringTypeName = (name) => name
|
|
1018
|
+
.replace(/\$instance$/, "")
|
|
1019
|
+
.replace(/^__(.+)\$views$/, "$1")
|
|
1020
|
+
.replace(/_\d+$/, "")
|
|
1021
|
+
.replace(/`\d+$/, "");
|
|
1022
|
+
const getDeclaringTypeSubstitution = () => {
|
|
1023
|
+
if (!receiverType)
|
|
1024
|
+
return undefined;
|
|
1025
|
+
const extractReceiverRef = (type) => {
|
|
1026
|
+
if (type.kind === "referenceType")
|
|
1027
|
+
return type;
|
|
1028
|
+
if (type.kind === "intersectionType") {
|
|
1029
|
+
return type.types.find((part) => part.kind === "referenceType");
|
|
1030
|
+
}
|
|
1031
|
+
if (type.kind === "unionType") {
|
|
1032
|
+
const nonNullish = type.types.filter((part) => !(part.kind === "primitiveType" &&
|
|
1033
|
+
(part.name === "null" || part.name === "undefined")));
|
|
1034
|
+
const onlyNonNullish = nonNullish[0];
|
|
1035
|
+
return nonNullish.length === 1 && onlyNonNullish
|
|
1036
|
+
? extractReceiverRef(onlyNonNullish)
|
|
1037
|
+
: undefined;
|
|
1038
|
+
}
|
|
1039
|
+
return undefined;
|
|
1040
|
+
};
|
|
1041
|
+
const receiverRef = extractReceiverRef(receiverType);
|
|
1042
|
+
if (!receiverRef?.typeArguments ||
|
|
1043
|
+
receiverRef.typeArguments.length === 0) {
|
|
1044
|
+
return undefined;
|
|
1045
|
+
}
|
|
1046
|
+
const parent = decl.parent;
|
|
1047
|
+
const declaringType = ts.isInterfaceDeclaration(parent) ||
|
|
1048
|
+
ts.isClassDeclaration(parent) ||
|
|
1049
|
+
ts.isTypeAliasDeclaration(parent)
|
|
1050
|
+
? parent
|
|
1051
|
+
: undefined;
|
|
1052
|
+
if (!declaringType?.name || !declaringType.typeParameters) {
|
|
1053
|
+
return undefined;
|
|
1054
|
+
}
|
|
1055
|
+
if (normalizeDeclaringTypeName(receiverRef.name) !==
|
|
1056
|
+
normalizeDeclaringTypeName(declaringType.name.text)) {
|
|
1057
|
+
return undefined;
|
|
1058
|
+
}
|
|
1059
|
+
const typeParams = declaringType.typeParameters;
|
|
1060
|
+
if (typeParams.length !== receiverRef.typeArguments.length) {
|
|
1061
|
+
return undefined;
|
|
1062
|
+
}
|
|
1063
|
+
const receiverTypeArguments = receiverRef.typeArguments;
|
|
1064
|
+
if (!receiverTypeArguments) {
|
|
1065
|
+
return undefined;
|
|
1066
|
+
}
|
|
1067
|
+
const entries = [];
|
|
1068
|
+
for (const [index, param] of typeParams.entries()) {
|
|
1069
|
+
const arg = receiverTypeArguments[index];
|
|
1070
|
+
if (!arg) {
|
|
1071
|
+
return undefined;
|
|
1072
|
+
}
|
|
1073
|
+
entries.push([param.name.text, arg]);
|
|
1074
|
+
}
|
|
1075
|
+
return new Map(entries);
|
|
1076
|
+
};
|
|
1077
|
+
const substitution = getDeclaringTypeSubstitution();
|
|
1078
|
+
const applySubstitution = (type) => substitution
|
|
1079
|
+
? irSubstitute(type, substitution)
|
|
1080
|
+
: type;
|
|
1081
|
+
if (ts.isMethodDeclaration(decl) || ts.isMethodSignature(decl)) {
|
|
1082
|
+
if (!decl.type)
|
|
1083
|
+
return unknownType;
|
|
1084
|
+
if (decl.parameters.some((p) => p.type === undefined))
|
|
1085
|
+
return unknownType;
|
|
1086
|
+
const parameters = decl.parameters.map((p) => ({
|
|
1087
|
+
kind: "parameter",
|
|
1088
|
+
pattern: {
|
|
1089
|
+
kind: "identifierPattern",
|
|
1090
|
+
name: ts.isIdentifier(p.name) ? p.name.text : "param",
|
|
1091
|
+
},
|
|
1092
|
+
type: p.type
|
|
1093
|
+
? applySubstitution(convertTypeNode(state, p.type))
|
|
1094
|
+
: undefined,
|
|
1095
|
+
initializer: undefined,
|
|
1096
|
+
isOptional: !!p.questionToken || !!p.initializer,
|
|
1097
|
+
isRest: !!p.dotDotDotToken,
|
|
1098
|
+
passing: "value",
|
|
1099
|
+
}));
|
|
1100
|
+
return {
|
|
1101
|
+
kind: "functionType",
|
|
1102
|
+
parameters,
|
|
1103
|
+
returnType: applySubstitution(convertTypeNode(state, decl.type)),
|
|
1104
|
+
};
|
|
1105
|
+
}
|
|
1106
|
+
// If the member has a type node, convert it with any available declaring-type substitution.
|
|
1107
|
+
if (memberInfo.typeNode) {
|
|
1108
|
+
return applySubstitution(convertTypeNode(state, memberInfo.typeNode));
|
|
1109
|
+
}
|
|
955
1110
|
if (ts.isFunctionDeclaration(decl)) {
|
|
956
1111
|
// Determinism: require explicit parameter + return annotations.
|
|
957
1112
|
if (!decl.type)
|
|
@@ -985,6 +1140,9 @@ export const typeOfMemberId = (state, memberId) => {
|
|
|
985
1140
|
return inferred ?? unknownType;
|
|
986
1141
|
}
|
|
987
1142
|
}
|
|
1143
|
+
if (memberInfo.typeNode) {
|
|
1144
|
+
return convertTypeNode(state, memberInfo.typeNode);
|
|
1145
|
+
}
|
|
988
1146
|
return unknownType;
|
|
989
1147
|
};
|
|
990
1148
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-system-inference.js","sourceRoot":"","sources":["../../../src/ir/type-system/type-system-inference.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-system-inference.js","sourceRoot":"","sources":["../../../src/ir/type-system/type-system-inference.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { IrType, IrPrimitiveType, IrMethodSignature } from "../types/index.js";
|
|
12
12
|
import type { Diagnostic, DiagnosticCode } from "../../types/diagnostic.js";
|
|
13
|
+
import type * as ts from "typescript";
|
|
13
14
|
import type { DeclId, SignatureId, MemberId, TypeSyntaxId, TypeParameterInfo, ParameterMode } from "./types.js";
|
|
14
15
|
import { unknownType, neverType, voidType } from "./types.js";
|
|
15
16
|
import type { AliasTable } from "./internal/universe/alias-table.js";
|
|
@@ -77,6 +78,12 @@ export type ResolvedCall = {
|
|
|
77
78
|
readonly parameterModes: readonly ParameterMode[];
|
|
78
79
|
/** Fully instantiated return type */
|
|
79
80
|
readonly returnType: IrType;
|
|
81
|
+
/**
|
|
82
|
+
* True when the selected signature had an explicit return type declaration.
|
|
83
|
+
* This is used to distinguish deliberate `unknown` returns from poisoned
|
|
84
|
+
* fallback caused by missing annotations.
|
|
85
|
+
*/
|
|
86
|
+
readonly hasDeclaredReturnType: boolean;
|
|
80
87
|
/**
|
|
81
88
|
* Type predicate info for narrowing (x is T).
|
|
82
89
|
* Only present if the function has a type predicate return type.
|
|
@@ -134,6 +141,8 @@ export type RawSignatureInfo = {
|
|
|
134
141
|
readonly thisParameterType?: IrType;
|
|
135
142
|
/** Return type (voidType if not specified) */
|
|
136
143
|
readonly returnType: IrType;
|
|
144
|
+
/** Whether the source signature declared a return type explicitly. */
|
|
145
|
+
readonly hasDeclaredReturnType: boolean;
|
|
137
146
|
/** Parameter modes */
|
|
138
147
|
readonly parameterModes: readonly ParameterMode[];
|
|
139
148
|
/** Type parameters for generic methods */
|
|
@@ -152,6 +161,7 @@ export type RawSignatureInfo = {
|
|
|
152
161
|
* Uses simple TS name, resolved via UnifiedTypeCatalog.resolveTsName().
|
|
153
162
|
*/
|
|
154
163
|
readonly declaringTypeTsName?: string;
|
|
164
|
+
readonly declaringTypeParameterNames?: readonly string[];
|
|
155
165
|
readonly declaringMemberName?: string;
|
|
156
166
|
};
|
|
157
167
|
/**
|
|
@@ -227,6 +237,7 @@ export type SignatureInfo = {
|
|
|
227
237
|
* Resolved via UnifiedTypeCatalog.resolveTsName() to get CLR FQ name.
|
|
228
238
|
*/
|
|
229
239
|
readonly declaringTypeTsName?: string;
|
|
240
|
+
readonly declaringTypeParameterNames?: readonly string[];
|
|
230
241
|
/**
|
|
231
242
|
* Declaring member name.
|
|
232
243
|
*
|
|
@@ -391,6 +402,9 @@ export type TypeSystemState = {
|
|
|
391
402
|
readonly resolveIdentifier: (node: unknown) => DeclId | undefined;
|
|
392
403
|
readonly resolveCallSignature: (node: unknown) => SignatureId | undefined;
|
|
393
404
|
readonly resolveConstructorSignature: (node: unknown) => SignatureId | undefined;
|
|
405
|
+
readonly checker: ts.TypeChecker;
|
|
406
|
+
readonly tsCompilerOptions: ts.CompilerOptions;
|
|
407
|
+
readonly sourceFilesByPath: ReadonlyMap<string, ts.SourceFile>;
|
|
394
408
|
readonly declTypeCache: Map<number, IrType>;
|
|
395
409
|
readonly memberDeclaredTypeCache: Map<string, IrType>;
|
|
396
410
|
readonly signatureRawCache: Map<number, RawSignatureInfo>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-system-state.d.ts","sourceRoot":"","sources":["../../../src/ir/type-system/type-system-state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"type-system-state.d.ts","sourceRoot":"","sources":["../../../src/ir/type-system/type-system-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,7 @@ export const poisonedCall = (arity, diagnostics) => ({
|
|
|
45
45
|
parameterTypes: Array(arity).fill(unknownType),
|
|
46
46
|
parameterModes: Array(arity).fill("value"),
|
|
47
47
|
returnType: unknownType,
|
|
48
|
+
hasDeclaredReturnType: false,
|
|
48
49
|
diagnostics,
|
|
49
50
|
});
|
|
50
51
|
// ═══════════════════════════════════════════════════════════════════════════
|