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

Module SSA

Provides classes for working with static single assignment form (SSA).

Import path

import semmle.go.dataflow.SSA

Imports

go

Provides classes for working with Go programs.

Predicates

getASimilarReadNode

Gets a read similar to node, according to the same rules as SsaWithFields.similar().

Classes

SsaDefinition

An SSA definition.

SsaExplicitDefinition

An SSA definition that corresponds to an explicit assignment or other variable definition.

SsaImplicitDefinition

An SSA definition that does not correspond to an explicit variable definition.

SsaPhiNode

An SSA phi node, that is, a pseudo-definition for a variable at a point in the flow graph where otherwise two or more definitions for the variable would be visible.

SsaPseudoDefinition

An SSA definition such as a phi node that has no actual semantics, but simply serves to merge or filter data flow.

SsaSourceVariable

A variable that can be SSA converted, that is, a local variable, but not a variable declared in file scope.

SsaVariable

An SSA variable.

SsaVariableCapture

An SSA definition representing the capturing of an SSA-convertible variable in the closure of a nested function.

SsaWithFields

An SSA variable with zero or more fields read from it.

Modules

SsaExplicitDefinition

Provides a helper predicate for working with explicit SSA definitions.