@tsonic/frontend 0.0.38 → 0.0.39

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.
Files changed (49) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ir/binding-resolution.test.js +91 -0
  3. package/dist/ir/binding-resolution.test.js.map +1 -1
  4. package/dist/ir/bindings-disambiguation.test.js +9 -0
  5. package/dist/ir/bindings-disambiguation.test.js.map +1 -1
  6. package/dist/ir/converters/expressions/access.d.ts.map +1 -1
  7. package/dist/ir/converters/expressions/access.js +14 -24
  8. package/dist/ir/converters/expressions/access.js.map +1 -1
  9. package/dist/ir/converters/expressions/calls.d.ts +2 -2
  10. package/dist/ir/converters/expressions/calls.d.ts.map +1 -1
  11. package/dist/ir/converters/expressions/calls.js +133 -12
  12. package/dist/ir/converters/expressions/calls.js.map +1 -1
  13. package/dist/ir/converters/statements/declarations/classes/orchestrator.d.ts.map +1 -1
  14. package/dist/ir/converters/statements/declarations/classes/orchestrator.js +4 -2
  15. package/dist/ir/converters/statements/declarations/classes/orchestrator.js.map +1 -1
  16. package/dist/ir/converters/statements/helpers.d.ts +7 -0
  17. package/dist/ir/converters/statements/helpers.d.ts.map +1 -1
  18. package/dist/ir/converters/statements/helpers.js +12 -0
  19. package/dist/ir/converters/statements/helpers.js.map +1 -1
  20. package/dist/ir/expression-converter.d.ts.map +1 -1
  21. package/dist/ir/expression-converter.js +4 -3
  22. package/dist/ir/expression-converter.js.map +1 -1
  23. package/dist/ir/type-system/type-system.d.ts +12 -1
  24. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  25. package/dist/ir/type-system/type-system.js +161 -11
  26. package/dist/ir/type-system/type-system.js.map +1 -1
  27. package/dist/ir/types/expressions.d.ts +19 -1
  28. package/dist/ir/types/expressions.d.ts.map +1 -1
  29. package/dist/ir/types/index.d.ts +1 -1
  30. package/dist/ir/types/index.d.ts.map +1 -1
  31. package/dist/ir/types/index.js.map +1 -1
  32. package/dist/ir/types.d.ts +1 -1
  33. package/dist/ir/types.d.ts.map +1 -1
  34. package/dist/ir/types.js.map +1 -1
  35. package/dist/ir/validation/anonymous-type-lowering-pass.d.ts.map +1 -1
  36. package/dist/ir/validation/anonymous-type-lowering-pass.js +6 -0
  37. package/dist/ir/validation/anonymous-type-lowering-pass.js.map +1 -1
  38. package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
  39. package/dist/ir/validation/numeric-proof-pass.js +2 -0
  40. package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
  41. package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
  42. package/dist/ir/validation/soundness-gate.js +9 -3
  43. package/dist/ir/validation/soundness-gate.js.map +1 -1
  44. package/dist/types/diagnostic.d.ts +1 -1
  45. package/dist/types/diagnostic.d.ts.map +1 -1
  46. package/dist/validation/core-intrinsics.d.ts.map +1 -1
  47. package/dist/validation/core-intrinsics.js +4 -0
  48. package/dist/validation/core-intrinsics.js.map +1 -1
  49. package/package.json +1 -1
@@ -7,6 +7,65 @@
7
7
  import * as ts from "typescript";
8
8
  import { getSourceSpan, extractTypeArguments, checkIfRequiresSpecialization, } from "./helpers.js";
9
9
  import { convertExpression } from "../../expression-converter.js";
