All files / transpiler/output/codegen/types TParameterInfo.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                                                               
/**
 * Parameter information for function signatures
 *
 * Note: Pass-by-value status for small unmodified primitives (Issue #269)
 * is tracked separately in CodeGenerator.passByValueParams map rather than
 * here, since it requires call graph analysis that happens after parameter
 * collection.
 */
type TParameterInfo = {
  name: string;
  baseType: string; // 'u32', 'f32', 'Point'
  isArray: boolean;
  isStruct: boolean;
  isConst: boolean; // ADR-013
  isCallback: boolean; // ADR-029
  isString: boolean; // ADR-045
  /**
   * Issue #895: True when a primitive param becomes a pointer due to callback typedef.
   * When used as a value in expressions, these params need dereferencing (*param).
   */
  isCallbackPointerPrimitive?: boolean;
 
  /**
   * Issue #895: True when a param needs pointer semantics due to callback typedef.
   * In C++ mode, this forces -> member access instead of . (reference access).
   * Applies to both struct and primitive callback-compatible params.
   */
  forcePointerSemantics?: boolean;
};
 
export default TParameterInfo;