clang 22.0.0git
clang::UninitUse Class Reference

A use of a variable, which might be uninitialized. More...

#include "clang/Analysis/Analyses/UninitializedValues.h"

Classes

struct  Branch

Public Types

enum  Kind {
  Maybe , Sometimes , AfterDecl , AfterCall ,
  Always
}
 The kind of uninitialized use. More...
using branch_iterator = SmallVectorImpl<Branch>::const_iterator

Public Member Functions

 UninitUse (const Expr *User, bool AlwaysUninit)
void addUninitBranch (Branch B)
void setUninitAfterCall ()
void setUninitAfterDecl ()
void setConstRefUse ()
void setConstPtrUse ()
const ExprgetUser () const
 Get the expression containing the uninitialized use.
bool isConstRefUse () const
bool isConstPtrUse () const
bool isConstRefOrPtrUse () const
Kind getKind () const
 Get the kind of uninitialized use.
branch_iterator branch_begin () const
 Branches which inevitably result in the variable being used uninitialized.
branch_iterator branch_end () const
bool branch_empty () const

Detailed Description

A use of a variable, which might be uninitialized.

Definition at line 30 of file UninitializedValues.h.

Member Typedef Documentation

◆ branch_iterator

Definition at line 108 of file UninitializedValues.h.

Member Enumeration Documentation

◆ Kind

The kind of uninitialized use.

Enumerator
Maybe 

The use might be uninitialized.

Sometimes 

The use is uninitialized whenever a certain branch is taken.

AfterDecl 

The use is uninitialized the first time it is reached after we reach the variable's declaration.

AfterCall 

The use is uninitialized the first time it is reached after the function is called.

Always 

The use is always uninitialized.

Definition at line 81 of file UninitializedValues.h.

Constructor & Destructor Documentation

◆ UninitUse()

clang::UninitUse::UninitUse ( const Expr * User,
bool AlwaysUninit )
inline

Definition at line 61 of file UninitializedValues.h.

Member Function Documentation

◆ addUninitBranch()

void clang::UninitUse::addUninitBranch ( Branch B)
inline

Definition at line 64 of file UninitializedValues.h.

◆ branch_begin()

branch_iterator clang::UninitUse::branch_begin ( ) const
inline

Branches which inevitably result in the variable being used uninitialized.

Definition at line 111 of file UninitializedValues.h.

Referenced by DiagUninitUse().

◆ branch_empty()

bool clang::UninitUse::branch_empty ( ) const
inline

Definition at line 113 of file UninitializedValues.h.

Referenced by getKind().

◆ branch_end()

branch_iterator clang::UninitUse::branch_end ( ) const
inline

Definition at line 112 of file UninitializedValues.h.

Referenced by DiagUninitUse().

◆ getKind()

Kind clang::UninitUse::getKind ( ) const
inline

Get the kind of uninitialized use.

Definition at line 101 of file UninitializedValues.h.

References AfterCall, AfterDecl, Always, branch_empty(), Maybe, and Sometimes.

Referenced by DiagUninitUse().

◆ getUser()

const Expr * clang::UninitUse::getUser ( ) const
inline

Get the expression containing the uninitialized use.

Definition at line 74 of file UninitializedValues.h.

Referenced by DiagnoseUninitializedConstPtrUse(), DiagnoseUninitializedConstRefUse(), DiagnoseUninitializedUse(), and DiagUninitUse().

◆ isConstPtrUse()

bool clang::UninitUse::isConstPtrUse ( ) const
inline

Definition at line 77 of file UninitializedValues.h.

◆ isConstRefOrPtrUse()

bool clang::UninitUse::isConstRefOrPtrUse ( ) const
inline

Definition at line 78 of file UninitializedValues.h.

◆ isConstRefUse()

bool clang::UninitUse::isConstRefUse ( ) const
inline

Definition at line 76 of file UninitializedValues.h.

◆ setConstPtrUse()

void clang::UninitUse::setConstPtrUse ( )
inline

Definition at line 71 of file UninitializedValues.h.

◆ setConstRefUse()

void clang::UninitUse::setConstRefUse ( )
inline

Definition at line 70 of file UninitializedValues.h.

◆ setUninitAfterCall()

void clang::UninitUse::setUninitAfterCall ( )
inline

Definition at line 68 of file UninitializedValues.h.

◆ setUninitAfterDecl()

void clang::UninitUse::setUninitAfterDecl ( )
inline

Definition at line 69 of file UninitializedValues.h.


The documentation for this class was generated from the following file: