@jalvin/compiler 2.0.37 → 2.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 (56) hide show
  1. package/dist/codegen.d.ts +4 -56
  2. package/dist/codegen.d.ts.map +1 -1
  3. package/dist/codegen.js +297 -884
  4. package/dist/codegen.js.map +1 -1
  5. package/dist/index.d.ts +1 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -4
  8. package/dist/index.js.map +1 -1
  9. package/dist/typechecker.d.ts.map +1 -1
  10. package/dist/typechecker.js +1 -3
  11. package/dist/typechecker.js.map +1 -1
  12. package/package.json +1 -1
  13. package/dist/codegen/index.d.ts +0 -179
  14. package/dist/codegen/index.d.ts.map +0 -1
  15. package/dist/codegen/index.js +0 -2207
  16. package/dist/codegen/index.js.map +0 -1
  17. package/dist/codegen_freestanding_c.d.ts +0 -9
  18. package/dist/codegen_freestanding_c.d.ts.map +0 -1
  19. package/dist/codegen_freestanding_c.js +0 -321
  20. package/dist/codegen_freestanding_c.js.map +0 -1
  21. package/dist/lexer/chars.d.ts +0 -5
  22. package/dist/lexer/chars.d.ts.map +0 -1
  23. package/dist/lexer/chars.js +0 -20
  24. package/dist/lexer/chars.js.map +0 -1
  25. package/dist/lexer/index.d.ts +0 -37
  26. package/dist/lexer/index.d.ts.map +0 -1
  27. package/dist/lexer/index.js +0 -630
  28. package/dist/lexer/index.js.map +0 -1
  29. package/dist/lexer/tokens.d.ts +0 -135
  30. package/dist/lexer/tokens.d.ts.map +0 -1
  31. package/dist/lexer/tokens.js +0 -89
  32. package/dist/lexer/tokens.js.map +0 -1
  33. package/dist/parser/constants.d.ts +0 -3
  34. package/dist/parser/constants.d.ts.map +0 -1
  35. package/dist/parser/constants.js +0 -7
  36. package/dist/parser/constants.js.map +0 -1
  37. package/dist/parser/helpers.d.ts +0 -2
  38. package/dist/parser/helpers.d.ts.map +0 -1
  39. package/dist/parser/helpers.js +0 -9
  40. package/dist/parser/helpers.js.map +0 -1
  41. package/dist/parser/index.d.ts +0 -118
  42. package/dist/parser/index.d.ts.map +0 -1
  43. package/dist/parser/index.js +0 -2387
  44. package/dist/parser/index.js.map +0 -1
  45. package/dist/typechecker/globals.d.ts +0 -2
  46. package/dist/typechecker/globals.d.ts.map +0 -1
  47. package/dist/typechecker/globals.js +0 -15
  48. package/dist/typechecker/globals.js.map +0 -1
  49. package/dist/typechecker/index.d.ts +0 -146
  50. package/dist/typechecker/index.d.ts.map +0 -1
  51. package/dist/typechecker/index.js +0 -2288
  52. package/dist/typechecker/index.js.map +0 -1
  53. package/dist/typechecker/types.d.ts +0 -66
  54. package/dist/typechecker/types.d.ts.map +0 -1
  55. package/dist/typechecker/types.js +0 -39
  56. package/dist/typechecker/types.js.map +0 -1
package/dist/codegen.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  import * as AST from "./ast.js";
2
2
  import { JType } from "./typechecker.js";
