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

Class AstNode

A syntactic node (Class, Function, Module, Expr, Stmt or Comprehension) corresponding to a flow node

Import path

import python

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

contains

Whether this contains inner syntactically

containsInScope

Whether this contains inner syntactically and inner has the same scope as this

getAChildNode

Gets a child node of this node in the AST. This predicate exists to aid exploration of the AST and other experiments. The child-parent relation may not be meaningful. For a more meaningful relation in terms of dependency use Expr.getASubExpression(), Stmt.getASubStatement(), Stmt.getASubExpression() or Scope.getAStmt().

getAFlowNode

DEPRECATED: use ControlFlowNode.getNode() from the other direction instead; that is, replace e.getAFlowNode() = n with n.getNode() = e. This API is being removed to untangle the AST and CFG hierarchies in preparation for migrating the dataflow library off the legacy CFG.

getLocation

Gets the location for this AST node

getParentNode

Gets the parent node of this node in the AST. This predicate exists to aid exploration of the AST and other experiments. The child-parent relation may not be meaningful. For a more meaningful relation in terms of dependency use Expr.getASubExpression(), Stmt.getASubStatement(), Stmt.getASubExpression() or Scope.getAStmt() applied to the parent.

getScope

Gets the scope that this node occurs in

isArtificial

Whether this syntactic element is artificial, that is it is generated by the compiler and is not present in the source

Inherited predicates

toString

Gets a textual representation of this element.

from AstNode_