@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
16 lines (15 loc) • 1 kB
TypeScript
import type { AstIdMap, ParentInformation } from '../lang-4.x/ast/model/processing/decorate';
import type { NodeId } from '../lang-4.x/ast/model/processing/node-id';
import type { RoxygenTag } from './roxygen-ast';
export interface DocumentationInfo {
doc?: Documentation;
}
export type Documentation = RoxygenTag | readonly RoxygenTag[];
/**
* Given a normalized AST and a node ID, returns the Roxygen documentation (if any) associated with that node.
* Please note that this does more than {@link parseRoxygenCommentsOfNode}, as it also traverses up the AST to find documentation.
* Additionally, this function instruments the normalized AST to cache the parsed documentation for future queries.
* @param idMap - The AST ID map to use for looking up nodes and traversing the AST.
* @param nodeId - The ID of the node to get documentation for.
*/
export declare function getDocumentationOf(nodeId: NodeId, idMap: AstIdMap<ParentInformation & DocumentationInfo>): Documentation | undefined;