clang  6.0.0svn
Classes | Public Types | Public Member Functions | List of all members
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...
 
typedef SmallVectorImpl< Branch >::const_iterator branch_iterator
 

Public Member Functions

 UninitUse (const Expr *User, bool AlwaysUninit)
 
void addUninitBranch (Branch B)
 
void setUninitAfterCall ()
 
void setUninitAfterDecl ()
 
const ExprgetUser () const
 Get the expression containing the uninitialized use. More...
 
Kind getKind () const
 Get the kind of uninitialized use. More...
 
branch_iterator branch_begin () const
 Branches which inevitably result in the variable being used uninitialized. More...
 
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 93 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 70 of file UninitializedValues.h.

Constructor & Destructor Documentation

◆ UninitUse()

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

Definition at line 55 of file UninitializedValues.h.

Member Function Documentation

◆ addUninitBranch()

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

Definition at line 59 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 95 of file UninitializedValues.h.

◆ branch_empty()

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

Definition at line 97 of file UninitializedValues.h.

Referenced by getKind().

◆ branch_end()

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

Definition at line 96 of file UninitializedValues.h.

◆ getKind()

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

Get the kind of uninitialized use.

Definition at line 86 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 67 of file UninitializedValues.h.

Referenced by DiagnoseUninitializedUse(), and DiagUninitUse().

◆ setUninitAfterCall()

void clang::UninitUse::setUninitAfterCall ( )
inline

Definition at line 63 of file UninitializedValues.h.

◆ setUninitAfterDecl()

void clang::UninitUse::setUninitAfterDecl ( )
inline

Definition at line 64 of file UninitializedValues.h.


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