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

Class FunctionDef

A def statement. Note that FunctionDef extends Assign as a function definition binds the newly created function

Import path

import python

Direct supertypes

Indirect supertypes

Fields

Predicates

getDefinedFunction

Gets the function for this statement

getLastStatement

Gets the final statement in this statement, ordered by location. Will be this statement if not a compound statement.

toString

Inherited predicates

contains

Whether this contains inner syntactically

from AstNode
containsInScope

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

from AstNode
defines

Use ControlFlowNodes and SsaVariables for data-flow analysis.

from Assign
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().

from Stmt
getAFlowNode

Gets a flow node corresponding directly to this node. NOTE: For some statements and other purely syntactic elements, there may not be a ControlFlowNode

from AstNode
getASubExpression

Gets an immediate (non-nested) sub-expression of this statement

from Assign
getASubPattern

Gets an immediate (non-nested) sub-pattern of this statement

from Stmt
getASubStatement

Gets an immediate (non-nested) sub-statement of this statement

from Assign
getATarget

Gets a target of this assignment statement.

from Assign_
getAnEntryNode

Gets a control flow node for an entry into this statement.

from Stmt
getEnclosingModule

Gets the module enclosing this statement

from Stmt
getLocationfrom Stmt
getParent

Gets a parent of this statement

from Stmt_
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.

from AstNode
getScope

Gets the scope immediately enclosing this statement

from Stmt
getTarget

Gets the nth target of this assignment statement.

from Assign_
getTargets

Gets the targets of this assignment statement.

from Assign_
getValue

Gets the value of this assignment statement.

from Assign_
isArtificial

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

from AstNode
isUnreachable

Holds if this statement cannot be reached

from Stmt

Charpred