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

Class YieldNodeInContextManagerFunction

A data flow node that represents the value yielded by a callable with a contextlib.contextmanager decorator. We treat this as a normal return, which makes things just work when used in a with statement – technically calling the function directly will give you a contextlib._GeneratorContextManager instance, so it’s a slight workaround solution.

See https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager

Import path

import semmle.python.dataflow.new.internal.DataFlowDispatch

Direct supertypes

Indirect supertypes

Inherited fields

Predicates

getKind

Gets the kind of this return node.

Inherited predicates

asCfgNode

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

from CfgNode
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 CfgNode
getNode

Gets the ControlFlowNode represented by this data-flow node.

from CfgNode
getScope

Gets the scope of this node.

from CfgNode
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 CfgNode

Charpred