const CXXNewExpr * |
getOriginExpr () const override |
|
Returns the expression whose value will be the result of this call. |
|
|
const FunctionDecl * |
getDecl () const override |
|
Returns the declaration of the function or method that will be called. |
|
|
SVal |
getObjectUnderConstruction () const |
|
|
unsigned |
getNumImplicitArgs () const |
|
Number of non-placement arguments to the call. |
|
|
unsigned |
getNumArgs () const override |
|
Returns the number of arguments (explicit and implicit). |
|
|
bool |
isArray () const |
|
|
std::optional< const clang::Expr * > |
getArraySizeExpr () const |
|
|
SVal |
getArraySizeVal () const |
|
|
const Expr * |
getArgExpr (unsigned Index) const override |
|
Returns the expression associated with a given argument. |
|
|
const Expr * |
getPlacementArgExpr (unsigned Index) const |
|
Number of placement arguments to the operator new() call. |
|
|
Kind |
getKind () const override |
|
Returns the kind of call this is. |
|
|
StringRef |
getKindAsString () const override |
|
|
Public Member Functions inherited from clang::ento::AnyFunctionCall |
|
const FunctionDecl * |
getDecl () const override |
|
Returns the declaration of the function or method that will be called. |
|
|
RuntimeDefinition |
getRuntimeDefinition () const override |
|
Returns the definition of the function or method that will be called. |
|
|
bool |
argumentsMayEscape () const override |
|
Returns true if any of the arguments are known to escape to long- term storage, even if this method will not modify them. |
|
|
void |
getInitialStackFrameContents (const StackFrameContext *CalleeCtx, BindingsTy &Bindings) const override |
|
Populates the given SmallVector with the bindings in the callee's stack frame at the start of this call. |
|
|
ArrayRef< ParmVarDecl * > |
parameters () const override |
|
Return call's formal parameters. |
|
|
Public Member Functions inherited from clang::ento::CallEvent |
|
CallEvent & |
operator= (const CallEvent &)=delete |
|
|
virtual |
~CallEvent ()=default |
|
|
virtual Kind |
getKind () const =0 |
|
Returns the kind of call this is. |
|
|
virtual StringRef |
getKindAsString () const =0 |
|
|
virtual const Decl * |
getDecl () const |
|
Returns the declaration of the function or method that will be called. |
|
|
bool |
isForeign () const |
|
|
void |
setForeign (bool B) const |
|
|
const ProgramStateRef & |
getState () const |
|
The state in which the call is being evaluated. |
|
|
const LocationContext * |
getLocationContext () const |
|
The context in which the call is being evaluated. |
|
|
const CFGBlock::ConstCFGElementRef & |
getCFGElementRef () const |
|
|
virtual RuntimeDefinition |
getRuntimeDefinition () const =0 |
|
Returns the definition of the function or method that will be called. |
|
|
virtual const Expr * |
getOriginExpr () const |
|
Returns the expression whose value will be the result of this call. |
|
|
virtual unsigned |
getNumArgs () const =0 |
|
Returns the number of arguments (explicit and implicit). |
|
|
bool |
isInSystemHeader () const |
|
Returns true if the callee is known to be from a system header. |
|
|
virtual SourceRange |
getSourceRange () const |
|
Returns a source range for the entire call, suitable for outputting in diagnostics. |
|
|
virtual SVal |
getArgSVal (unsigned Index) const |
|
Returns the value of a given argument at the time of the call. |
|
|
virtual const Expr * |
getArgExpr (unsigned Index) const |
|
Returns the expression associated with a given argument. |
|
|
virtual SourceRange |
getArgSourceRange (unsigned Index) const |
|
Returns the source range for errors associated with this argument. |
|
|
QualType |
getResultType () const |
|
Returns the result type, adjusted for references. |
|
|
SVal |
getReturnValue () const |
|
Returns the return value of the call. |
|
|
bool |
hasNonNullArgumentsWithType (bool(*Condition)(QualType)) const |
|
Returns true if the type of any of the non-null arguments satisfies the condition. |
|
|
bool |
hasNonZeroCallbackArg () const |
|
Returns true if any of the arguments appear to represent callbacks. |
|
|
bool |
hasVoidPointerToNonConstArg () const |
|
Returns true if any of the arguments is void*. |
|
|
virtual bool |
argumentsMayEscape () const |
|
Returns true if any of the arguments are known to escape to long- term storage, even if this method will not modify them. |
|
|
bool |
isGlobalCFunction (StringRef SpecificName=StringRef()) const |
|
Returns true if the callee is an externally-visible function in the top-level namespace, such as malloc. |
|
|
const IdentifierInfo * |
getCalleeIdentifier () const |
|
Returns the name of the callee, if its name is a simple identifier. |
|
|
ProgramPoint |
getProgramPoint (bool IsPreVisit=false, const ProgramPointTag *Tag=nullptr) const |
|
Returns an appropriate ProgramPoint for this call. |
|
|
ProgramStateRef |
invalidateRegions (unsigned BlockCount, ProgramStateRef Orig=nullptr) const |
|
Returns a new state with all argument regions invalidated. |
|
|
virtual void |
getInitialStackFrameContents (const StackFrameContext *CalleeCtx, BindingsTy &Bindings) const =0 |
|
Populates the given SmallVector with the bindings in the callee's stack frame at the start of this call. |
|
|
template<typename T > |
|
CallEventRef< T > |
cloneWithState (ProgramStateRef NewState) const |
|
Returns a copy of this CallEvent, but using the given state. |
|
|
CallEventRef |
cloneWithState (ProgramStateRef NewState) const |
|
Returns a copy of this CallEvent, but using the given state. |
|
|
AnalysisDeclContext * |
getCalleeAnalysisDeclContext () const |
|
Returns AnalysisDeclContext for the callee stack frame. |
|
|
const StackFrameContext * |
getCalleeStackFrame (unsigned BlockCount) const |
|
Returns the callee stack frame. |
|
|
const ParamVarRegion * |
getParameterLocation (unsigned Index, unsigned BlockCount) const |
|
Returns memory location for a parameter variable within the callee stack frame. |
|
|
bool |
isArgumentConstructedDirectly (unsigned Index) const |
|
Returns true if on the current path, the argument was constructed by calling a C++ constructor over it. |
|
|
virtual std::optional< unsigned > |
getAdjustedParameterIndex (unsigned ASTArgumentIndex) const |
|
Some calls have parameter numbering mismatched from argument numbering. |
|
|
virtual unsigned |
getASTArgumentIndex (unsigned CallArgumentIndex) const |
|
Some call event sub-classes conveniently adjust mismatching AST indices to match parameter indices. |
|
|
const ConstructionContext * |
getConstructionContext () const |
|
Returns the construction context of the call, if it is a C++ constructor call or a call of a function returning a C++ class instance. |
|
|
std::optional< SVal > |
getReturnValueUnderConstruction () const |
|
If the call returns a C++ record type then the region of its return value can be retrieved from its construction context. |
|
|
const CallEventRef |
getCaller () const |
|
|
bool |
isCalledFromSystemHeader () const |
|
|
virtual ArrayRef< ParmVarDecl * > |
parameters () const =0 |
|
Return call's formal parameters. |
|
|
param_type_iterator |
param_type_begin () const |
|
Returns an iterator over the types of the call's formal parameters. |
|
|
param_type_iterator |
param_type_end () const |
|
|
void |
dump (raw_ostream &Out) const |
|
|
void |
dump () const |
|
|