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

Module Public

Nodes intended for use outside the data-flow libraries.

Import path

import semmle.go.dataflow.internal.DataFlowNodes

Predicates

mutableType

Holds if tp is a type that may (directly or indirectly) reference a memory location.

Classes

AddressOperationNode

A data-flow node that takes the address of a memory location.

ArgumentNode

A data-flow node that occurs as an argument in a call, including receiver arguments.

BinaryOperationNode

A data-flow node corresponding to an expression with a binary operator.

CallNode

A data flow node that represents a call.

ComponentReadNode

A data-flow node that reads the value of a field from a struct, or an element from an array, slice, map or string.

ElementReadNode

A data-flow node that reads an element of an array, map, slice or string.

EqualityTestNode

A data-flow node performing an equality test using == or !=.

ExprNode

An expression, viewed as a node in a data flow graph.

FieldReadNode

A data-flow node that reads the value of a field.

FuncLitNode

A representation of the function that is defined by a function literal.

FunctionNode

A function, viewed as a node in a data flow graph.

GlobalFunctionNode

A representation of a function that is declared in the module scope.

ImplicitVarargsSlice

An implicit varargs slice creation expression.

InstructionNode

An IR instruction, viewed as a node in a data flow graph.

MethodCallNode

A data flow node that represents a direct call to a method.

MethodReadNode

A data-flow node that refers to a method.

Node

A node in a data flow graph.

ParameterNode

A representation of a parameter initialization.

PointerDereferenceNode

A data-flow node that dereferences a pointer.

PostUpdateNode

A node associated with an object after an operation that might have changed its state.

RangeElementNode

A data-flow node representing an element of an array, map, slice or string defined from range statement.

RangeIndexNode

A data-flow node representing an index of an array, map, slice or string defined from range statement.

ReadNode

A data-flow node that reads the value of a variable, constant, field or array element, or refers to a function.

ReceiverNode

A representation of a receiver initialization.

RelationalComparisonNode

A data-flow node performing a relational comparison using <, <=, > or >=.

ResultNode

A node whose value is returned as a result from a function.

SliceElementNode

A data-flow node which exists solely to model the value flow from array elements of the base of a SliceNode to array elements of the SliceNode itself.

SliceNode

A data-flow node that extracts a substring or slice from a string, array, pointer to array, or slice.

SsaNode

An SSA variable, viewed as a node in a data flow graph.

SsaParameterNode

A representation of a parameter initialization, defined in source via an SSA node.

SummarizedParameterNode

A summary node which represents a parameter in a function which doesn’t already have a parameter nodes.

TypeCastNode

A data-flow node performing a type cast using either a type conversion or an assertion.

UnaryOperationNode

A data-flow node corresponding to an expression with a unary operator.

UnusedParameterNode

A representation of a parameter initialization, defined in source via an SSA node.