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

Class Public::ElementReadNode

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

Import path

import semmle.go.dataflow.internal.DataFlowNodes

Direct supertypes

Indirect supertypes

Known direct subtypes

    Fields

    Predicates

    getIndex

    Gets the data-flow node representing the index of the element being read.

    reads

    Holds if this data-flow node reads element index of base.

    Inherited predicates

    asExpr

    Gets the expression corresponding to this node, if any.

    from Node
    asInstruction

    Gets the IR instruction corresponding to this node, if any.

    from InstructionNode
    asParameter

    Gets the parameter corresponding to this node, if any.

    from Node
    getAPredecessor

    Gets a data-flow node from which data may flow to this node in one (intra-procedural) step.

    from Node
    getASuccessor

    Gets a data-flow node to which data may flow from this node in one (intra-procedural) step.

    from Node
    getBase

    Gets the data-flow node representing the base from which the fieldĀ or element is read.

    from ComponentReadNode
    getBasicBlock

    Gets the basic block to which this data-flow node belongs, if any.

    from Node
    getBoolValue

    Gets the Boolean value this data-flow node contains, if any.

    from Node
    getEnclosingCallable

    INTERNAL: Use getRoot() instead.

    from Node
    getEndColumn

    Gets the end column of the location of this node.

    from Node
    getEndLine

    Gets the end line of the location of this node.

    from Node
    getExactValue

    Gets the string representation of the exact value this data-flow node contains, if any.

    from Node
    getFile

    Gets the file in which this node appears.

    from Node
    getFloatValue

    Gets the floating-point value this data-flow node contains, if any.

    from Node
    getIntValue

    Gets the integer value this data-flow node contains, if any.

    from Node
    getLocation

    Gets the location of this node.

    from Node
    getNodeKind

    Gets a textual representation of the kind of this data-flow node.

    from InstructionNode
    getNumericValue

    Gets either getFloatValue or getIntValue.

    from Node
    getRoot

    Gets the function to which this node belongs.

    from InstructionNode
    getStartColumn

    Gets the start column of the location of this node.

    from Node
    getStartLine

    Gets the start line of the location of this node.

    from Node
    getStringValue

    Gets the string value this data-flow node contains, if any.

    from Node
    getType

    Gets the type of this node.

    from InstructionNode
    getTypeBound

    Gets an upper bound on the type of this node.

    from Node
    hasComplexValue

    Holds if the complex value this data-flow node contains has real part real and imaginary part imag.

    from Node
    hasLocationInfo

    Holds if this element is at the specified location. The location spans column startcolumn of line startline to column endcolumn of line endline in file filepath. For more information, see Locations.

    from InstructionNode
    isConst

    Holds if the value of this data-flow node is known at compile time.

    from Node
    isPlatformIndependentConstant

    Holds if the result of this instruction is known at compile time, and is guaranteed not to depend on the platform where it is evaluated.

    from Node
    reads

    Holds if this data-flow node evaluates to value of v, which is a value entity, that is, a constant, variable, field, function, or method.

    from ReadNode
    readsElement

    Holds if this data-flow node reads the value of element index on the value of base or its implicit dereference.

    from ReadNode
    readsField

    Holds if this data-flow node reads the value of field f on the value of base or its implicit dereference.

    from ReadNode
    readsField

    Holds if this data-flow node reads the value of field package.type.field on the value of base or its implicit dereference.

    from ReadNode
    readsMethod

    Holds if this data-flow node looks up method m on the value of receiver or its implicit dereference.

    from ReadNode
    readsMethod

    Holds if this data-flow node looks up method package.type.name on the value of receiver or its implicit dereference.

    from ReadNode
    readsSsaVariable

    Holds if this data-flow node reads the value of SSA variable v.

    from ReadNode
    toString

    Gets a textual representation of this element.

    from InstructionNode