10
+ import { createDiagnostic } from "../../../types/diagnostic.js";
11
+ /**
12
+ * Unwrap call-site argument modifier markers.
13
+ *
14
+ * @tsonic/core/lang.js exports compile-time-only intrinsics:
15
+ * - out(x) → emit `out x` at the call site
16
+ * - ref(x) → emit `ref x`
17
+ * - inref(x) → emit `in x`
18
+ *
19
+ * These markers must be erased by the compiler and must never reach emission as
20
+ * normal calls.
21
+ */
22
+ const unwrapCallSiteArgumentModifier = (expr) => {
23
+ // Unwrap parentheses first (out((x)) etc).
24
+ let current = expr;
25
+ while (ts.isParenthesizedExpression(current)) {
26
+ current = current.expression;
27
+ }
28
+ if (!ts.isCallExpression(current))
29
+ return { expression: expr };
30
+ if (!ts.isIdentifier(current.expression))
31
+ return { expression: expr };
32
+ const name = current.expression.text;
33
+ if (name !== "out" && name !== "ref" && name !== "inref") {
34
+ return { expression: expr };
35
+ }
36
+ // Markers are non-generic and take exactly one argument.
37
+ if (current.typeArguments && current.typeArguments.length > 0) {
38
+ return { expression: expr };
39
+ }
40
+ if (current.arguments.length !== 1) {
41
+ return { expression: expr };
42
+ }
43
+ const inner = current.arguments[0];
44
+ if (!inner)
45
+ return { expression: expr };
46
+ const modifier = name === "inref" ? "in" : name;
47
+ return { expression: inner, modifier };
48
+ };
49
+ const applyCallSiteArgumentModifiers = (base, overrides, argCount, ctx, node) => {
50
+ const hasOverrides = overrides.some((m) => m !== undefined);
51
+ if (!hasOverrides)
52
+ return base;
53
+ const passing = base?.slice(0, argCount) ?? Array(argCount).fill("value");
54
+ for (let i = 0; i < argCount; i++) {
55
+ const override = overrides[i];
56
+ if (!override)
57
+ continue;
58
+ const existing = passing[i];
59
+ // If we have a resolved signature, call-site modifiers must match it exactly.
60
+ // (We do not currently use call-site modifiers to influence overload resolution.)
61
+ if (base !== undefined && existing !== override) {
62
+ ctx.diagnostics.push(createDiagnostic("TSN7444", "error", `Call-site passing modifier '${override}' conflicts with resolved signature (expected '${existing}' at argument ${i}).`, getSourceSpan(node), "Remove the call-site modifier, or call the correct overload that matches ref/out/in."));
63
+ continue;
64
+ }
65
+ passing[i] = override;
66
+ }
67
+ return passing;
68
+ };
10
69
  /**
11
70
  * Extract argument passing modes from resolved signature.
12
71
  * Returns array aligned with arguments, indicating ref/out/in/value for each.
@@ -421,6 +480,26 @@ export const convertCallExpression = (node, ctx) => {
421
480
  sourceSpan: getSourceSpan(node),
422
481
  };
423
482
  }
483
+ // Check for defaultof<T>() - language intrinsic for default value.
484
+ // defaultof<T>() compiles to C#: default(T)
485
+ if (ts.isIdentifier(node.expression) &&
486
+ node.expression.text === "defaultof" &&
487
+ node.typeArguments &&
488
+ node.typeArguments.length === 1 &&
489
+ node.arguments.length === 0) {
490
+ const targetTypeNode = node.typeArguments[0];
491
+ if (!targetTypeNode) {
492
+ throw new Error("ICE: defaultof requires exactly 1 type argument");
493
+ }
494
+ const typeSystem = ctx.typeSystem;
495
+ const targetType = typeSystem.typeFromSyntax(ctx.binding.captureTypeSyntax(targetTypeNode));
496
+ return {
497
+ kind: "defaultof",
498
+ targetType,
499
+ inferredType: targetType,
500
+ sourceSpan: getSourceSpan(node),
501
+ };
502
+ }
424
503
  // Check for trycast<T>(x) - special intrinsic for safe casting
425
504
  // trycast<T>(x) compiles to C#: x as T (safe cast, returns null on failure)
426
505
  if (ts.isIdentifier(node.expression) &&
@@ -495,6 +574,7 @@ export const convertCallExpression = (node, ctx) => {
495
574
  const typeSystem = ctx.typeSystem;
496
575
  const sigId = ctx.binding.resolveCallSignature(node);
497
576
  const argumentCount = node.arguments.length;
577
+ const callSiteArgModifiers = new Array(argumentCount).fill(undefined);
498
578
  const explicitTypeArgs = node.typeArguments
499
579
  ? node.typeArguments.map((ta) => typeSystem.typeFromSyntax(ctx.binding.captureTypeSyntax(ta)))
500
580
  : undefined;
@@ -532,8 +612,13 @@ export const convertCallExpression = (node, ctx) => {
532
612
  });
533
613
  continue;
534
614
  }
535
- args.push(convertExpression(arg, ctx, expectedType));
615
+ const unwrapped = unwrapCallSiteArgumentModifier(arg);
616
+ if (unwrapped.modifier) {
617
+ callSiteArgModifiers[i] = unwrapped.modifier;
618
+ }
619
+ args.push(convertExpression(unwrapped.expression, ctx, expectedType));
536
620
  }
621
+ const argumentPassing = applyCallSiteArgumentModifiers(extractArgumentPassing(node, ctx), callSiteArgModifiers, argumentCount, ctx, node);
537
622
  return {
538
623
  kind: "call",
539
624
  callee,
@@ -543,7 +628,7 @@ export const convertCallExpression = (node, ctx) => {
543
628
  sourceSpan: getSourceSpan(node),
544
629
  typeArguments,
545
630
  requiresSpecialization,
546
- argumentPassing: extractArgumentPassing(node, ctx),
631
+ argumentPassing,
547
632
  parameterTypes: paramTypesForArgs,
548
633
  };
549
634
  }
@@ -595,13 +680,17 @@ export const convertCallExpression = (node, ctx) => {
595
680
  };
596
681
  continue;
597
682
  }
598
- if (shouldDeferLambdaForInference(arg)) {
683
+ const unwrapped = unwrapCallSiteArgumentModifier(arg);
684
+ if (unwrapped.modifier) {
685
+ callSiteArgModifiers[index] = unwrapped.modifier;
686
+ }
687
+ if (shouldDeferLambdaForInference(unwrapped.expression)) {
599
688
  // Defer *untyped* lambda conversion until after we infer generic type args
600
689
  // from other arguments. Explicitly typed lambdas are safe to convert early
601
690
  // and often provide the only deterministic inference signal.
602
691
  continue;
603
692
  }
604
- const converted = convertExpression(arg, ctx, expectedType);
693
+ const converted = convertExpression(unwrapped.expression, ctx, expectedType);
605
694
  argsWorking[index] = converted;
606
695
  argTypesForInference[index] = converted.inferredType;
607
696
  }
@@ -624,7 +713,11 @@ export const convertCallExpression = (node, ctx) => {
624
713
  continue;
625
714
  if (ts.isSpreadElement(arg))
626
715
  continue;
627
- if (!isLambdaArg(arg))
716
+ const unwrapped = unwrapCallSiteArgumentModifier(arg);
717
+ if (unwrapped.modifier) {
718
+ callSiteArgModifiers[index] = unwrapped.modifier;
719
+ }
720
+ if (!isLambdaArg(unwrapped.expression))
628
721
  continue;
629
722
  const expectedType = parameterTypesForLambdaContext?.[index];
630
723
  const lambdaExpectedType = expectedType?.kind === "functionType"
@@ -632,7 +725,7 @@ export const convertCallExpression = (node, ctx) => {
632
725
  : expectedType
633
726
  ? typeSystem.delegateToFunctionType(expectedType) ?? expectedType
634
727
  : undefined;
635
- argsWorking[index] = convertExpression(arg, ctx, lambdaExpectedType);
728
+ argsWorking[index] = convertExpression(unwrapped.expression, ctx, lambdaExpectedType);
636
729
  }
637
730
  const convertedArgs = argsWorking.map((a) => {
638
731
  if (!a) {
@@ -657,6 +750,7 @@ export const convertCallExpression = (node, ctx) => {
657
750
  (finalResolved
658
751
  ? finalResolved.parameterModes.slice(0, node.arguments.length)
659
752
  : extractArgumentPassing(node, ctx));
753
+ const argumentPassingWithOverrides = applyCallSiteArgumentModifiers(argumentPassing, callSiteArgModifiers, argumentCount, ctx, node);
660
754
  const narrowing = (() => {
661
755
  const pred = finalResolved?.typePredicate;
662
756
  if (!pred)
@@ -680,7 +774,7 @@ export const convertCallExpression = (node, ctx) => {
680
774
  sourceSpan: getSourceSpan(node),
681
775
  typeArguments,
682
776
  requiresSpecialization,
683
- argumentPassing,
777
+ argumentPassing: argumentPassingWithOverrides,
684
778
  parameterTypes,
685
779
  narrowing,
686
780
  };
@@ -707,6 +801,7 @@ export const convertNewExpression = (node, ctx) => {
707
801
  const typeSystem = ctx.typeSystem;
708
802
  const sigId = ctx.binding.resolveConstructorSignature(node);
709
803
  const argumentCount = node.arguments?.length ?? 0;
804
+ const callSiteArgModifiers = new Array(argumentCount).fill(undefined);
710
805
  // Extract explicit type arguments from call site
711
806
  const explicitTypeArgs = node.typeArguments
712
807
  ? node.typeArguments.map((ta) => typeSystem.typeFromSyntax(ctx.binding.captureTypeSyntax(ta)))
@@ -746,11 +841,15 @@ export const convertNewExpression = (node, ctx) => {
746
841
  };
747
842
  continue;
748
843
  }
749
- if (isLambdaArg(arg)) {
844
+ const unwrapped = unwrapCallSiteArgumentModifier(arg);
845
+ if (unwrapped.modifier) {
846
+ callSiteArgModifiers[index] = unwrapped.modifier;
847
+ }
848
+ if (isLambdaArg(unwrapped.expression)) {
750
849
  // Defer lambda conversion until after generic type arg inference
751
850
  continue;
752
851
  }
753
- const converted = convertExpression(arg, ctx, expectedType);
852
+ const converted = convertExpression(unwrapped.expression, ctx, expectedType);
754
853
  argsWorking[index] = converted;
755
854
  argTypesForInference[index] = converted.inferredType;
756
855
  }
@@ -773,7 +872,11 @@ export const convertNewExpression = (node, ctx) => {
773
872
  continue;
774
873
  if (ts.isSpreadElement(arg))
775
874
  continue;
776
- if (!isLambdaArg(arg))
875
+ const unwrapped = unwrapCallSiteArgumentModifier(arg);
876
+ if (unwrapped.modifier) {
877
+ callSiteArgModifiers[index] = unwrapped.modifier;
878
+ }
879
+ if (!isLambdaArg(unwrapped.expression))
777
880
  continue;
778
881
  const expectedType = parameterTypesForLambdaContext?.[index];
779
882
  const lambdaExpectedType = expectedType?.kind === "functionType"
@@ -781,7 +884,7 @@ export const convertNewExpression = (node, ctx) => {
781
884
  : expectedType
782
885
  ? typeSystem.delegateToFunctionType(expectedType) ?? expectedType
783
886
  : undefined;
784
- argsWorking[index] = convertExpression(arg, ctx, lambdaExpectedType);
887
+ argsWorking[index] = convertExpression(unwrapped.expression, ctx, lambdaExpectedType);
785
888
  }
786
889
  // Fill any remaining undefined slots (shouldn't happen, but be safe)
787
890
  const convertedArgs = argsWorking.map((a, index) => {
@@ -791,7 +894,20 @@ export const convertNewExpression = (node, ctx) => {
791
894
  if (!arg) {
792
895
  throw new Error("ICE: new expression argument conversion produced a hole");
793
896
  }
794
- return convertExpression(arg, ctx, undefined);
897
+ if (ts.isSpreadElement(arg)) {
898
+ const spreadExpr = convertExpression(arg.expression, ctx, undefined);
899
+ return {
900
+ kind: "spread",
901
+ expression: spreadExpr,
902
+ inferredType: spreadExpr.inferredType,
903
+ sourceSpan: getSourceSpan(arg),
904
+ };
905
+ }
906
+ const unwrapped = unwrapCallSiteArgumentModifier(arg);
907
+ if (unwrapped.modifier) {
908
+ callSiteArgModifiers[index] = unwrapped.modifier;
909
+ }
910
+ return convertExpression(unwrapped.expression, ctx, undefined);
795
911
  });
796
912
  // Collect final argTypes
797
913
  const argTypes = convertedArgs.map((a) => a.kind === "spread" ? undefined : a.inferredType);
@@ -808,6 +924,10 @@ export const convertNewExpression = (node, ctx) => {
808
924
  // If sigId is missing, use unknownType (do not fabricate a nominal type)
809
925
  const inferredType = finalResolved?.returnType ?? { kind: "unknownType" };
810
926
  const parameterTypes = finalResolved?.parameterTypes ?? initialParameterTypes;
927
+ const argumentPassingBase = finalResolved
928
+ ? finalResolved.parameterModes.slice(0, argumentCount)
929
+ : extractArgumentPassing(node, ctx);
930
+ const argumentPassing = applyCallSiteArgumentModifiers(argumentPassingBase, callSiteArgModifiers, argumentCount, ctx, node);
811
931
  // Phase 18: IrNewExpression.typeArguments must include inferred type arguments.
812
932
  // The emitter relies on this field to emit generic constructor calls (e.g., new Box<int>(...)).
813
933
  const inferredTypeArguments = inferredType.kind === "referenceType" ? inferredType.typeArguments : undefined;
@@ -821,6 +941,7 @@ export const convertNewExpression = (node, ctx) => {
821
941
  arguments: convertedArgs,
822
942
  inferredType,
823
943
  sourceSpan: getSourceSpan(node),
944
+ argumentPassing,
824
945
  parameterTypes,
825
946
  typeArguments: typeArgumentsForIr,
826
947
  requiresSpecialization,
@@ -1 +1 @@
1
- {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/calls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/calls.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../../../src/ir/converters/statements/declarations/classes/orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAiB,MAAM,sBAAsB,CAAC;AAYzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAwErE;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,EAAE,CAAC,gBAAgB,EACzB,KAAK,cAAc,KAClB,kBAAkB,GAAG,IAsIvB,CAAC"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../../../src/ir/converters/statements/declarations/classes/orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAiB,MAAM,sBAAsB,CAAC;AAazE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AA0ErE;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,EAAE,CAAC,gBAAgB,EACzB,KAAK,cAAc,KAClB,kBAAkB,GAAG,IAsIvB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Class declaration conversion orchestrator
3
3
  */
