@tsonic/frontend 0.0.5 → 0.0.11
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ir/builder/imports.d.ts.map +1 -1
- package/dist/ir/builder/imports.js +0 -5
- package/dist/ir/builder/imports.js.map +1 -1
- package/dist/ir/builder.test.js +60 -0
- package/dist/ir/builder.test.js.map +1 -1
- package/dist/ir/converters/expressions/access.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access.js +65 -2
- package/dist/ir/converters/expressions/access.js.map +1 -1
- package/dist/ir/converters/expressions/calls.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls.js +49 -1
- package/dist/ir/converters/expressions/calls.js.map +1 -1
- package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
- package/dist/ir/converters/expressions/collections.js +4 -1
- package/dist/ir/converters/expressions/collections.js.map +1 -1
- package/dist/ir/converters/expressions/functions.d.ts.map +1 -1
- package/dist/ir/converters/expressions/functions.js +3 -1
- package/dist/ir/converters/expressions/functions.js.map +1 -1
- package/dist/ir/converters/expressions/helpers.d.ts +10 -0
- package/dist/ir/converters/expressions/helpers.d.ts.map +1 -1
- package/dist/ir/converters/expressions/helpers.js +173 -7
- package/dist/ir/converters/expressions/helpers.js.map +1 -1
- package/dist/ir/converters/expressions/index.d.ts +1 -1
- package/dist/ir/converters/expressions/index.d.ts.map +1 -1
- package/dist/ir/converters/expressions/index.js +1 -1
- package/dist/ir/converters/expressions/index.js.map +1 -1
- package/dist/ir/converters/expressions/literals.d.ts.map +1 -1
- package/dist/ir/converters/expressions/literals.js +2 -1
- package/dist/ir/converters/expressions/literals.js.map +1 -1
- package/dist/ir/converters/expressions/numeric-recovery.test.d.ts +14 -0
- package/dist/ir/converters/expressions/numeric-recovery.test.d.ts.map +1 -0
- package/dist/ir/converters/expressions/numeric-recovery.test.js +286 -0
- package/dist/ir/converters/expressions/numeric-recovery.test.js.map +1 -0
- package/dist/ir/converters/expressions/operators.d.ts.map +1 -1
- package/dist/ir/converters/expressions/operators.js +16 -2
- package/dist/ir/converters/expressions/operators.js.map +1 -1
- package/dist/ir/converters/expressions/other.d.ts.map +1 -1
- package/dist/ir/converters/expressions/other.js +4 -1
- package/dist/ir/converters/expressions/other.js.map +1 -1
- package/dist/ir/converters/statements/control/loops.d.ts.map +1 -1
- package/dist/ir/converters/statements/control/loops.js +1 -0
- package/dist/ir/converters/statements/control/loops.js.map +1 -1
- package/dist/ir/expression-converter.d.ts.map +1 -1
- package/dist/ir/expression-converter.js +81 -9
- package/dist/ir/expression-converter.js.map +1 -1
- package/dist/ir/type-converter/arrays.d.ts.map +1 -1
- package/dist/ir/type-converter/arrays.js +1 -0
- package/dist/ir/type-converter/arrays.js.map +1 -1
- package/dist/ir/type-converter/inference.d.ts.map +1 -1
- package/dist/ir/type-converter/inference.js +31 -20
- package/dist/ir/type-converter/inference.js.map +1 -1
- package/dist/ir/type-converter/literals.d.ts.map +1 -1
- package/dist/ir/type-converter/literals.js +2 -1
- package/dist/ir/type-converter/literals.js.map +1 -1
- package/dist/ir/type-converter/objects.d.ts.map +1 -1
- package/dist/ir/type-converter/objects.js +2 -1
- package/dist/ir/type-converter/objects.js.map +1 -1
- package/dist/ir/type-converter/orchestrator.d.ts.map +1 -1
- package/dist/ir/type-converter/orchestrator.js +18 -1
- package/dist/ir/type-converter/orchestrator.js.map +1 -1
- package/dist/ir/type-converter/references.d.ts.map +1 -1
- package/dist/ir/type-converter/references.js +14 -18
- package/dist/ir/type-converter/references.js.map +1 -1
- package/dist/ir/types/expressions.d.ts +102 -1
- package/dist/ir/types/expressions.d.ts.map +1 -1
- package/dist/ir/types/guards.d.ts.map +1 -1
- package/dist/ir/types/guards.js +2 -0
- package/dist/ir/types/guards.js.map +1 -1
- package/dist/ir/types/index.d.ts +4 -2
- package/dist/ir/types/index.d.ts.map +1 -1
- package/dist/ir/types/index.js +1 -0
- package/dist/ir/types/index.js.map +1 -1
- package/dist/ir/types/ir-types.d.ts +19 -0
- package/dist/ir/types/ir-types.d.ts.map +1 -1
- package/dist/ir/types/numeric-kind.d.ts +68 -0
- package/dist/ir/types/numeric-kind.d.ts.map +1 -0
- package/dist/ir/types/numeric-kind.js +170 -0
- package/dist/ir/types/numeric-kind.js.map +1 -0
- package/dist/ir/types/statements.d.ts +38 -1
- package/dist/ir/types/statements.d.ts.map +1 -1
- package/dist/ir/types.d.ts +2 -1
- package/dist/ir/types.d.ts.map +1 -1
- package/dist/ir/types.js +2 -0
- package/dist/ir/types.js.map +1 -1
- package/dist/ir/validation/index.d.ts +7 -0
- package/dist/ir/validation/index.d.ts.map +1 -0
- package/dist/ir/validation/index.js +7 -0
- package/dist/ir/validation/index.js.map +1 -0
- package/dist/ir/validation/numeric-invariants.test.d.ts +15 -0
- package/dist/ir/validation/numeric-invariants.test.d.ts.map +1 -0
- package/dist/ir/validation/numeric-invariants.test.js +598 -0
- package/dist/ir/validation/numeric-invariants.test.js.map +1 -0
- package/dist/ir/validation/numeric-proof-pass.d.ts +37 -0
- package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -0
- package/dist/ir/validation/numeric-proof-pass.js +889 -0
- package/dist/ir/validation/numeric-proof-pass.js.map +1 -0
- package/dist/ir/validation/soundness-gate.d.ts +26 -0
- package/dist/ir/validation/soundness-gate.d.ts.map +1 -0
- package/dist/ir/validation/soundness-gate.js +551 -0
- package/dist/ir/validation/soundness-gate.js.map +1 -0
- package/dist/ir/validation/soundness-gate.test.d.ts +13 -0
- package/dist/ir/validation/soundness-gate.test.d.ts.map +1 -0
- package/dist/ir/validation/soundness-gate.test.js +315 -0
- package/dist/ir/validation/soundness-gate.test.js.map +1 -0
- package/dist/ir/validation/yield-lowering-pass.d.ts +40 -0
- package/dist/ir/validation/yield-lowering-pass.d.ts.map +1 -0
- package/dist/ir/validation/yield-lowering-pass.js +548 -0
- package/dist/ir/validation/yield-lowering-pass.js.map +1 -0
- package/dist/ir/validation/yield-lowering-pass.test.d.ts +12 -0
- package/dist/ir/validation/yield-lowering-pass.test.d.ts.map +1 -0
- package/dist/ir/validation/yield-lowering-pass.test.js +761 -0
- package/dist/ir/validation/yield-lowering-pass.test.js.map +1 -0
- package/dist/program/bindings.d.ts +5 -0
- package/dist/program/bindings.d.ts.map +1 -1
- package/dist/program/bindings.js +12 -1
- package/dist/program/bindings.js.map +1 -1
- package/dist/program/dependency-graph.d.ts +3 -0
- package/dist/program/dependency-graph.d.ts.map +1 -1
- package/dist/program/dependency-graph.js +28 -4
- package/dist/program/dependency-graph.js.map +1 -1
- package/dist/program/index.d.ts +1 -1
- package/dist/program/index.d.ts.map +1 -1
- package/dist/program/index.js.map +1 -1
- package/dist/program.d.ts +1 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js.map +1 -1
- package/dist/types/diagnostic.d.ts +1 -1
- package/dist/types/diagnostic.d.ts.map +1 -1
- package/dist/types/diagnostic.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/parameter-modifiers.d.ts +0 -55
- package/dist/types/parameter-modifiers.d.ts.map +0 -1
- package/dist/types/parameter-modifiers.js +0 -148
- package/dist/types/parameter-modifiers.js.map +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Operator expression converters (binary, unary, update, assignment)
|
|
3
3
|
*/
|
|
4
4
|
import * as ts from "typescript";
|
|
5
|
-
import { getInferredType, convertBinaryOperator, isAssignmentOperator, } from "./helpers.js";
|
|
5
|
+
import { getInferredType, getSourceSpan, convertBinaryOperator, isAssignmentOperator, } from "./helpers.js";
|
|
6
6
|
import { convertExpression } from "../../expression-converter.js";
|
|
7
7
|
/**
|
|
8
8
|
* Convert binary expression (including logical and assignment)
|
|
@@ -10,16 +10,22 @@ import { convertExpression } from "../../expression-converter.js";
|
|
|
10
10
|
export const convertBinaryExpression = (node, checker) => {
|
|
11
11
|
const operator = convertBinaryOperator(node.operatorToken);
|
|
12
12
|
const inferredType = getInferredType(node, checker);
|
|
13
|
+
const sourceSpan = getSourceSpan(node);
|
|
13
14
|
// Handle assignment separately
|
|
14
15
|
if (isAssignmentOperator(node.operatorToken)) {
|
|
15
16
|
return {
|
|
16
17
|
kind: "assignment",
|
|
17
18
|
operator: operator,
|
|
18
19
|
left: ts.isIdentifier(node.left)
|
|
19
|
-
? {
|
|
20
|
+
? {
|
|
21
|
+
kind: "identifier",
|
|
22
|
+
name: node.left.text,
|
|
23
|
+
sourceSpan: getSourceSpan(node.left),
|
|
24
|
+
}
|
|
20
25
|
: convertExpression(node.left, checker),
|
|
21
26
|
right: convertExpression(node.right, checker),
|
|
22
27
|
inferredType,
|
|
28
|
+
sourceSpan,
|
|
23
29
|
};
|
|
24
30
|
}
|
|
25
31
|
// Handle logical operators
|
|
@@ -30,6 +36,7 @@ export const convertBinaryExpression = (node, checker) => {
|
|
|
30
36
|
left: convertExpression(node.left, checker),
|
|
31
37
|
right: convertExpression(node.right, checker),
|
|
32
38
|
inferredType,
|
|
39
|
+
sourceSpan,
|
|
33
40
|
};
|
|
34
41
|
}
|
|
35
42
|
// Regular binary expression
|
|
@@ -39,6 +46,7 @@ export const convertBinaryExpression = (node, checker) => {
|
|
|
39
46
|
left: convertExpression(node.left, checker),
|
|
40
47
|
right: convertExpression(node.right, checker),
|
|
41
48
|
inferredType,
|
|
49
|
+
sourceSpan,
|
|
42
50
|
};
|
|
43
51
|
};
|
|
44
52
|
/**
|
|
@@ -46,6 +54,7 @@ export const convertBinaryExpression = (node, checker) => {
|
|
|
46
54
|
*/
|
|
47
55
|
export const convertUnaryExpression = (node, checker) => {
|
|
48
56
|
const inferredType = getInferredType(node, checker);
|
|
57
|
+
const sourceSpan = getSourceSpan(node);
|
|
49
58
|
// Check if it's an increment/decrement (++ or --)
|
|
50
59
|
if (node.operator === ts.SyntaxKind.PlusPlusToken ||
|
|
51
60
|
node.operator === ts.SyntaxKind.MinusMinusToken) {
|
|
@@ -55,6 +64,7 @@ export const convertUnaryExpression = (node, checker) => {
|
|
|
55
64
|
prefix: true,
|
|
56
65
|
expression: convertExpression(node.operand, checker),
|
|
57
66
|
inferredType,
|
|
67
|
+
sourceSpan,
|
|
58
68
|
};
|
|
59
69
|
}
|
|
60
70
|
// Handle regular unary operators
|
|
@@ -78,6 +88,7 @@ export const convertUnaryExpression = (node, checker) => {
|
|
|
78
88
|
operator,
|
|
79
89
|
expression: convertExpression(node.operand, checker),
|
|
80
90
|
inferredType,
|
|
91
|
+
sourceSpan,
|
|
81
92
|
};
|
|
82
93
|
};
|
|
83
94
|
/**
|
|
@@ -85,6 +96,7 @@ export const convertUnaryExpression = (node, checker) => {
|
|
|
85
96
|
*/
|
|
86
97
|
export const convertUpdateExpression = (node, checker) => {
|
|
87
98
|
const inferredType = getInferredType(node, checker);
|
|
99
|
+
const sourceSpan = getSourceSpan(node);
|
|
88
100
|
if (ts.isPrefixUnaryExpression(node)) {
|
|
89
101
|
// Check if it's an increment or decrement
|
|
90
102
|
if (node.operator === ts.SyntaxKind.PlusPlusToken ||
|
|
@@ -95,6 +107,7 @@ export const convertUpdateExpression = (node, checker) => {
|
|
|
95
107
|
prefix: true,
|
|
96
108
|
expression: convertExpression(node.operand, checker),
|
|
97
109
|
inferredType,
|
|
110
|
+
sourceSpan,
|
|
98
111
|
};
|
|
99
112
|
}
|
|
100
113
|
}
|
|
@@ -106,6 +119,7 @@ export const convertUpdateExpression = (node, checker) => {
|
|
|
106
119
|
prefix: false,
|
|
107
120
|
expression: convertExpression(postfix.operand, checker),
|
|
108
121
|
inferredType,
|
|
122
|
+
sourceSpan,
|
|
109
123
|
};
|
|
110
124
|
};
|
|
111
125
|
//# sourceMappingURL=operators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAQjC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAyB,EACzB,OAAuB,EACT,EAAE;IAChB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/operators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/other.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAE5B,MAAM,gBAAgB,CAAC;AAIxB;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,EAAE,CAAC,qBAAqB,EAC9B,SAAS,EAAE,CAAC,WAAW,KACtB,
|
|
1
|
+
{"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/other.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAE5B,MAAM,gBAAgB,CAAC;AAIxB;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,EAAE,CAAC,qBAAqB,EAC9B,SAAS,EAAE,CAAC,WAAW,KACtB,uBASF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,6BAA6B,EAC9D,SAAS,EAAE,CAAC,WAAW,KACtB,2BA0BF,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Miscellaneous expression converters (conditional, template literals)
|
|
3
3
|
*/
|
|
4
4
|
import * as ts from "typescript";
|
|
5
|
-
import { getInferredType } from "./helpers.js";
|
|
5
|
+
import { getInferredType, getSourceSpan } from "./helpers.js";
|
|
6
6
|
import { convertExpression } from "../../expression-converter.js";
|
|
7
7
|
/**
|
|
8
8
|
* Convert conditional (ternary) expression
|
|
@@ -14,6 +14,7 @@ export const convertConditionalExpression = (node, checker) => {
|
|
|
14
14
|
whenTrue: convertExpression(node.whenTrue, checker),
|
|
15
15
|
whenFalse: convertExpression(node.whenFalse, checker),
|
|
16
16
|
inferredType: getInferredType(node, checker),
|
|
17
|
+
sourceSpan: getSourceSpan(node),
|
|
17
18
|
};
|
|
18
19
|
};
|
|
19
20
|
/**
|
|
@@ -26,6 +27,7 @@ export const convertTemplateLiteral = (node, checker) => {
|
|
|
26
27
|
quasis: [node.text],
|
|
27
28
|
expressions: [],
|
|
28
29
|
inferredType: getInferredType(node, checker),
|
|
30
|
+
sourceSpan: getSourceSpan(node),
|
|
29
31
|
};
|
|
30
32
|
}
|
|
31
33
|
const quasis = [node.head.text];
|
|
@@ -39,6 +41,7 @@ export const convertTemplateLiteral = (node, checker) => {
|
|
|
39
41
|
quasis,
|
|
40
42
|
expressions,
|
|
41
43
|
inferredType: getInferredType(node, checker),
|
|
44
|
+
sourceSpan: getSourceSpan(node),
|
|
42
45
|
};
|
|
43
46
|
};
|
|
44
47
|
//# sourceMappingURL=other.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"other.js","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/other.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"other.js","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/other.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,IAA8B,EAC9B,OAAuB,EACE,EAAE;IAC3B,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;QACrD,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QACnD,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;QACrD,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;QAC5C,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,IAA8D,EAC9D,OAAuB,EACM,EAAE;IAC/B,IAAI,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;YAC5C,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAmB,EAAE,CAAC;IAEvC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,MAAM;QACN,WAAW;QACX,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;QAC5C,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loops.d.ts","sourceRoot":"","sources":["../../../../../src/ir/converters/statements/control/loops.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,EAAE,CAAC,cAAc,EACvB,SAAS,EAAE,CAAC,WAAW,KACtB,gBAOF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,EAAE,CAAC,YAAY,EACrB,SAAS,EAAE,CAAC,WAAW,KACtB,cAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,EAAE,CAAC,cAAc,EACvB,SAAS,EAAE,CAAC,WAAW,KACtB,
|
|
1
|
+
{"version":3,"file":"loops.d.ts","sourceRoot":"","sources":["../../../../../src/ir/converters/statements/control/loops.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,EAAE,CAAC,cAAc,EACvB,SAAS,EAAE,CAAC,WAAW,KACtB,gBAOF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,EAAE,CAAC,YAAY,EACrB,SAAS,EAAE,CAAC,WAAW,KACtB,cAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,EAAE,CAAC,cAAc,EACvB,SAAS,EAAE,CAAC,WAAW,KACtB,gBAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,EAAE,CAAC,cAAc,EACvB,SAAS,EAAE,CAAC,WAAW,KACtB,cAaF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loops.js","sourceRoot":"","sources":["../../../../../src/ir/converters/statements/control/loops.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAuB,EACvB,OAAuB,EACL,EAAE;IACpB,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;QACtD,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;KACzC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAqB,EACrB,OAAuB,EACP,EAAE;IAClB,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC3B,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9C,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;gBAC3D,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;YAChD,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACvB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;YAC5C,CAAC,CAAC,SAAS;QACb,MAAM,EAAE,IAAI,CAAC,WAAW;YACtB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;YAC9C,CAAC,CAAC,SAAS;QACb,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;KACzC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAuB,EACvB,OAAuB,EACL,EAAE;IACpB,MAAM,SAAS,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,QAAQ,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC;QAC7D,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACzE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAA6B,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,QAAQ;QACR,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;QACvD,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"loops.js","sourceRoot":"","sources":["../../../../../src/ir/converters/statements/control/loops.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-converter.d.ts","sourceRoot":"","sources":["../../src/ir/expression-converter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"expression-converter.d.ts","sourceRoot":"","sources":["../../src/ir/expression-converter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,YAAY,EAIb,MAAM,YAAY,CAAC;AA6DpB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,UAAU,EACnB,SAAS,EAAE,CAAC,WAAW,KACtB,YA2MF,CAAC;AAGF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Main dispatcher - delegates to specialized modules
|
|
4
4
|
*/
|
|
5
5
|
import * as ts from "typescript";
|
|
6
|
+
import { TSONIC_TO_NUMERIC_KIND, } from "./types.js";
|
|
6
7
|
import { getBindingRegistry } from "./converters/statements/declarations/registry.js";
|
|
7
8
|
import { convertType } from "./type-converter.js";
|
|
8
9
|
// Import expression converters from specialized modules
|
|
@@ -13,7 +14,31 @@ import { convertCallExpression, convertNewExpression, } from "./converters/expre
|
|
|
13
14
|
import { convertBinaryExpression, convertUnaryExpression, convertUpdateExpression, } from "./converters/expressions/operators.js";
|
|
14
15
|
import { convertFunctionExpression, convertArrowFunction, } from "./converters/expressions/functions.js";
|
|
15
16
|
import { convertConditionalExpression, convertTemplateLiteral, } from "./converters/expressions/other.js";
|
|
16
|
-
import { getInferredType } from "./converters/expressions/helpers.js";
|
|
17
|
+
import { getInferredType, getSourceSpan, } from "./converters/expressions/helpers.js";
|
|
18
|
+
/**
|
|
19
|
+
* Extract the NumericKind from a type node if it references a known numeric alias.
|
|
20
|
+
*
|
|
21
|
+
* Examples:
|
|
22
|
+
* - `int` → "Int32"
|
|
23
|
+
* - `byte` → "Byte"
|
|
24
|
+
* - `long` → "Int64"
|
|
25
|
+
* - `string` → undefined (not numeric)
|
|
26
|
+
*/
|
|
27
|
+
const getNumericKindFromTypeNode = (typeNode) => {
|
|
28
|
+
// Handle type reference nodes (e.g., `int`, `byte`, `Int32`)
|
|
29
|
+
if (ts.isTypeReferenceNode(typeNode)) {
|
|
30
|
+
const typeName = typeNode.typeName;
|
|
31
|
+
if (ts.isIdentifier(typeName)) {
|
|
32
|
+
const name = typeName.text;
|
|
33
|
+
// Look up the type alias name in our mapping
|
|
34
|
+
const kind = TSONIC_TO_NUMERIC_KIND.get(name);
|
|
35
|
+
if (kind !== undefined) {
|
|
36
|
+
return kind;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
};
|
|
17
42
|
/**
|
|
18
43
|
* Main expression conversion dispatcher
|
|
19
44
|
* Converts TypeScript expression nodes to IR expressions
|
|
@@ -30,10 +55,17 @@ export const convertExpression = (node, checker) => {
|
|
|
30
55
|
value: node.kind === ts.SyntaxKind.TrueKeyword,
|
|
31
56
|
raw: node.getText(),
|
|
32
57
|
inferredType,
|
|
58
|
+
sourceSpan: getSourceSpan(node),
|
|
33
59
|
};
|
|
34
60
|
}
|
|
35
61
|
if (node.kind === ts.SyntaxKind.NullKeyword) {
|
|
36
|
-
return {
|
|
62
|
+
return {
|
|
63
|
+
kind: "literal",
|
|
64
|
+
value: null,
|
|
65
|
+
raw: "null",
|
|
66
|
+
inferredType,
|
|
67
|
+
sourceSpan: getSourceSpan(node),
|
|
68
|
+
};
|
|
37
69
|
}
|
|
38
70
|
if (node.kind === ts.SyntaxKind.UndefinedKeyword ||
|
|
39
71
|
ts.isVoidExpression(node)) {
|
|
@@ -42,6 +74,7 @@ export const convertExpression = (node, checker) => {
|
|
|
42
74
|
value: undefined,
|
|
43
75
|
raw: "undefined",
|
|
44
76
|
inferredType,
|
|
77
|
+
sourceSpan: getSourceSpan(node),
|
|
45
78
|
};
|
|
46
79
|
}
|
|
47
80
|
if (ts.isIdentifier(node)) {
|
|
@@ -52,12 +85,18 @@ export const convertExpression = (node, checker) => {
|
|
|
52
85
|
kind: "identifier",
|
|
53
86
|
name: node.text,
|
|
54
87
|
inferredType,
|
|
88
|
+
sourceSpan: getSourceSpan(node),
|
|
55
89
|
resolvedClrType: binding.type,
|
|
56
90
|
resolvedAssembly: binding.assembly,
|
|
57
91
|
csharpName: binding.csharpName, // Optional C# name from binding
|
|
58
92
|
};
|
|
59
93
|
}
|
|
60
|
-
return {
|
|
94
|
+
return {
|
|
95
|
+
kind: "identifier",
|
|
96
|
+
name: node.text,
|
|
97
|
+
inferredType,
|
|
98
|
+
sourceSpan: getSourceSpan(node),
|
|
99
|
+
};
|
|
61
100
|
}
|
|
62
101
|
if (ts.isArrayLiteralExpression(node)) {
|
|
63
102
|
return convertArrayLiteral(node, checker);
|
|
@@ -90,6 +129,7 @@ export const convertExpression = (node, checker) => {
|
|
|
90
129
|
operator: "typeof",
|
|
91
130
|
expression: convertExpression(node.expression, checker),
|
|
92
131
|
inferredType,
|
|
132
|
+
sourceSpan: getSourceSpan(node),
|
|
93
133
|
};
|
|
94
134
|
}
|
|
95
135
|
if (ts.isVoidExpression(node)) {
|
|
@@ -98,6 +138,7 @@ export const convertExpression = (node, checker) => {
|
|
|
98
138
|
operator: "void",
|
|
99
139
|
expression: convertExpression(node.expression, checker),
|
|
100
140
|
inferredType,
|
|
141
|
+
sourceSpan: getSourceSpan(node),
|
|
101
142
|
};
|
|
102
143
|
}
|
|
103
144
|
if (ts.isDeleteExpression(node)) {
|
|
@@ -106,6 +147,7 @@ export const convertExpression = (node, checker) => {
|
|
|
106
147
|
operator: "delete",
|
|
107
148
|
expression: convertExpression(node.expression, checker),
|
|
108
149
|
inferredType,
|
|
150
|
+
sourceSpan: getSourceSpan(node),
|
|
109
151
|
};
|
|
110
152
|
}
|
|
111
153
|
if (ts.isConditionalExpression(node)) {
|
|
@@ -126,16 +168,18 @@ export const convertExpression = (node, checker) => {
|
|
|
126
168
|
kind: "spread",
|
|
127
169
|
expression: convertExpression(node.expression, checker),
|
|
128
170
|
inferredType,
|
|
171
|
+
sourceSpan: getSourceSpan(node),
|
|
129
172
|
};
|
|
130
173
|
}
|
|
131
174
|
if (node.kind === ts.SyntaxKind.ThisKeyword) {
|
|
132
|
-
return { kind: "this", inferredType };
|
|
175
|
+
return { kind: "this", inferredType, sourceSpan: getSourceSpan(node) };
|
|
133
176
|
}
|
|
134
177
|
if (ts.isAwaitExpression(node)) {
|
|
135
178
|
return {
|
|
136
179
|
kind: "await",
|
|
137
180
|
expression: convertExpression(node.expression, checker),
|
|
138
181
|
inferredType,
|
|
182
|
+
sourceSpan: getSourceSpan(node),
|
|
139
183
|
};
|
|
140
184
|
}
|
|
141
185
|
if (ts.isYieldExpression(node)) {
|
|
@@ -146,6 +190,7 @@ export const convertExpression = (node, checker) => {
|
|
|
146
190
|
: undefined,
|
|
147
191
|
delegate: !!node.asteriskToken,
|
|
148
192
|
inferredType,
|
|
193
|
+
sourceSpan: getSourceSpan(node),
|
|
149
194
|
};
|
|
150
195
|
}
|
|
151
196
|
if (ts.isParenthesizedExpression(node)) {
|
|
@@ -153,14 +198,41 @@ export const convertExpression = (node, checker) => {
|
|
|
153
198
|
}
|
|
154
199
|
if (ts.isAsExpression(node) || ts.isTypeAssertionExpression(node)) {
|
|
155
200
|
// Convert the inner expression
|
|
156
|
-
const innerExpr = convertExpression(
|
|
157
|
-
//
|
|
158
|
-
const assertedTypeNode =
|
|
201
|
+
const innerExpr = convertExpression(node.expression, checker);
|
|
202
|
+
// Get the asserted type
|
|
203
|
+
const assertedTypeNode = node.type;
|
|
159
204
|
const assertedType = convertType(assertedTypeNode, checker);
|
|
160
|
-
|
|
205
|
+
// Check if this is a numeric narrowing (e.g., `as int`, `as byte`)
|
|
206
|
+
const numericKind = getNumericKindFromTypeNode(assertedTypeNode);
|
|
207
|
+
if (numericKind !== undefined) {
|
|
208
|
+
// Create a numeric narrowing expression that preserves the inner expression
|
|
209
|
+
const narrowingExpr = {
|
|
210
|
+
kind: "numericNarrowing",
|
|
211
|
+
expression: innerExpr,
|
|
212
|
+
targetKind: numericKind,
|
|
213
|
+
inferredType: {
|
|
214
|
+
kind: "primitiveType",
|
|
215
|
+
name: "number",
|
|
216
|
+
numericIntent: numericKind,
|
|
217
|
+
},
|
|
218
|
+
sourceSpan: getSourceSpan(node),
|
|
219
|
+
};
|
|
220
|
+
return narrowingExpr;
|
|
221
|
+
}
|
|
222
|
+
// Non-numeric assertion - keep existing behavior (overwrite inferredType)
|
|
223
|
+
return {
|
|
224
|
+
...innerExpr,
|
|
225
|
+
inferredType: assertedType,
|
|
226
|
+
sourceSpan: getSourceSpan(node),
|
|
227
|
+
};
|
|
161
228
|
}
|
|
162
229
|
// Fallback - treat as identifier
|
|
163
|
-
return {
|
|
230
|
+
return {
|
|
231
|
+
kind: "identifier",
|
|
232
|
+
name: node.getText(),
|
|
233
|
+
inferredType,
|
|
234
|
+
sourceSpan: getSourceSpan(node),
|
|
235
|
+
};
|
|
164
236
|
};
|
|
165
237
|
// Re-export commonly used functions for backward compatibility
|
|
166
238
|
export { getInferredType, extractTypeArguments, checkIfRequiresSpecialization, } from "./converters/expressions/helpers.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-converter.js","sourceRoot":"","sources":["../../src/ir/expression-converter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"expression-converter.js","sourceRoot":"","sources":["../../src/ir/expression-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/arrays.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,EAAE,CAAC,aAAa,EACtB,SAAS,EAAE,CAAC,WAAW,EACvB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,KAAK,MAAM,KAClE,
|
|
1
|
+
{"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/arrays.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,EAAE,CAAC,aAAa,EACtB,SAAS,EAAE,CAAC,WAAW,EACvB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,KAAK,MAAM,KAClE,MAMF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/ir/type-converter/arrays.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAsB,EACtB,OAAuB,EACvB,WAAmE,EAC3D,EAAE;IACV,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/ir/type-converter/arrays.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAsB,EACtB,OAAuB,EACvB,WAAmE,EAC3D,EAAE;IACV,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;QACnD,MAAM,EAAE,UAAU;KACnB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/inference.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B,CAAC;AA4CF,eAAO,MAAM,qBAAqB,GAChC,MAAM,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,EAC9C,SAAS,EAAE,CAAC,WAAW,KACtB,0BAA0B,GAAG,SAkG/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,mBAAmB,EACrD,SAAS,EAAE,CAAC,WAAW,KACtB,MAAM,GAAG,SAGX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,IAAI,EACb,SAAS,EAAE,CAAC,WAAW,KACtB,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/inference.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B,CAAC;AA4CF,eAAO,MAAM,qBAAqB,GAChC,MAAM,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,EAC9C,SAAS,EAAE,CAAC,WAAW,KACtB,0BAA0B,GAAG,SAkG/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,mBAAmB,EACrD,SAAS,EAAE,CAAC,WAAW,KACtB,MAAM,GAAG,SAGX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,IAAI,EACb,SAAS,EAAE,CAAC,WAAW,KACtB,MAAM,GAAG,SAiIX,CAAC"}
|
|
@@ -169,29 +169,30 @@ export const convertTsTypeToIr = (type, checker) => {
|
|
|
169
169
|
return { kind: "arrayType", elementType };
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
|
+
// Cannot convert element type - use anyType as marker
|
|
173
|
+
// The IR soundness gate will catch this and emit TSN7414
|
|
172
174
|
return { kind: "arrayType", elementType: { kind: "anyType" } };
|
|
173
175
|
}
|
|
174
|
-
// Check for
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
// Function types need complex handling - return undefined for now
|
|
178
|
-
return undefined;
|
|
179
|
-
}
|
|
180
|
-
// Check for symbol with name (class, interface, etc.)
|
|
176
|
+
// Check for symbol with name FIRST (class, interface, delegate types like Action)
|
|
177
|
+
// This must come before callable check because delegates like Action have call signatures
|
|
178
|
+
// but should be returned as named reference types
|
|
181
179
|
const objectType = type;
|
|
182
|
-
|
|
183
|
-
|
|
180
|
+
// First check aliasSymbol (for type aliases like Action = () => void)
|
|
181
|
+
// Then check symbol (for interfaces/classes)
|
|
182
|
+
const typeSymbol = type.aliasSymbol ?? objectType.symbol;
|
|
183
|
+
if (typeSymbol) {
|
|
184
|
+
const name = typeSymbol.name;
|
|
184
185
|
// Skip internal TypeScript symbol names
|
|
185
|
-
if (name.startsWith("__")
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
//
|
|
191
|
-
const
|
|
192
|
-
|
|
186
|
+
if (!name.startsWith("__") &&
|
|
187
|
+
name &&
|
|
188
|
+
name !== "Object" &&
|
|
189
|
+
name !== "Array") {
|
|
190
|
+
// For named types, return as reference type with type arguments if generic
|
|
191
|
+
// Use aliasTypeArguments for type aliases, getTypeArguments for others
|
|
192
|
+
const typeArgs = type.aliasTypeArguments ??
|
|
193
|
+
checker.getTypeArguments(type);
|
|
193
194
|
if (typeArgs && typeArgs.length > 0) {
|
|
194
|
-
const irTypeArgs = typeArgs
|
|
195
|
+
const irTypeArgs = Array.from(typeArgs)
|
|
195
196
|
.map((arg) => convertTsTypeToIr(arg, checker))
|
|
196
197
|
.filter((t) => t !== undefined);
|
|
197
198
|
if (irTypeArgs.length === typeArgs.length) {
|
|
@@ -201,6 +202,12 @@ export const convertTsTypeToIr = (type, checker) => {
|
|
|
201
202
|
return { kind: "referenceType", name };
|
|
202
203
|
}
|
|
203
204
|
}
|
|
205
|
+
// Check for callable signatures (anonymous function types)
|
|
206
|
+
const callSignatures = type.getCallSignatures();
|
|
207
|
+
if (callSignatures.length > 0) {
|
|
208
|
+
// Anonymous function types need complex handling - return undefined for now
|
|
209
|
+
return undefined;
|
|
210
|
+
}
|
|
204
211
|
// Anonymous object type
|
|
205
212
|
return undefined;
|
|
206
213
|
}
|
|
@@ -210,10 +217,14 @@ export const convertTsTypeToIr = (type, checker) => {
|
|
|
210
217
|
const name = typeParam.symbol?.name ?? "T";
|
|
211
218
|
return { kind: "typeParameterType", name };
|
|
212
219
|
}
|
|
213
|
-
// Any
|
|
214
|
-
if (flags & ts.TypeFlags.Any
|
|
220
|
+
// Any type - keep as anyType so validation can catch it (TSN7401)
|
|
221
|
+
if (flags & ts.TypeFlags.Any) {
|
|
215
222
|
return { kind: "anyType" };
|
|
216
223
|
}
|
|
224
|
+
// Unknown type - this is legitimate, user explicitly wrote 'unknown'
|
|
225
|
+
if (flags & ts.TypeFlags.Unknown) {
|
|
226
|
+
return { kind: "unknownType" };
|
|
227
|
+
}
|
|
217
228
|
// Union types - convert each member, require all to succeed
|
|
218
229
|
if (flags & ts.TypeFlags.Union) {
|
|
219
230
|
const unionType = type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference.js","sourceRoot":"","sources":["../../../src/ir/type-converter/inference.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C;;;;;;;;;GASG;AACH;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAAuB,EAAE;IACjE,+CAA+C;IAC/C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAoB,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACrC,0BAA0B;YAC1B,IACE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS;gBACrC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAChC,CAAC;gBACD,SAAS;YACX,CAAC;YACD,2CAA2C;YAC3C,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAA8C,EAC9C,OAAuB,EACiB,EAAE;IAC1C,qCAAqC;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC,CAAC,mCAAmC;IACvD,CAAC;IAED,8EAA8E;IAC9E,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC,CAAC,yBAAyB;IAC7C,CAAC;IAED,yCAAyC;IACzC,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;IACpD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,CAAC,kCAAkC;IACtD,CAAC;IAED,yEAAyE;IACzE,MAAM,SAAS,GACb,UAAU,CAAC,IAAI,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAC1D,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAC5C,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,WAAW,GAAG,KAAK,CAAC;YACpB,SAAS;QACX,CAAC;QAED,8DAA8D;QAC9D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB;YACrD,SAAS;QACX,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,iDAAiD;YACjD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,WAAW,GAAG,KAAK,CAAC;YACpB,SAAS;QACX,CAAC;QAED,wDAAwD;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAC9C,QAAQ,EACR,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAClC,CAAC;QAEF,8EAA8E;QAC9E,iEAAiE;QACjE,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACzC,SAAS,CAAC,4DAA4D;QACxE,CAAC;QAED,mEAAmE;QACnE,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CACrC,MAAM,EACN,KAAK,IAAI,IAAI,EACb,EAAE,CAAC,gBAAgB,CAAC,IAAI,CACzB,CAAC;QAEF,IAAI,MAA0B,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,gEAAgE;YAChE,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC/C,MAAM,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACxC,+EAA+E;gBAC/E,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACxC,MAAM,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,gEAAgE;QAChE,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAqD,EACrD,OAAuB,EACH,EAAE;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAa,EACb,OAAuB,EACH,EAAE;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,aAAa;IACb,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QACxE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACtD,CAAC;IAED,uCAAuC;IACvC,IAAI,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAChC,uBAAuB;QACvB,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAwB,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACzD,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;QACjE,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"inference.js","sourceRoot":"","sources":["../../../src/ir/type-converter/inference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literals.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/literals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,EAAE,CAAC,eAAe,KAAG,
|
|
1
|
+
{"version":3,"file":"literals.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/literals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,EAAE,CAAC,eAAe,KAAG,MA8B7D,CAAC"}
|
|
@@ -25,7 +25,8 @@ export const convertLiteralType = (node) => {
|
|
|
25
25
|
if (literal.kind === ts.SyntaxKind.UndefinedKeyword) {
|
|
26
26
|
return { kind: "primitiveType", name: "undefined" };
|
|
27
27
|
}
|
|
28
|
-
// Fallback
|
|
28
|
+
// Fallback for unrecognized literals - use anyType as marker
|
|
29
|
+
// The IR soundness gate will catch this and emit TSN7414
|
|
29
30
|
return { kind: "anyType" };
|
|
30
31
|
};
|
|
31
32
|
//# sourceMappingURL=literals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literals.js","sourceRoot":"","sources":["../../../src/ir/type-converter/literals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAwB,EAAU,EAAE;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE7B,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACtD,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"literals.js","sourceRoot":"","sources":["../../../src/ir/type-converter/literals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAwB,EAAU,EAAE;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE7B,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACtD,CAAC;IAED,6DAA6D;IAC7D,yDAAyD;IACzD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/objects.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,MAAM,EACN,YAAY,EACZ,gBAAgB,EAIjB,MAAM,aAAa,CAAC;AAGrB;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,eAAe,EACxB,SAAS,EAAE,CAAC,WAAW,EACvB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,KAAK,MAAM,KAClE,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/objects.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,MAAM,EACN,YAAY,EACZ,gBAAgB,EAIjB,MAAM,aAAa,CAAC;AAGrB;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,eAAe,EACxB,SAAS,EAAE,CAAC,WAAW,EACvB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,KAAK,MAAM,KAClE,YAAY,GAAG,gBAiEjB,CAAC"}
|
|
@@ -26,7 +26,8 @@ export const convertObjectType = (node, checker, convertType) => {
|
|
|
26
26
|
const keyType = keyParam?.type
|
|
27
27
|
? convertKeyType(keyParam.type)
|
|
28
28
|
: { kind: "primitiveType", name: "string" };
|
|
29
|
-
// Determine value type
|
|
29
|
+
// Determine value type - use anyType as marker if not specified
|
|
30
|
+
// The IR soundness gate will catch this and emit TSN7414
|
|
30
31
|
const valueType = indexSig.type
|
|
31
32
|
? convertType(indexSig.type, checker)
|
|
32
33
|
: { kind: "anyType" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../../src/ir/type-converter/objects.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,OAAO,EAAE,iBAAiB,IAAI,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAEhG;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAwB,EACxB,OAAuB,EACvB,WAAmE,EAClC,EAAE;IACnC,yDAAyD;IACzD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAC1C,CAAC;IAEF,+DAA+D;IAC/D,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,aAAa,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,gFAAgF;QAChF,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAExC,yCAAyC;QACzC,MAAM,OAAO,GAAW,QAAQ,EAAE,IAAI;YACpC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAE9C,
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../../src/ir/type-converter/objects.ts"],"names":[],"mappings":"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"}
|