CodeQL library for Go
codeql/go-all 5.0.1 (changelog, source)
Search

Module Internal

Import path

import semmle.go.dataflow.SsaImpl

Predicates

adjacentUseUse

Holds if use1 and use2 form an adjacent use-use-pair of the same SsaSourceVariable, that is, the value read in use1 can reach use2 without passing through any other use or any SSA definition of the variable except for phi nodes and uncertain implicit updates.

adjacentUseUseSameVar

Holds if use1 and use2 form an adjacent use-use-pair of the same SSA variable, that is, the value read in use1 can reach use2 without passing through any other use or any SSA definition of the variable.

defAt

Holds if the ith node of bb defines v.

firstUse

Holds if the value defined at def can reach use without passing through any other uses, but possibly through phi nodes.

getDefReachingEndOf

Gets an SSA definition of v that reaches the end of basic block bb.

getDefinition

Gets the unique SSA definition of v whose value reaches the ith node of bb, which is a use of v.

useAt

Holds if the ith node of bb reads v.

Datatypes

TSsaDefinition

A data type representing SSA definitions.