clang
8.0.0
|
Searches for and stores uninitialized fields in a non-union object. More...
Public Member Functions | |
FindUninitializedFields (ProgramStateRef State, const TypedValueRegion *const R, const UninitObjCheckerOptions &Opts) | |
Constructs the FindUninitializedField object, searches for and stores uninitialized fields in R. More... | |
std::pair< ProgramStateRef, const UninitFieldMap & > | getResults () |
Returns with the modified state and a map of (uninitialized region, note message) pairs. More... | |
bool | isAnyFieldInitialized () |
Returns whether the analyzed region contains at least one initialized field. More... | |
Searches for and stores uninitialized fields in a non-union object.
Definition at line 190 of file UninitializedObject.h.
FindUninitializedFields::FindUninitializedFields | ( | ProgramStateRef | State, |
const TypedValueRegion *const | R, | ||
const UninitObjCheckerOptions & | Opts | ||
) |
Constructs the FindUninitializedField object, searches for and stores uninitialized fields in R.
Definition at line 217 of file UninitializedObjectChecker.cpp.
References clang::ento::FieldChainInfo::add(), clang::ento::FieldChainInfo::contains(), clang::ento::SVal::getAs(), clang::Type::getAsRecordDecl(), clang::ento::FieldRegion::getDecl(), clang::RecordDecl::getDefinition(), clang::ento::FieldChainInfo::getHead(), clang::Decl::getLocation(), clang::ento::loc::MemRegionVal::getRegionAs(), clang::ValueDecl::getType(), clang::ento::FieldChainInfo::getUninitRegion(), clang::ento::TypedValueRegion::getValueType(), clang::ento::UninitObjCheckerOptions::IgnoredRecordsWithFieldPattern, isAnyFieldInitialized(), clang::ento::FieldNode::isBase(), clang::ento::isDereferencableType(), clang::ento::FieldChainInfo::isEmpty(), clang::ento::UninitObjCheckerOptions::IsPedantic, clang::ento::isPrimitiveType(), clang::Type::isRecordType(), clang::ento::SVal::isUndef(), clang::Type::isUnionType(), clang::ento::OS, clang::ento::FieldChainInfo::printNoteMsg(), clang::ento::FieldChainInfo::replaceHead(), and shouldIgnoreRecord().
|
inline |
Returns with the modified state and a map of (uninitialized region, note message) pairs.
Definition at line 220 of file UninitializedObject.h.
References State.
|
inline |
Returns whether the analyzed region contains at least one initialized field.
Note that this includes subfields as well, not just direct ones, and will return false if an uninitialized pointee is found with CheckPointeeInitialization enabled.
Definition at line 228 of file UninitializedObject.h.
Referenced by FindUninitializedFields().