CodeQL library for Rust
codeql/rust-all 0.2.6 (changelog, source)
Search

Class Impl::BinaryExpr

A binary operation expression. For example:

x + y;
x && y;
x <= y;
x = y;
x += y;

Import path

import codeql.rust.elements.internal.BinaryExprImpl

Direct supertypes

Indirect supertypes

Known direct subtypes

    Predicates

    getOperand

    Gets the nth operand of this operation, if any.

    getOperatorName
    toStringImpl

    INTERNAL: Do not use.

    Inherited predicates

    fromSource

    Holds if this element is from source code.

    from Locatable
    getACfgNode

    Gets a control flow node for this AST node, if any.

    from AstNode
    getAPrimaryQlClass

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

    from BinaryExpr
    getASyntacticArgument

    Gets a syntactic argument of this expression.

    from InvocationExpr
    getAnAttr

    Gets any of the attrs of this binary expression.

    from BinaryExpr
    getAnOperand

    Gets an operand of this operation.

    from Operation
    getAttr

    Gets the indexth attr of this binary expression (0-based).

    from BinaryExpr
    getEnclosingBlock

    Gets the block that encloses this node, if any.

    from AstNode
    getEnclosingCallable

    Gets the immediately enclosing callable of this node, if any.

    from AstNode
    getEnclosingCfgScope

    Gets the CFG scope that encloses this node, if any.

    from AstNode
    getFile

    Gets the primary file where this element occurs.

    from Locatable
    getLhs

    Gets the lhs of this binary expression, if it exists.

    from BinaryExpr
    getLocationfrom Locatable
    getNumberOfAttrs

    Gets the number of attrs of this binary expression.

    from BinaryExpr
    getNumberOfOperands

    Gets the number of operands of this operation.

    from Operation
    getNumberOfSyntacticArguments

    Gets the number of syntactic arguments of this expression.

    from InvocationExpr
    getParentNode

    Gets the nearest enclosing parent of this node, which is also an AstNode, if any.

    from AstNode
    getPrimaryQlClasses

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

    from Element
    getResolveStep

    Gets the most immediate element that should substitute this element in the explicit AST, if any. Classes can override this to indicate this node should be in the “hidden” AST, mostly reserved for conversions and syntactic sugar nodes like parentheses.

    from Element
    getResolvedTarget

    Gets the resolved target (function or tuple struct/variant), if any.

    from InvocationExpr
    getRhs

    Gets the rhs of this binary expression, if it exists.

    from BinaryExpr
    getSyntacticArgument

    Gets the argument at syntactic position pos of this expression.

    from InvocationExpr
    getSyntacticPositionalArgument

    Gets the ith syntactical argument of this expression.

    from Operation
    getSyntacticReceiver

    Gets the syntactic receiver of this expression, if any.

    from InvocationExpr
    hasEnclosingCfgScope

    Holds if this node is inside a CFG scope.

    from AstNode
    hasLhs

    Holds if getLhs() exists.

    from BinaryExpr
    hasOperatorName

    Holds if getOperatorName() exists.

    from BinaryExpr
    hasRhs

    Holds if getRhs() exists.

    from BinaryExpr
    isFromMacroExpansion

    Holds if this node exists only as the result of a macro expansion.

    from AstNode
    isInMacroExpansion

    Holds if this node is inside a macro expansion.

    from AstNode
    isOverloaded

    Holds if this operation is overloaded to the method methodName of the trait trait.

    from Operation
    isUnknownfrom Element
    resolve

    Gets the element that should substitute this element in the explicit AST, applying getResolveStep transitively.

    from Element
    toAbbreviatedString

    INTERNAL: Do not use.

    from Element
    toString

    Gets the string representation of this element.

    from Element