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

Class AttrRef

A data flow node that reads or writes an attribute of an object.

This abstract base class only knows about the base object on which the attribute is being accessed, and the attribute itself, if it is statically inferrable.

Import path

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

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

accesses

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

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.

getAttributeNameExpr

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

getObject

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

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.

unknownAttribute

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

Inherited predicates

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
getALocalSource

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

from Node
getEnclosingCallable

Gets the enclosing callable of this node.

from Node
getLocation

Gets the location of this node

from Node
getScope

Gets the scope of this node.

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 Node
toString

Gets a textual representation of this element.

from Node