ControlFlowNode

data class ControlFlowNode(val id: String, val opcode: String, val calleeSymbol: String, val calleeDemangled: String, val sourceRepo: String, val sourceFile: String, val line: Int, val column: Int, val functionMangled: String, val functionDeclContext: String, val functionBaseName: String, val sourceFunctionMangled: String = "", val sourceFunctionDeclContext: String = "", val sourceFunctionBaseName: String = "", val isEntryPoint: Boolean, val isBranch: Boolean, val isSink: Boolean, val isSource: Boolean, val isCompilerGenerated: Boolean)

One node per LLVM instruction the analyzer visited. Ids are globally unique (instruction-N, with N a monotone counter from PhASAR).

isEntryPoint marks ICFG start instructions for the configured entry-point functions. isSink / isSource mirror the configured taint sinks / sources; an entry with isSink = true MUST appear as an entry in the top-level sinks[] array, and vice versa.

Constructors

Link copied to clipboard
constructor(id: String, opcode: String, calleeSymbol: String, calleeDemangled: String, sourceRepo: String, sourceFile: String, line: Int, column: Int, functionMangled: String, functionDeclContext: String, functionBaseName: String, sourceFunctionMangled: String = "", sourceFunctionDeclContext: String = "", sourceFunctionBaseName: String = "", isEntryPoint: Boolean, isBranch: Boolean, isSink: Boolean, isSource: Boolean, isCompilerGenerated: Boolean)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val column: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val id: String
Link copied to clipboard
Link copied to clipboard

True when the C++ analyzer classified this instruction as compiler-introduced during clang's lowering of C++ → LLVM IR (alloca for return slots / mem2reg, phi, freeze, unreachable, llvm.dbg.* / llvm.lifetime.* intrinsics). Empty sourceFile with isCompilerGenerated = false is a debug-info-stripping regression signal — consumers can count it via the P6 summary line.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val line: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Lexical/source function reported by LLVM debug scope. This can differ from functionMangled for inlined instructions: the instruction is physically contained in the caller's LLVM function, but its source line belongs to the inlined callee body.

Link copied to clipboard
Generated with STIG