3
3
  export interface CodegenOptions {
4
- /** Emit .tsx (React JSX) output — set for files containing `component` decls */
5
- readonly jsx: boolean;
6
4
  /** Target module format */
7
5
  readonly module: "esm" | "cjs";
8
6
  /** Emit type annotations in output (verbose but useful for debugging) */
@@ -22,15 +20,15 @@ export declare const DEFAULT_CODEGEN_OPTIONS: CodegenOptions;
22
20
  export interface CodegenResult {
23
21
  readonly code: string;
24
22
  readonly lineMap: number[];
25
- /** Whether JSX was emitted (caller should rename output to .tsx) */
26
- readonly isJsx: boolean;
23
+ /** True if the program contains component declarations or UI imports. */
24
+ readonly hasComponents: boolean;
27
25
  }
28
26
  export declare class CodeGenerator {
29
27
  private readonly w;
30
28
  private readonly opts;
31
29
  private hasComponents;
32
30
  private runtimeSymbolsNeeded;
33
- /** Names of true Jalvin components — used to emit React.createElement boundaries */
31
+ /** Names of true Jalvin components — used to detect functional calls */
34
32
  private userComponentNames;
35
33
  /** Names of all potential components (including UI primitives) — used to detect props-object calls */
36
34
  private allComponentLikeNames;
@@ -66,40 +64,23 @@ export declare class CodeGenerator {
66
64
  * Maps module specifier (e.g. "src/views") → sorted list of exported names.
67
65
  */
68
66
  private localStarExports;
67
+ private isInClass;
69
68
  constructor(opts?: Partial<CodegenOptions>);
70
- /** Returns true if the output should be treated as JSX (React components) */
71
- private get isJsxMode();
72
69
  generate(program: AST.Program, operatorOverloads?: Map<AST.BinaryExpr, string>, typeMap?: Map<object, JType>): CodegenResult;
73
70
  /** Walk AST to see if it contains any JsxElement nodes */
74
71
  private containsJsx;
75
72
  private buildPreamble;
76
73
  private emitHeader;
77
- /**
78
- * Heuristic for non-scoped imports: if the first path segment resolves to an
79
- * installed package in node_modules, treat the import as npm/ESM and strip
80
- * the trailing symbol name from the module specifier.
81
- */
82
74
  private isLikelyNodeModuleImport;
83
- /** Emit a @deprecated JSDoc block if the declaration has @Nuked. */
84
75
  private emitAnnotations;
85
76
  private emitTopLevelDecl;
86
77
  private emitFunDecl;
87
78
  private emitMemberFunDecl;
88
79
  private emitComponentDecl;
89
- /**
90
- * Emit the body of a `component fun` block.
91
- * The last statement is emitted in tail position — if it is an expression,
92
- * an if/else chain, or a when block, the innermost UI call is implicitly
93
- * returned (implicit return of the last expression).
94
- */
95
80
  private emitComponentBlock;
96
- /** Emit a statement in tail position, adding implicit return where applicable. */
97
81
  private emitTailStmt;
98
- /** Emit a block in tail position, treating its last statement as a tail expression. */
99
82
  private emitTailBlock;
100
- /** Like emitIfStmt but with tail-return applied recursively to each branch body. */
101
83
  private emitIfStmtWithTailReturn;
102
- /** Like emitWhenStmt but with tail-return applied recursively to each branch body. */
103
84
  private emitWhenStmtWithTailReturn;
104
85
  private emitClassDecl;
105
86
  private emitDataClassDecl;
@@ -111,11 +92,6 @@ export declare class CodeGenerator {
111
92
  private emitTypeAliasDecl;
112
93
  private emitExtensionFunDecl;
113
94
  private receiverClassName;
114
- /**
115
- * Maps a JType to the primitive receiver type name used as a key
116
- * in `primitiveExtensions` (e.g. JType `{ tag: "string" }` → `"String"`).
117
- * Returns null for non-primitive / unknown types.
118
- */
119
95
  private jTypeToReceiverName;
120
96
  private classHasInvokeOperator;
121
97
  private emitPropertyDecl;
@@ -138,22 +114,9 @@ export declare class CodeGenerator {
138
114
  private emitJsxChild;
139
115
  private emitStringTemplate;
140
116
  private emitCallExpr;
141
- /**
142
- * For each non-scoped local import (e.g. `import src.views.MoveCounterView.MoveCounter`),
143
- * attempt to load and parse the corresponding .jalvin source file. If the named symbol is
144
- * a `component fun`, register it in `userComponentNames` and record its param names so that
145
- * call sites can emit the correct props-object invocation.
146
- */
147
117
  private resolveLocalComponentImports;
148
- /** Returns true if a call expression's callee looks like a class constructor.
149
- * In Jalvin, class names always start with an uppercase letter. */
150
118
  private isConstructorCall;
151
- /** Returns true if a name refers to a "true" Jalvin component that needs a React boundary */
152
- private isTrueComponent;
153
- /** Emit `Column(modifier = ...) { ... }` as either direct calls or React.createElement depending on jsx option */
154
119
  private emitComponentCall;
155
- /** Collect each expression statement in a trailing-lambda body as DOM children.
156
- * For-loop statements are emitted as spread IIFEs so their dynamic output is preserved. */
157
120
  private emitLambdaBodyAsDomChildren;
158
121
  private emitLambdaExpr;
159
122
  private emitIfExpr;
@@ -168,27 +131,12 @@ export declare class CodeGenerator {
168
131
  private emitTypeRef;
169
132
  private emitTypeParamsStr;
170
133
  private emitParamsStr;
171
- private emitComponentPropsStr;
172
134
  private emitSuperTypesStr;
173
135
  private exportPrefix;
174
136
  private visibilityPrefix;
175
137
  private unaryOpStr;
176
138
  private binaryOpStr;
177
- /**
178
- * Walk the entire program AST and collect all identifier names that are
179
- * REFERENCED (i.e., used) in the code: NameExpr values and the first name
180
- * component of SimpleTypeRef / GenericTypeRef nodes.
181
- *
182
- * Jalvin primitive type names (String, Boolean, …) that map to TS primitives
183
- * are excluded from TypeRef collection since they never need an import.
184
- */
185
139
  private gatherReferencedNames;
186
- /**
187
- * Walk the entire program AST and collect all names that are LOCALLY DEFINED:
188
- * top-level declaration names, non-star import aliases, function/lambda
189
- * parameters, local val/var bindings, for-loop variables, catch-clause names,
190
- * when-subject bindings, and type parameter names.
191
- */
192
140
  private gatherAllLocalBindings;
193
141
  }
194
142
  export declare function generate(program: AST.Program, opts?: Partial<CodegenOptions>, operatorOverloads?: Map<AST.BinaryExpr, string>, typeMap?: Map<object, JType>): CodegenResult;
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAoDzC,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,uBAAuB,EAAE,cAKrC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,oBAAoB,CAAqB;IACjD,oFAAoF;IACpF,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,sGAAsG;IACtG,OAAO,CAAC,qBAAqB,CAAqB;IAClD;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,+FAA+F;IAC/F,OAAO,CAAC,eAAe,CAAS;IAChC,2DAA2D;IAC3D,OAAO,CAAC,cAAc,CAAqB;IAC3C,0DAA0D;IAC1D,OAAO,CAAC,mBAAmB,CAAqC;IAChE,qCAAqC;IACrC,OAAO,CAAC,OAAO,CAA4B;IAC3C;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAA0C;IACrE;;;;OAIG;IACH,OAAO,CAAC,sBAAsB,CAAqB;IACnD,4FAA4F;IAC5F,OAAO,CAAC,wBAAwB,CAAqB;IACrD;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,IAAI,GAAE,OAAO,CAAC,cAAc,CAAM;IAI9C,6EAA6E;IAC7E,OAAO,KAAK,SAAS,GAEpB;IAED,QAAQ,CACN,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,iBAAiB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,EAC/C,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAC3B,aAAa;IAyFhB,0DAA0D;IAC1D,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,UAAU;IAuElB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAkBhC,oEAAoE;IACpE,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,iBAAiB;IAoEzB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAY1B,kFAAkF;IAClF,OAAO,CAAC,YAAY;IAapB,uFAAuF;IACvF,OAAO,CAAC,aAAa;IAYrB,oFAAoF;IACpF,OAAO,CAAC,wBAAwB;IAqBhC,sFAAsF;IACtF,OAAO,CAAC,0BAA0B;IA4BlC,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,iBAAiB;IAiGzB,OAAO,CAAC,mBAAmB;IA6E3B,OAAO,CAAC,iBAAiB;IA2DzB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,iBAAiB;IAMzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,2BAA2B;IAwCnC,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,QAAQ;IAiEhB,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,YAAY;IA0BpB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,MAAM;IAmJhC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,YAAY;IAmMpB;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IA4EpC;wEACoE;IACpE,OAAO,CAAC,iBAAiB;IAczB,6FAA6F;IAC7F,OAAO,CAAC,eAAe;IAgBvB,kHAAkH;IAClH,OAAO,CAAC,iBAAiB;IA0CzB;gGAC4F;IAC5F,OAAO,CAAC,2BAA2B;IA8BnC,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAmBnB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;CAsG/B;AAoFD,wBAAgB,QAAQ,CACtB,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAC9B,iBAAiB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,EAC/C,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAC3B,aAAa,CAEf"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}