CodeQL library for Python
codeql/python-all 0.12.1 (changelog, source)
Search

Class AttrRead

A read of an attribute on an object. This includes

  • Simple attribute reads: object.attr
  • Dynamic attribute reads using getattr: getattr(object, attr)
  • Qualified imports: from module import attr as name

Import path

import semmle.python.dataflow.new.internal.Attributes

Direct supertypes

Indirect supertypes

Known direct subtypes

    Inherited predicates

    accesses

    Holds if this data flow node accesses attribute named attrName on object object.

    from AttrRef
    asCfgNode

    Gets the control-flow node corresponding to this node, if any.

    from Node
    asExpr

    Gets the expression corresponding to this node, if any.

    from Node
    backtrack

    Gets a node that may flow into this one using one heap and/or interprocedural step.

    from LocalSourceNode
    flowsTo

    Holds if this LocalSourceNode can flow to nodeTo in one or more local flow steps.

    from LocalSourceNode
    getACall

    Gets a call to this node.

    from LocalSourceNode
    getALocalSource

    Gets a local source node from which data may flow to this node in zero or more local data-flow steps.

    from Node
    getAMethodCall

    Gets a call to the method methodName on this node.

    from LocalSourceNode
    getAnAttributeRead

    Gets a read of any attribute on this node.

    from LocalSourceNode
    getAnAttributeRead

    Gets a read of attribute attrName on this node.

    from LocalSourceNode
    getAnAttributeReference

    Gets a reference (read or write) of any attribute on this node.

    from LocalSourceNode
    getAnAttributeReference

    Gets a reference (read or write) of attribute attrName on this node.

    from LocalSourceNode
    getAnAttributeWrite

    Gets a write of any attribute on this node.

    from LocalSourceNode
    getAnAttributeWrite

    Gets a write of attribute attrName on this node.

    from LocalSourceNode
    getAnAwaited

    Gets an awaited value from this node.

    from LocalSourceNode
    getAttributeName

    Gets the name of the attribute being read or written. For dynamic attribute accesses, this method is not guaranteed to return a result. For such cases, using mayHaveAttributeName may yield better results.

    from AttrRef
    getAttributeNameExpr

    Gets the expression node that defines the attribute being accessed, if any. This is usually an identifier or literal.

    from AttrRef
    getEnclosingCallable

    Gets the enclosing callable of this node.

    from Node
    getLocation

    Gets the location of this node

    from Node
    getObject

    Gets the data flow node corresponding to the object whose attribute is being read or written.

    from AttrRef
    getScope

    Gets the scope of this node.

    from Node
    getSubscript

    Gets a subscript of this node.

    from LocalSourceNode
    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 Node
    mayHaveAttributeName

    Holds if this attribute reference may access an attribute named attrName. Uses local data flow to track potential attribute names, which may lead to imprecision. If more precision is needed, consider using getAttributeName instead.

    from AttrRef
    toString

    Gets a textual representation of this element.

    from Node
    track

    Gets a node that this node may flow to using one heap and/or interprocedural step.

    from LocalSourceNode
    unknownAttribute

    Holds if a name could not be determined for this attribute.

    from AttrRef