4
4
  import * as ts from "typescript";
5
- import { hasExportModifier, convertTypeParameters, hasStaticModifier, } from "../../helpers.js";
5
+ import { hasExportModifier, convertTypeParameters, hasStaticModifier, hasDeclareModifier, } from "../../helpers.js";
6
6
  import { convertAccessorProperty, convertProperty } from "./properties.js";
7
7
  import { convertMethod, convertMethodOverloadGroup } from "./methods.js";
8
8
  import { convertConstructor, extractParameterProperties, } from "./constructors.js";
@@ -25,7 +25,9 @@ const convertClassMember = (node, ctx, superClass, constructorParams) => {
25
25
  const filterOwnMembers = (node) => {
26
26
  // All members directly on node.members ARE own members by definition
27
27
  // The AST doesn't include inherited members in the class's members array
28
- return node.members;
28
+ //
29
+ // NOTE: `declare` members are type-only in TypeScript and must not emit.
30
+ return node.members.filter((m) => !hasDeclareModifier(m));
29
31
  };
30
32
  /**
31
33
  * Deduplicate members by name, keeping first occurrence
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../../../src/ir/converters/statements/declarations/classes/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../../../src/ir/converters/statements/declarations/classes/orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAG3B;;GAEG;AACH,MAAM,kBAAkB,GAAG,CACzB,IAAqB,EACrB,GAAmB,EACnB,UAAsD,EACtD,iBAAyD,EACnC,EAAE;IACxB,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CACvB,IAAyB,EACG,EAAE;IAC9B,qEAAqE;IACrE,yEAAyE;IACzE,EAAE;IACF,yEAAyE;IACzE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG,CACzB,OAAiC,EACP,EAAE;IAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,CAAC,6BAA6B;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,CAAC,wDAAwD;QACvE,CAAC;QACD,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,CAAC,iBAAiB;QACjC,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,OAAuC,EAAW,EAAE;IAC1E,wFAAwF;IACxF,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QACrC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAyB,EACzB,GAAmB,EACQ,EAAE;IAC7B,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc,CAChD,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEZ,4CAA4C;IAC5C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB,CACnD,CAAC;IACF,MAAM,eAAe,GACnB,gBAAgB,EAAE,KAAK;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,KAAK,CAAC,CAAC,gCAAgC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAChE,IAAI,EAAE,CAAC;IAEZ,gDAAgD;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IACnE,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEzE,iFAAiF;IACjF,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE1C,uGAAuG;IACvG,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC/D,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAAE,SAAS;QAC9C,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,8BAA8B;QAC3E,MAAM,GAAG,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;YACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAG1B,CAAC;IACJ,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5E,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAoB,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5E,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACtC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,gBAAgB,CAAC,IAAI,CACnB,uBAAuB,CACrB,IAAI,EACJ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EACH,UAAU,CACX,CACF,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvF,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACxC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAC;gBAChE,CAAC;gBACD,gBAAgB,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YAED,+CAA+C;YAC/C,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,kBAAkB,CAClC,MAAM,EACN,GAAG,EACH,UAAU,EACV,WAAW,EAAE,UAAU,CACxB,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,qFAAqF;IACrF,MAAM,UAAU,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,gBAAgB,CAAC,CAAC;IACjE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE3D,kDAAkD;IAClD,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,mBAAmB,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAChE;QACH,CAAC,CAAC,mBAAmB,CAAC;IAExB,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;QACpB,cAAc,EAAE,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC;QAC/D,UAAU,EAAE,UAAU;YACpB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC1E,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC;QACnC,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
@@ -32,6 +32,13 @@ export declare const hasExportModifier: (node: ts.Node) => boolean;
32
32
  * Check if node has static modifier
33
33
  */
34
34
  export declare const hasStaticModifier: (node: ts.Node) => boolean;
35
+ /**
36
+ * Check if node has declare modifier.
37
+ *
38
+ * `declare` class members are type-only in TypeScript and should not emit runtime code.
39
+ * Tsonic mirrors this by skipping them during IR conversion.
40
+ */
41
+ export declare const hasDeclareModifier: (node: ts.Node) => boolean;
35
42
  /**
36
43
  * Check if node has readonly modifier
37
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/ir/converters/statements/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,WAAW,EACX,eAAe,EACf,eAAe,EAEf,qBAAqB,EAErB,MAAM,EACP,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,GAAG,MAAM,KAAG,MAmB5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,gBAAgB,SAAS,EAAE,CAAC,wBAAwB,EAAE,GAAG,SAAS,EAClE,KAAK,cAAc,KAClB,SAAS,eAAe,EAAE,GAAG,SAsC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,oBAAoB,CAAC,EACjD,KAAK,cAAc,KAClB,SAAS,WAAW,EA2DtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACzC,MAAM,EAAE,CAAC,uBAAuB,EAChC,KAAK,cAAc,KAClB,qBAiCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAMjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAMjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAMnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,eAQhD,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/ir/converters/statements/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,WAAW,EACX,eAAe,EACf,eAAe,EAEf,qBAAqB,EAErB,MAAM,EACP,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,GAAG,MAAM,KAAG,MAmB5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,gBAAgB,SAAS,EAAE,CAAC,wBAAwB,EAAE,GAAG,SAAS,EAClE,KAAK,cAAc,KAClB,SAAS,eAAe,EAAE,GAAG,SAsC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,oBAAoB,CAAC,EACjD,KAAK,cAAc,KAClB,SAAS,WAAW,EA2DtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACzC,MAAM,EAAE,CAAC,uBAAuB,EAChC,KAAK,cAAc,KAClB,qBAiCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAMjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAMjD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAMlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OAMnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,eAQhD,CAAC"}
@@ -170,6 +170,18 @@ export const hasStaticModifier = (node) => {
170
170
  const modifiers = ts.getModifiers(node);
171
171
  return (modifiers?.some((m) => m.kind === ts.SyntaxKind.StaticKeyword) ?? false);
172
172
  };
173
+ /**
174
+ * Check if node has declare modifier.
175
+ *
176
+ * `declare` class members are type-only in TypeScript and should not emit runtime code.
177
+ * Tsonic mirrors this by skipping them during IR conversion.
178
+ */
179
+ export const hasDeclareModifier = (node) => {
180
+ if (!ts.canHaveModifiers(node))
181
+ return false;
182
+ const modifiers = ts.getModifiers(node);
183
+ return (modifiers?.some((m) => m.kind === ts.SyntaxKind.DeclareKeyword) ?? false);
184
+ };
173
185
  /**
174
186
  * Check if node has readonly modifier
175
187
  */
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/ir/converters/statements/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/ir/converters/statements/helpers.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,EACL,YAAY,EAEZ,MAAM,EAGP,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAmG3D;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,UAAU,EACnB,KAAK,cAAc,EACnB,cAAc,MAAM,GAAG,SAAS,KAC/B,YAoUF,CAAC;AAGF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC"}
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,EAEZ,MAAM,EAGP,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAmG3D;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,UAAU,EACnB,KAAK,cAAc,EACnB,cAAc,MAAM,GAAG,SAAS,KAC/B,YAqUF,CAAC;AAGF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC"}
@@ -250,13 +250,14 @@ export const convertExpression = (node, ctx, expectedType) => {
250
250
  };
251
251
  }
252
252
  if (ts.isAwaitExpression(node)) {
253
- // await unwraps Promise - for now pass through the expression's type
254
- // (full unwrapping would require detecting Promise<T> and returning T)
255
253
  const awaitedExpr = convertExpression(node.expression, ctx, undefined);
254
+ const awaitedType = awaitedExpr.inferredType
255
+ ? ctx.typeSystem.expandUtility("Awaited", [awaitedExpr.inferredType])
256
+ : undefined;
256
257
  return {
257
258
  kind: "await",
258
259
  expression: awaitedExpr,
259
- inferredType: undefined, // Would need Promise unwrapping
260
+ inferredType: awaitedType,
260
261
  sourceSpan: getSourceSpan(node),
261
262
  };
262
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expression-converter.js","sourceRoot":"","sources":["../../src/ir/expression-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-converter.js","sourceRoot":"","sources":["../../src/ir/expression-converter.ts"],"names":[],"mappings":"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"}