All files / types IFileResult.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 39 40 41 42 43 44 45 46 47 48 49                                                                                                 
import type IRecordedRequirement from "./IRecordedRequirement";
import ITranspileError from "../lib/types/ITranspileError";
 
/**
 * Result of transpiling a single file
 */
interface IFileResult {
  /** Source file path */
  sourcePath: string;
 
  /**
   * Generated C code.
   *
   * Empty whenever this file was never planned, which is not the same as
   * `success` being `false`: parse-only mode, and #1320 (another file in the
   * same program was rejected by 2.1 Analyze, so nothing is planned for ANY
   * file -- including one 2.1 found clean) both report `success: true` here.
   * A non-empty string is the only sign real codegen ran for this file.
   */
  code: string;
 
  /**
   * Generated header code. Undefined for every reason `code` is empty (see
   * above), and also when this file's public interface has no header content
   * of its own to emit.
   */
  headerCode?: string;
 
  /** Output file path (if written to disk) */
  outputPath?: string;
 
  /** Whether transpilation succeeded */
  success: boolean;
 
  /** Errors for this file */
  errors: ITranspileError[];
 
  /** Number of top-level declarations found */
  declarationCount: number;
 
  /**
   * Issue #1143: Toolchain requirements this file's generated output actually
   * carries, recorded by the emitters that produced the text.
   */
  requirements?: readonly IRecordedRequirement[];
}
 
export default IFileResult;