clang 22.0.0git
|
#include "clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h"
Protected Attributes | |
ASTContext & | Context |
BasicValueFactory | BasicVals |
Manager of APSInt values. | |
SymbolManager | SymMgr |
Manages the creation of symbols. | |
MemRegionManager | MemMgr |
Manages the creation of memory regions. | |
ProgramStateManager & | StateMgr |
const AnalyzerOptions & | AnOpts |
const QualType | ArrayIndexTy |
The scalar type to use for array indices. | |
const unsigned | ArrayIndexWidth |
The width of the scalar type used for array indices. |
Definition at line 54 of file SValBuilder.h.
SValBuilder::SValBuilder | ( | llvm::BumpPtrAllocator & | alloc, |
ASTContext & | context, | ||
ProgramStateManager & | stateMgr ) |
Definition at line 52 of file SValBuilder.cpp.
References AnOpts, ArrayIndexTy, ArrayIndexWidth, BasicVals, Context, getAnalyzerOptions(), MemMgr, StateMgr, and SymMgr.
|
virtualdefault |
References V.
ConditionTruthVal SValBuilder::areEqual | ( | ProgramStateRef | state, |
SVal | lhs, | ||
SVal | rhs ) |
lhs
and rhs
are equal at state
. Definition at line 544 of file SValBuilder.cpp.
References evalEQ().
Referenced by wasRegionOfInterestModifiedAt().
|
inline |
Definition at line 175 of file SValBuilder.h.
References SymMgr, and clang::ast_matchers::type.
DefinedOrUnknownSVal SValBuilder::conjureSymbolVal | ( | const CallEvent & | call, |
QualType | type, | ||
unsigned | visitCount, | ||
const void * | symbolTag = nullptr ) |
Definition at line 208 of file SValBuilder.cpp.
References conjureSymbolVal(), clang::ento::CallEvent::getCFGElementRef(), clang::ento::CallEvent::getLocationContext(), and clang::ast_matchers::type.
DefinedOrUnknownSVal SValBuilder::conjureSymbolVal | ( | const CallEvent & | call, |
unsigned | visitCount, | ||
const void * | symbolTag = nullptr ) |
Definition at line 200 of file SValBuilder.cpp.
References conjureSymbolVal(), clang::ento::CallEvent::getCFGElementRef(), clang::ento::CallEvent::getLocationContext(), and clang::ento::CallEvent::getResultType().
DefinedOrUnknownSVal SValBuilder::conjureSymbolVal | ( | const void * | symbolTag, |
ConstCFGElementRef | elem, | ||
const LocationContext * | LCtx, | ||
QualType | type, | ||
unsigned | count ) |
Definition at line 174 of file SValBuilder.cpp.
References clang::ento::SymbolManager::canSymbolicate(), clang::ento::Loc::isLocType(), makeZeroVal(), MemMgr, SymMgr, and clang::ast_matchers::type.
DefinedOrUnknownSVal SValBuilder::conjureSymbolVal | ( | const void * | symbolTag, |
ConstCFGElementRef | elem, | ||
const LocationContext * | LCtx, | ||
unsigned | count ) |
Create a new symbol with a unique 'name'.
We resort to conjured symbols when we cannot construct a derived symbol. The advantage of symbols derived/built from other symbols is that we preserve the relation between related(or even equivalent) expressions, so conjured symbols should be used sparingly.
Definition at line 154 of file SValBuilder.cpp.
References conjureSymbolVal(), clang::LocationContext::getAnalysisDeclContext(), clang::AnalysisDeclContext::getASTContext(), clang::ASTContext::getPointerType(), clang::CFGStmt::getStmt(), clang::Expr::getType(), clang::Expr::isGLValue(), makeZeroVal(), and clang::T.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), conjureOffsetSymbolOnLocation(), conjureSymbolVal(), conjureSymbolVal(), conjureSymbolVal(), conjureSymbolVal(), clang::ento::retaincountchecker::RetainCountChecker::evalCall(), and clang::ento::ExprEngine::ProcessInitializer().
DefinedOrUnknownSVal SValBuilder::conjureSymbolVal | ( | ConstCFGElementRef | elem, |
const LocationContext * | LCtx, | ||
QualType | type, | ||
unsigned | visitCount ) |
Definition at line 193 of file SValBuilder.cpp.
References conjureSymbolVal(), and clang::ast_matchers::type.
Definition at line 117 of file SValBuilder.cpp.
References ArrayIndexTy, ArrayIndexWidth, evalCast(), clang::ento::SVal::getAs(), and clang::ento::SVal::isUnknownOrUndef().
SVal SValBuilder::evalBinOp | ( | ProgramStateRef | state, |
BinaryOperator::Opcode | op, | ||
SVal | lhs, | ||
SVal | rhs, | ||
QualType | type ) |
Definition at line 494 of file SValBuilder.cpp.
References clang::ento::SVal::castAs(), evalBinOpLL(), evalBinOpLN(), evalBinOpNN(), clang::ento::SVal::getAs(), clang::isa(), clang::ento::SVal::isUndef(), clang::ento::SVal::isUnknown(), makeIntVal(), and clang::ast_matchers::type.
Referenced by assumeCollectionNonEmpty(), evalComparison(), evalEQ(), and clang::ento::errno_modeling::setErrnoForStdFailure().
|
pure virtual |
Create a new value which represents a binary expression with two memory location operands.
Referenced by evalBinOp().
|
pure virtual |
Create a new value which represents a binary expression with a memory location and non-location operands.
For example, this would be used to evaluate a pointer arithmetic operation.
Referenced by evalBinOp().
|
pure virtual |
Create a new value which represents a binary expression with two non- location operands.
Referenced by clang::ento::ProgramState::assumeInBoundDual(), clang::ento::iterator::assumeNoOverflow(), compareValueToThreshold(), computeOffset(), doRearrangeUnchecked(), evalBinOp(), evalIntegralCast(), getIndex(), and isInRelation().
Cast a given SVal to another SVal using given QualType's.
V | – SVal that should be casted. |
CastTy | – QualType that V should be casted according to. |
OriginalTy | – QualType which is associated to V. It provides additional information about what type the cast performs from. |
Definition at line 1105 of file SValBuilder.cpp.
References V.
Referenced by castArgToParamTypeIfNeeded(), convertToArrayIndex(), evalIntegralCast(), getConstantVal(), clang::ento::CXXInstanceCall::getCXXThisVal(), and clang::ento::CXXInstanceCall::getInitialStackFrameContents().
Definition at line 469 of file SValBuilder.cpp.
References Context, clang::ento::nonloc::SymbolVal::getSymbol(), clang::ento::nonloc::ConcreteInt::getValue(), makeIntVal(), makeNonLoc(), and X.
Referenced by evalUnaryOp().
DefinedOrUnknownSVal SValBuilder::evalEQ | ( | ProgramStateRef | state, |
DefinedOrUnknownSVal | lhs, | ||
DefinedOrUnknownSVal | rhs ) |
Definition at line 553 of file SValBuilder.cpp.
References clang::ento::SVal::castAs(), and evalEQ().
SVal SValBuilder::evalEQ | ( | ProgramStateRef | state, |
SVal | lhs, | ||
SVal | rhs ) |
Definition at line 549 of file SValBuilder.cpp.
References evalBinOp(), and getConditionType().
Referenced by areEqual(), evalEQ(), and mayBeSuccess().
SVal SValBuilder::evalIntegralCast | ( | ProgramStateRef | state, |
SVal | val, | ||
QualType | castTy, | ||
QualType | originalType ) |
Definition at line 596 of file SValBuilder.cpp.
References clang::ento::SVal::castAs(), evalBinOpNN(), evalCast(), clang::ento::SVal::getAs(), clang::ento::SVal::getAsSymbol(), getConditionType(), getContext(), clang::ento::APSIntType::getMaxValue(), clang::Type::isUnsignedIntegerType(), makeIntVal(), and makeNonLoc().
Definition at line 457 of file SValBuilder.cpp.
References Context, clang::ento::nonloc::SymbolVal::getSymbol(), clang::ento::nonloc::ConcreteInt::getValue(), makeIntVal(), makeNonLoc(), and X.
Referenced by evalUnaryOp().
SVal SValBuilder::evalUnaryOp | ( | ProgramStateRef | state, |
UnaryOperator::Opcode | opc, | ||
SVal | operand, | ||
QualType | type ) |
Definition at line 481 of file SValBuilder.cpp.
References evalComplement(), evalMinus(), clang::ento::SVal::getAs(), and clang::ast_matchers::type.
loc::MemRegionVal SValBuilder::getAllocaRegionVal | ( | const Expr * | E, |
const LocationContext * | LCtx, | ||
unsigned | Count ) |
Create an SVal representing the result of an alloca()-like call, that is, an AllocaRegion on the stack.
After calling this function, it's a good idea to set the extent of the returned AllocaRegion.
Definition at line 232 of file SValBuilder.cpp.
References clang::ento::MemRegionManager::getAllocaRegion(), and getRegionManager().
|
inline |
Definition at line 171 of file SValBuilder.h.
References AnOpts.
Referenced by SValBuilder(), and tryRearrange().
|
inline |
Definition at line 158 of file SValBuilder.h.
References ArrayIndexTy.
Referenced by clang::ento::ProgramState::assumeInBoundDual(), computeOffset(), and clang::ento::MemRegionManager::getStaticSize().
|
inline |
Definition at line 162 of file SValBuilder.h.
References BasicVals.
Referenced by clang::ento::ProgramState::assumeInBoundDual(), clang::ento::iterator::assumeNoOverflow(), doRearrangeUnchecked(), getStartIndex(), isInRelation(), isWithinConstantOverflowBounds(), and processArgument().
|
inline |
Definition at line 163 of file SValBuilder.h.
References BasicVals.
DefinedSVal SValBuilder::getBlockPointer | ( | const BlockDecl * | block, |
CanQualType | locTy, | ||
const LocationContext * | locContext, | ||
unsigned | blockCount ) |
Definition at line 295 of file SValBuilder.cpp.
References clang::LocationContext::getAnalysisDeclContext(), and MemMgr.
std::optional< loc::MemRegionVal > SValBuilder::getCastedMemRegionVal | ( | const MemRegion * | region, |
QualType | type ) |
Return MemRegionVal on success cast, otherwise return std::nullopt.
Definition at line 307 of file SValBuilder.cpp.
References StateMgr.
|
inline |
Definition at line 154 of file SValBuilder.h.
References Context.
Referenced by assumeCollectionNonEmpty(), clang::ento::iterator::assumeNoOverflow(), compareValueToThreshold(), doRearrangeUnchecked(), evalComparison(), evalEQ(), evalIntegralCast(), isInRelation(), clang::ento::errno_modeling::setErrnoForStdFailure(), and tryRearrange().
DefinedSVal SValBuilder::getConjuredHeapSymbolVal | ( | ConstCFGElementRef | elem, |
const LocationContext * | LCtx, | ||
QualType | type, | ||
unsigned | Count ) |
Conjure a symbol representing heap allocated memory region.
Definition at line 216 of file SValBuilder.cpp.
References clang::ento::SymbolManager::canSymbolicate(), clang::ento::SVal::castAs(), clang::ento::Loc::isLocType(), makeZeroVal(), MemMgr, SymMgr, and clang::ast_matchers::type.
Returns the value of E
, if it can be determined in a non-path-sensitive manner.
If E
is not a constant or cannot be modeled, returns std::nullopt
.
Definition at line 328 of file SValBuilder.cpp.
References clang::C, clang::cast(), evalCast(), clang::Expr::EvaluateAsInt(), getConstantVal(), getContext(), getRegionManager(), clang::Stmt::getStmtClass(), clang::Expr::getType(), clang::Expr::IgnoreParens(), clang::Expr::isGLValue(), clang::ento::Loc::isLocType(), clang::Expr::isNullPointerConstant(), makeBoolVal(), makeIntVal(), makeLoc(), makeNullWithType(), makeTruthVal(), makeZeroVal(), clang::Expr::NPC_ValueDependentIsNotNull, and clang::Result.
Referenced by getConstantVal(), and clang::ento::Environment::getSVal().
|
inline |
Definition at line 149 of file SValBuilder.h.
References Context.
Referenced by clang::ento::ProgramState::assumeInBoundDual(), bindRequiredArrayElementToEnvironment(), collectSubRegionBindings(), clang::ento::ExprEngine::computeObjectUnderConstruction(), computeOffset(), evalIntegralCast(), getConstantVal(), getCXXThis(), clang::ento::CXXInstanceCall::getCXXThisVal(), getExistingLazyBinding(), getIndex(), clang::ento::CXXInstanceCall::getInitialStackFrameContents(), and isUnsigned().
|
inline |
Definition at line 150 of file SValBuilder.h.
References Context.
loc::MemRegionVal SValBuilder::getCXXThis | ( | const CXXMethodDecl * | D, |
const StackFrameContext * | SFC ) |
Return a memory region for the 'this' object reference.
Definition at line 314 of file SValBuilder.cpp.
References getRegionManager(), and clang::CXXMethodDecl::getThisType().
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), clang::ento::CallEventManager::getCaller(), clang::ento::AnyCXXConstructorCall::getInitialStackFrameContents(), clang::ento::BlockCall::getInitialStackFrameContents(), clang::ento::CXXInstanceCall::getInitialStackFrameContents(), clang::ento::ExprEngine::ProcessBaseDtor(), and clang::ento::ExprEngine::ProcessMemberDtor().
loc::MemRegionVal SValBuilder::getCXXThis | ( | const CXXRecordDecl * | D, |
const StackFrameContext * | SFC ) |
Return a memory region for the 'this' object reference.
Definition at line 321 of file SValBuilder.cpp.
References getContext(), clang::ASTContext::getPointerType(), and getRegionManager().
DefinedOrUnknownSVal SValBuilder::getDerivedRegionValueSymbolVal | ( | SymbolRef | parentSymbol, |
const TypedValueRegion * | region ) |
Definition at line 257 of file SValBuilder.cpp.
References clang::ento::SymbolManager::canSymbolicate(), clang::ento::TypedValueRegion::getValueType(), clang::ento::Loc::isLocType(), makeZeroVal(), MemMgr, SymMgr, and clang::T.
Referenced by getDerivedSymbolForBinding().
DefinedSVal SValBuilder::getFunctionPointer | ( | const FunctionDecl * | func | ) |
Definition at line 291 of file SValBuilder.cpp.
References MemMgr.
Referenced by getMemberPointer().
|
pure virtual |
Evaluates a given SVal.
If the SVal has only one possible (integer) value, that value is returned. Otherwise, returns NULL.
Referenced by getKnownValue().
|
pure virtual |
Tries to get the maximal possible (integer) value of a given SVal.
This always returns the value of a ConcreteInt, but may return NULL if the value is symbolic and the constraint manager cannot provide a useful answer.
Referenced by isNegative().
DefinedSVal SValBuilder::getMemberPointer | ( | const NamedDecl * | ND | ) |
Definition at line 275 of file SValBuilder.cpp.
References getFunctionPointer(), and clang::isa().
DefinedSVal SValBuilder::getMetadataSymbolVal | ( | const void * | symbolTag, |
const MemRegion * | region, | ||
const Expr * | expr, | ||
QualType | type, | ||
const LocationContext * | LCtx, | ||
unsigned | count ) |
Definition at line 240 of file SValBuilder.cpp.
References clang::ento::SymbolManager::canSymbolicate(), clang::ast_matchers::expr, clang::ento::Loc::isLocType(), MemMgr, SymMgr, and clang::ast_matchers::type.
|
pure virtual |
|
inline |
Definition at line 168 of file SValBuilder.h.
References MemMgr.
Referenced by addParameterValuesToBindings(), bindRequiredArrayElementToEnvironment(), clang::ento::ExprEngine::computeObjectUnderConstruction(), getAllocaRegionVal(), getConstantVal(), getCXXThis(), getCXXThis(), and clang::ento::ObjCMethodCall::getInitialStackFrameContents().
|
inline |
Definition at line 169 of file SValBuilder.h.
References MemMgr.
DefinedOrUnknownSVal SValBuilder::getRegionValueSymbolVal | ( | const TypedValueRegion * | region | ) |
Make a unique symbol for value of region.
Definition at line 137 of file SValBuilder.cpp.
References clang::ento::SymbolManager::canSymbolicate(), clang::ento::TypedValueRegion::getValueType(), clang::ento::Loc::isLocType(), makeZeroVal(), MemMgr, SymMgr, and clang::T.
|
inline |
Definition at line 152 of file SValBuilder.h.
References StateMgr.
Referenced by clang::ento::SimpleConstraintManager::assumeInternal(), clang::ento::iterator::assumeNoOverflow(), bindRequiredArrayElementToEnvironment(), doRearrangeUnchecked(), escapeByStartIndexAndCount(), clang::ento::CallEventManager::getCaller(), getIndex(), getKnownValue(), isInRelation(), isWithinConstantOverflowBounds(), and clang::ento::simplifyToSVal().
|
inline |
Definition at line 165 of file SValBuilder.h.
References SymMgr.
Referenced by doRearrangeUnchecked(), clang::ento::MemRegionManager::getStaticSize(), clang::ento::CheckerContext::getSymbolManager(), and clang::ento::CheckerContext::getSymbolManager().
|
inline |
Definition at line 166 of file SValBuilder.h.
References SymMgr.
|
inline |
Definition at line 271 of file SValBuilder.h.
References ArrayIndexTy, and BasicVals.
Referenced by computeOffset(), and escapeByStartIndexAndCount().
nonloc::ConcreteInt SValBuilder::makeBoolVal | ( | const CXXBoolLiteralExpr * | boolean | ) |
Definition at line 132 of file SValBuilder.cpp.
References clang::CXXBoolLiteralExpr::getValue(), and makeTruthVal().
|
inline |
Definition at line 283 of file SValBuilder.h.
References clang::Expr::getType(), clang::ObjCBoolLiteralExpr::getValue(), and makeTruthVal().
Referenced by getConstantVal().
|
inline |
Definition at line 249 of file SValBuilder.h.
References BasicVals, and clang::ast_matchers::type.
Referenced by makeZeroVal(), and processArgument().
|
inline |
Definition at line 293 of file SValBuilder.h.
References BasicVals.
|
inline |
Definition at line 277 of file SValBuilder.h.
References BasicVals, clang::Expr::getType(), clang::APIntStorage::getValue(), and clang::Type::isUnsignedIntegerOrEnumerationType().
Referenced by assumeCollectionNonEmpty(), evalBinOp(), evalComplement(), evalIntegralCast(), evalMinus(), getConstantVal(), getIndex(), getSimplifiedOffsets(), clang::ento::MemRegionManager::getStaticSize(), clang::ento::CheckerContext::isGreaterOrEqual(), clang::ento::CheckerContext::isNegative(), makeZeroVal(), mayBeSuccess(), populateObjCForDestinationSet(), and REGISTER_TRAIT_WITH_PROGRAMSTATE().
Definition at line 297 of file SValBuilder.h.
References BasicVals, and isUnsigned().
|
inline |
Definition at line 289 of file SValBuilder.h.
References BasicVals.
Definition at line 308 of file SValBuilder.h.
References BasicVals, and isUnsigned().
|
inline |
Definition at line 301 of file SValBuilder.h.
References BasicVals, clang::ento::Loc::isLocType(), and clang::ast_matchers::type.
Definition at line 312 of file SValBuilder.h.
References BasicVals.
|
inline |
Definition at line 253 of file SValBuilder.h.
References BasicVals.
|
inline |
Definition at line 371 of file SValBuilder.h.
References clang::ast_matchers::expr.
|
inline |
Definition at line 375 of file SValBuilder.h.
References BasicVals.
|
inline |
Definition at line 367 of file SValBuilder.h.
|
inline |
Definition at line 363 of file SValBuilder.h.
References MemMgr.
Referenced by addParameterValuesToBindings(), clang::ento::ExprEngine::computeObjectUnderConstruction(), getConstantVal(), clang::ento::ObjCMethodCall::getInitialStackFrameContents(), makeSymbolVal(), and populateObjCForDestinationSet().
Definition at line 316 of file SValBuilder.h.
References BasicVals.
nonloc::SymbolVal SValBuilder::makeNonLoc | ( | APSIntPtr | rhs, |
BinaryOperator::Opcode | op, | ||
const SymExpr * | lhs, | ||
QualType | type ) |
Definition at line 85 of file SValBuilder.cpp.
References clang::ento::Loc::isLocType(), SymMgr, and clang::ast_matchers::type.
nonloc::SymbolVal SValBuilder::makeNonLoc | ( | const SymExpr * | lhs, |
BinaryOperator::Opcode | op, | ||
APSIntPtr | rhs, | ||
QualType | type ) |
Definition at line 77 of file SValBuilder.cpp.
References clang::ento::Loc::isLocType(), SymMgr, and clang::ast_matchers::type.
Referenced by evalComplement(), evalIntegralCast(), evalMinus(), and makeSymExprValNN().
nonloc::SymbolVal SValBuilder::makeNonLoc | ( | const SymExpr * | lhs, |
BinaryOperator::Opcode | op, | ||
const SymExpr * | rhs, | ||
QualType | type ) |
Definition at line 93 of file SValBuilder.cpp.
References clang::ento::Loc::isLocType(), SymMgr, and clang::ast_matchers::type.
nonloc::SymbolVal SValBuilder::makeNonLoc | ( | const SymExpr * | operand, |
QualType | fromTy, | ||
QualType | toTy ) |
Create a NonLoc value for cast.
Definition at line 108 of file SValBuilder.cpp.
References clang::ento::Loc::isLocType(), and SymMgr.
NonLoc SValBuilder::makeNonLoc | ( | const SymExpr * | operand, |
UnaryOperator::Opcode | op, | ||
QualType | type ) |
Definition at line 101 of file SValBuilder.cpp.
References clang::ento::Loc::isLocType(), SymMgr, and clang::ast_matchers::type.
|
inline |
Create NULL pointer, with proper pointer bit-width for given address space.
type | pointer type. |
Definition at line 347 of file SValBuilder.h.
References BasicVals, Context, and clang::ast_matchers::type.
Referenced by getConstantVal(), and makeZeroVal().
|
inline |
Definition at line 259 of file SValBuilder.h.
|
inline |
Definition at line 263 of file SValBuilder.h.
|
inline |
Make an SVal that represents the given symbol.
This follows the convention of representing Loc-type symbols (symbolic pointers and references) as Loc values wrapping the symbol rather than as plain symbol values.
Definition at line 386 of file SValBuilder.h.
References clang::ento::SymExpr::getType(), clang::ento::Loc::isLocType(), and makeLoc().
Referenced by clang::ento::simplifyToSVal().
SVal SValBuilder::makeSymExprValNN | ( | BinaryOperator::Opcode | op, |
NonLoc | lhs, | ||
NonLoc | rhs, | ||
QualType | resultTy ) |
Constructs a symbolic expression for two non-location values.
Definition at line 430 of file SValBuilder.cpp.
References AnOpts, clang::ento::SymExpr::computeComplexity(), clang::ento::SVal::getAs(), clang::ento::SVal::getAsSymbol(), and makeNonLoc().
|
inline |
Definition at line 340 of file SValBuilder.h.
|
inline |
Definition at line 336 of file SValBuilder.h.
References b, BasicVals, and clang::ast_matchers::type.
Referenced by getConstantVal(), makeBoolVal(), and makeBoolVal().
|
inline |
Definition at line 267 of file SValBuilder.h.
References ArrayIndexTy, and BasicVals.
Referenced by computeOffset().
DefinedOrUnknownSVal SValBuilder::makeZeroVal | ( | QualType | type | ) |
Construct an SVal representing '0' for the specified type.
Definition at line 62 of file SValBuilder.cpp.
References BasicVals, clang::ento::Loc::isLocType(), makeCompoundVal(), makeIntVal(), makeNullWithType(), and clang::ast_matchers::type.
Referenced by conjureSymbolVal(), conjureSymbolVal(), getConjuredHeapSymbolVal(), getConstantVal(), getDerivedRegionValueSymbolVal(), getRegionValueSymbolVal(), and clang::ento::errno_modeling::setErrnoForStdFailure().
|
pure virtual |
Simplify symbolic expressions within a given SVal.
Return an SVal that represents the same value, but is hopefully easier to work with than the original SVal.
References clang::ast_matchers::type.
Referenced by clang::ento::simplifyToSVal().
|
protected |
Definition at line 71 of file SValBuilder.h.
Referenced by getAnalyzerOptions(), makeSymExprValNN(), and SValBuilder().
|
protected |
The scalar type to use for array indices.
Definition at line 74 of file SValBuilder.h.
Referenced by convertToArrayIndex(), getArrayIndexType(), makeArrayIndex(), makeZeroArrayIndex(), and SValBuilder().
|
protected |
The width of the scalar type used for array indices.
Definition at line 77 of file SValBuilder.h.
Referenced by convertToArrayIndex(), and SValBuilder().
|
protected |
Manager of APSInt values.
Definition at line 61 of file SValBuilder.h.
Referenced by getBasicValueFactory(), getBasicValueFactory(), makeArrayIndex(), makeCompoundVal(), makeIntLocVal(), makeIntVal(), makeIntVal(), makeIntVal(), makeIntVal(), makeIntVal(), makeIntValWithWidth(), makeLazyCompoundVal(), makeLoc(), makeLocAsInteger(), makeNullWithType(), makeTruthVal(), makeTruthVal(), makeZeroArrayIndex(), makeZeroVal(), and SValBuilder().
|
protected |
Definition at line 58 of file SValBuilder.h.
Referenced by evalComplement(), evalMinus(), getConditionType(), getContext(), getContext(), makeNullWithType(), and SValBuilder().
|
protected |
Manages the creation of memory regions.
Definition at line 67 of file SValBuilder.h.
Referenced by conjureSymbolVal(), getBlockPointer(), getConjuredHeapSymbolVal(), getDerivedRegionValueSymbolVal(), getFunctionPointer(), getMetadataSymbolVal(), getRegionManager(), getRegionManager(), getRegionValueSymbolVal(), makeLoc(), and SValBuilder().
|
protected |
Definition at line 69 of file SValBuilder.h.
Referenced by getCastedMemRegionVal(), getStateManager(), and SValBuilder().
|
protected |
Manages the creation of symbols.
Definition at line 64 of file SValBuilder.h.
Referenced by conjureSymbol(), conjureSymbolVal(), getConjuredHeapSymbolVal(), getDerivedRegionValueSymbolVal(), getMetadataSymbolVal(), getRegionValueSymbolVal(), getSymbolManager(), getSymbolManager(), makeNonLoc(), makeNonLoc(), makeNonLoc(), makeNonLoc(), makeNonLoc(), and SValBuilder().