clang API Documentation

Classes | Public Types | Public Member Functions
clang::UninitUse Class Reference

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

#include <UninitializedValues.h>

List of all members.

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

typedef SmallVectorImpl<Branch>::const_iterator clang::UninitUse::branch_iterator

Definition at line 93 of file UninitializedValues.h.


Member Enumeration Documentation

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

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

Definition at line 55 of file UninitializedValues.h.


Member Function Documentation

Definition at line 59 of file UninitializedValues.h.

Branches which inevitably result in the variable being used uninitialized.

Definition at line 95 of file UninitializedValues.h.

Referenced by DiagUninitUse().

Definition at line 97 of file UninitializedValues.h.

Referenced by getKind().

Definition at line 96 of file UninitializedValues.h.

Referenced by DiagUninitUse().

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

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

Definition at line 63 of file UninitializedValues.h.

Definition at line 64 of file UninitializedValues.h.


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