UNPKG

@specs-feup/clava

Version:

A C/C++ source-to-source compiler written in Typescript

37 lines (29 loc) 901 B
import NodeData from "@specs-feup/lara/api/lara/graphs/NodeData.js"; import Query from "@specs-feup/lara/api/weaver/Query.js"; import { Call, FunctionJp } from "../../../Joinpoints.js"; export default class ScgNodeData extends NodeData { /** * The function represented by this node */ private $function: FunctionJp; constructor($function: FunctionJp) { super(); // Should use only canonical functions this.$function = $function.canonical; } get function(): FunctionJp { return this.$function; } toString(): string { return this.$function.signature; } /** * @returns true, if the function represented by this node has an available implementation, false otherwise */ hasImplementation(): boolean { return this.$function.isImplementation; } hasCalls(): boolean { return Query.searchFrom(this.$function, Call).get().length > 0; } }