Class Exprs::Call

A call expression, such as func(...)

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

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

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

getAKeyword

Gets a keyword argument of this call expression, provided it is not preceded by a double-starred argument. This exists primarily for backwards compatibility. You are recommended to use Call.getANamedArg() instead.

getANamedArgumentName

Gets the name of a named argument, including those passed in dict literals.

getASubExpression

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

getAnArg

Gets a positional argument, provided it is not preceded by a starred argument. This exists primarily for backwards compatibility. You are recommended to use Call.getAPositionalArg() instead.

getArg

Gets the positional argument at index, provided it is not preceded by a starred argument. This exists primarily for backwards compatibility. You are recommended to use Call.getPositionalArg(index) instead.

getKeyword

Gets the nth keyword argument of this call expression, provided it is not preceded by a double-starred argument. This exists primarily for backwards compatibility. You are recommended to use Call.getNamedArg(index) instead.

getKwargs

Gets a dictionary (**) argument of this class definition.

getStarargs

Gets a tuple (*) argument of this class definition.

hasSideEffects

Whether this expression may have a side effect (as determined purely from its syntax)

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

Whether this expression defines variable v If doing dataflow, then consider using SsaVariable.getDefinition() for more precision.

from Expr
getANamedArg

Gets a named argument of this call expression.

from Call_
getAPositionalArg

Gets a positional argument of this call expression.

from Call_
getEnclosingModule

Gets the module in which this expression occurs

from Expr
getFunc

Gets the callable of this call expression.

from Call_
getLocationfrom Expr
getNamedArg

Gets the nth named argument of this call expression.

from Call_
getNamedArgs

Gets the named arguments of this call expression.

from Call_
getParentfrom Expr_
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
getPositionalArg

Gets the nth positional argument of this call expression.

from Call_
getPositionalArgs

Gets the positional arguments of this call expression.

from Call_
getScope

Gets the scope of this expression

from Expr
isArtificial

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

from AstNode
isConstant

Whether this expression is a constant

from Expr
isParenthesised

Use isParenthesized instead.

from Expr
isParenthesized

Whether the parenthesized property of this expression is true.

from Expr
refersTo

Gets what this expression might “refer-to”. Performs a combination of localized (intra-procedural) points-to analysis and global module-level analysis. This points-to analysis favours precision over recall. It is highly precise, but may not provide information for a significant number of flow-nodes. If the class is unimportant then use refersTo(value) or refersTo(value, origin) instead. NOTE: For complex dataflow, involving multiple stages of points-to analysis, it may be more precise to use ControlFlowNode.refersTo(...) instead.

from Expr
refersTo

Gets what this expression might “refer-to” in the given context.

from Expr
refersTo

Whether this expression might “refer-to” to value which is from origin Unlike this.refersTo(value, _, origin), this predicate includes results where the class cannot be inferred.

from Expr
refersTo

Equivalent to this.refersTo(value, _)

from Expr
strValue

Use StrConst.getText() instead

from Expr