All files / transpiler/output/codegen/types IHeaderOptions.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 33 34 35 36 37 38                                                                           
/**
 * Options for header file generation
 */
interface IHeaderOptions {
  /** Guard prefix (default: derived from filename) */
  guardPrefix?: string;
 
  /** Include system headers in the output */
  includeSystemHeaders?: boolean;
 
  /** Only generate declarations for exported symbols */
  exportedOnly?: boolean;
 
  /**
   * Issue #424: User-provided includes from the source file.
   * These will be added to the generated header if any extern declarations
   * use macros (non-numeric array dimensions) from these headers.
   * Example: ['#include "config.h"', '#include "sizes.h"']
   */
  userIncludes?: string[];
 
  /**
   * Issue #497: Map of external type names to their C header include directives.
   * When a type from a C header is used in public interfaces, the header should
   * be included rather than generating a conflicting forward declaration.
   * Example: Map { "Data" => '#include "data-types.h"' }
   */
  externalTypeHeaders?: ReadonlyMap<string, string>;
 
  /**
   * Issue #409: C++ mode - use references instead of pointers for parameters.
   * This allows C-Next callbacks to match C++ function pointer signatures.
   */
  cppMode?: boolean;
}
 
export default IHeaderOptions;