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

Class IndexExpr

An index expression, that is, a base expression followed by an index. Expressions which represent generic type instantiations have been excluded.

Examples:

array[i]
arrayptr[i]
slice[i]
map[key]

Import path

import semmle.go.Expr

Direct supertypes

Indirect supertypes

Known direct subtypes

    Predicates

    getAPrimaryQlClass

    Gets the name of a primary CodeQL class to which this node belongs.

    getBase

    Gets the base of this index expression.

    getIndex

    Gets the index of this index expression.

    mayHaveOwnSideEffects

    Holds if this expression may have observable side effects of its own (that is, independent of whether its sub-expressions may have side effects).

    toString

    Gets a textual representation of this element.

    Inherited predicates

    getAChild

    Gets a child node of this node.

    from AstNode
    getAChildExpr

    Gets an expression that is a child node of this node in the AST.

    from ExprParent
    getBoolValue

    Gets the boolean value this expression evalutes to, if any.

    from Expr
    getChild

    Gets the ith child node of this node.

    from AstNode
    getChildExpr

    Gets the ith child expression of this node.

    from ExprParent
    getEnclosingFunction

    Gets the innermost function definition to which this AST node belongs, if any.

    from AstNode
    getExactValue

    Gets the string representation of the exact value this expression evaluates to, if any.

    from Expr
    getFile

    Gets the file this program element comes from.

    from Locatable
    getFloatValue

    Gets the floating-point value this expression evaluates to, if any.

    from Expr
    getGlobalValueNumber

    Gets the global value number of this expression.

    from Expr
    getIntValue

    Gets the integer value this expression evaluates to, if any.

    from Expr
    getKind

    Gets the kind of this expression, which is an integer value representing the expression’s node type.

    from Expr
    getLocation

    Gets this element’s location.

    from Locatable
    getNumChild

    Gets the number of child nodes of this node.

    from AstNode
    getNumChildExpr

    Gets the number of child expressions of this node.

    from ExprParent
    getNumLines

    Gets the number of lines covered by this element.

    from Locatable
    getNumericValue

    Gets either getFloatValue or getIntValue.

    from Expr
    getParent

    Gets the parent node of this AST node, if any.

    from AstNode
    getPrimaryQlClasses

    Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

    from AstNode
    getStringValue

    Gets the string value this expression evaluates to, if any.

    from Expr
    getType

    Gets the type of this expression.

    from Expr
    getUniquelyNumberedChild

    Get an AstNode child, ordered by child kind and then by index.

    from AstNode
    hasComplexValue

    Holds if the complex value this expression evaluates to has real part real and imaginary part imag.

    from Expr
    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 Locatable
    isConst

    Holds if this expression is constant, that is, if its value is determined at compile-time.

    from Expr
    isPlatformIndependentConstant

    Holds if this expression has a constant value which is guaranteed not to depend on the platform where it is evaluated.

    from Expr
    mayHaveSideEffects

    Holds if the evaluation of this expression may produce observable side effects.

    from Expr
    stripParens

    Gets this expression, with any surrounding parentheses removed.

    from Expr

    Charpred