/** * @nahisaho/musubix-codegraph - C/C++ Extractor * * AST extractor for C and C++ source files * * @see REQ-CG-MULTILANG-006, REQ-CG-MULTILANG-007 * @see DES-CG-C, DES-CG-CPP * @see TSK-CG-022, TSK-CG-023 */ import type { ParseResult, Entity, Relation } from '../../types.js'; import { BaseExtractor, type LanguageConfig, type SyntaxTree, type SyntaxNode } from './base-extractor.js'; /** * C language extractor */ export declare class CExtractor extends BaseExtractor { readonly config: LanguageConfig; extract(tree: SyntaxTree, filePath: string, sourceCode: string): ParseResult; protected extractFunction(node: SyntaxNode, filePath: string): Entity | null; protected extractStruct(node: SyntaxNode, filePath: string): Entity | null; protected extractUnion(node: SyntaxNode, filePath: string): Entity | null; protected extractEnum(node: SyntaxNode, filePath: string): Entity | null; protected extractTypedef(node: SyntaxNode, filePath: string): Entity | null; protected extractMacro(node: SyntaxNode, filePath: string): Entity | null; protected extractInclude(node: SyntaxNode, fileEntityId: string): Relation[]; protected extractCDocComment(node: SyntaxNode): string | undefined; } /** * C++ language extractor */ export declare class CppExtractor extends CExtractor { readonly config: LanguageConfig; extract(tree: SyntaxTree, filePath: string, sourceCode: string): ParseResult; private extractNamespace; private extractClass; private extractTemplate; private extractCppHeritage; } //# sourceMappingURL=c-cpp.d.ts.map