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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | /**
* IHeaderSymbol - Normalized symbol interface for header generation.
*
* ADR-055 Phase 5: This interface works with both TSymbol and ISymbol,
* providing a consistent view for header generation regardless of source.
*
* Header generation needs a subset of symbol information:
* - Name and kind for categorization
* - Type information for declarations
* - Export status for filtering
* - Array/const/atomic modifiers for variable declarations
* - Parameters for function signatures
*/
import TSymbolKind from "../../../types/symbol-kinds/TSymbolKind";
import IParameterSymbol from "../../../../utils/types/IParameterSymbol";
interface IHeaderSymbol {
/** Symbol name */
readonly name: string;
/** Symbol kind */
readonly kind: TSymbolKind;
/** Type of the symbol (e.g., "void", "u32", "Point") */
readonly type?: string;
/** Whether this symbol is exported/public */
readonly isExported: boolean;
/** Whether this variable is const */
readonly isConst?: boolean;
/** Whether this variable is atomic (volatile in C) */
readonly isAtomic?: boolean;
/** Whether this is an array */
readonly isArray?: boolean;
/** Array dimensions (e.g., ["10"] or ["10", "20"]) */
readonly arrayDimensions?: readonly string[];
/** Function parameters for signature generation */
readonly parameters?: readonly IParameterSymbol[];
/** Function signature for display */
readonly signature?: string;
/** Parent namespace or class name */
readonly parent?: string;
/** Access modifier for register members */
readonly accessModifier?: string;
/** Source file (for debugging/logging) */
readonly sourceFile?: string;
/** Source line (for debugging/logging) */
readonly sourceLine?: number;
}
export default IHeaderSymbol;
|