@fictjs/compiler 0.17.0 → 0.17.1

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/index.d.cts CHANGED
@@ -409,6 +409,8 @@ interface ArrowFunctionExpression extends SourceInfo {
409
409
  body: Expression | BasicBlock[];
410
410
  isExpression: boolean;
411
411
  isAsync?: boolean;
412
+ noMemo?: boolean;
413
+ pure?: boolean;
412
414
  /** Marks this function as a reactive scope callback (e.g., renderHook(() => ...)). */
413
415
  reactiveScope?: string;
414
416
  }
@@ -420,6 +422,9 @@ interface FunctionExpression extends SourceInfo {
420
422
  rawParams?: BabelParamNode[];
421
423
  body: BasicBlock[];
422
424
  isAsync?: boolean;
425
+ isGenerator?: boolean;
426
+ noMemo?: boolean;
427
+ pure?: boolean;
423
428
  /** Marks this function as a reactive scope callback (e.g., renderHook(() => ...)). */
424
429
  reactiveScope?: string;
425
430
  }
@@ -500,6 +505,14 @@ interface BasicBlock {
500
505
  instructions: Instruction[];
501
506
  terminator: Terminator;
502
507
  }
508
+ interface LabeledStatementMeta {
509
+ label: string;
510
+ /**
511
+ * Explicit exit boundary for generic labeled statements.
512
+ * Loop/switch labels don't need this because their hosts are structurized directly.
513
+ */
514
+ exitBlock?: BlockId;
515
+ }
503
516
  interface HIRFunction extends SourceInfo {
504
517
  name?: string;
505
518
  params: Identifier[];
@@ -514,6 +527,7 @@ interface HIRFunction extends SourceInfo {
514
527
  isArrow?: boolean;
515
528
  hasExpressionBody?: boolean;
516
529
  isAsync?: boolean;
530
+ isGenerator?: boolean;
517
531
  noMemo?: boolean;
518
532
  pure?: boolean;
519
533
  /**
@@ -525,6 +539,8 @@ interface HIRFunction extends SourceInfo {
525
539
  arrayProps?: Map<number, 'signal' | 'memo'>;
526
540
  directAccessor?: 'signal' | 'memo';
527
541
  };
542
+ /** Labels attached to structured hosts or explicit labeled-statement entry blocks. */
543
+ labeledStatements?: Map<BlockId, LabeledStatementMeta>;
528
544
  };
529
545
  }
530
546
 
package/dist/index.d.ts CHANGED
@@ -409,6 +409,8 @@ interface ArrowFunctionExpression extends SourceInfo {
409
409
  body: Expression | BasicBlock[];
410
410
  isExpression: boolean;
411
411
  isAsync?: boolean;
412
+ noMemo?: boolean;
413
+ pure?: boolean;
412
414
  /** Marks this function as a reactive scope callback (e.g., renderHook(() => ...)). */
413
415
  reactiveScope?: string;
414
416
  }
@@ -420,6 +422,9 @@ interface FunctionExpression extends SourceInfo {
420
422
  rawParams?: BabelParamNode[];
421
423
  body: BasicBlock[];
422
424
  isAsync?: boolean;
425
+ isGenerator?: boolean;
426
+ noMemo?: boolean;
427
+ pure?: boolean;
423
428
  /** Marks this function as a reactive scope callback (e.g., renderHook(() => ...)). */
424
429
  reactiveScope?: string;
425
430
  }
@@ -500,6 +505,14 @@ interface BasicBlock {
500
505
  instructions: Instruction[];
501
506
  terminator: Terminator;
502
507
  }
508
+ interface LabeledStatementMeta {
509
+ label: string;
510
+ /**
511
+ * Explicit exit boundary for generic labeled statements.
512
+ * Loop/switch labels don't need this because their hosts are structurized directly.
513
+ */
514
+ exitBlock?: BlockId;
515
+ }
503
516
  interface HIRFunction extends SourceInfo {
504
517
  name?: string;
505
518
  params: Identifier[];
@@ -514,6 +527,7 @@ interface HIRFunction extends SourceInfo {
514
527
  isArrow?: boolean;
515
528
  hasExpressionBody?: boolean;
516
529
  isAsync?: boolean;
530
+ isGenerator?: boolean;
517
531
  noMemo?: boolean;
518
532
  pure?: boolean;
519
533
  /**
@@ -525,6 +539,8 @@ interface HIRFunction extends SourceInfo {
525
539
  arrayProps?: Map<number, 'signal' | 'memo'>;
526
540
  directAccessor?: 'signal' | 'memo';
527
541
  };
542
+ /** Labels attached to structured hosts or explicit labeled-statement entry blocks. */
543
+ labeledStatements?: Map<BlockId, LabeledStatementMeta>;
528
544
  };
529
545
  }
530
546