|
clang 23.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 53 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 542 of file SValBuilder.cpp.
References evalEQ().
Referenced by wasRegionOfInterestModifiedAt().
|
inline |
Definition at line 174 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::getStackFrame(), 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::getResultType(), and clang::ento::CallEvent::getStackFrame().
| DefinedOrUnknownSVal SValBuilder::conjureSymbolVal | ( | const void * | symbolTag, |
| ConstCFGElementRef | elem, | ||
| const StackFrame * | SF, | ||
| 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 StackFrame * | SF, | ||
| 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::StackFrame::getAnalysisDeclContext(), clang::AnalysisDeclContext::getASTContext(), clang::ASTContext::getPointerType(), clang::CFGStmt::getStmt(), clang::Expr::getType(), clang::Expr::isGLValue(), and makeZeroVal().
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 StackFrame * | SF, | ||
| 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 492 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 1103 of file SValBuilder.cpp.
References V.
Referenced by castArgToParamTypeIfNeeded(), convertToArrayIndex(), evalIntegralCast(), getConstantVal(), clang::ento::CXXInstanceCall::getCXXThisVal(), and clang::ento::CXXInstanceCall::getInitialStackFrameContents().
Definition at line 467 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 551 of file SValBuilder.cpp.
References clang::ento::SVal::castAs(), and evalEQ().
| SVal SValBuilder::evalEQ | ( | ProgramStateRef | state, |
| SVal | lhs, | ||
| SVal | rhs ) |
Definition at line 547 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 594 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 455 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 479 of file SValBuilder.cpp.
References evalComplement(), evalMinus(), clang::ento::SVal::getAs(), and clang::ast_matchers::type.
| loc::MemRegionVal SValBuilder::getAllocaRegionVal | ( | const Expr * | E, |
| const StackFrame * | SF, | ||
| 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 170 of file SValBuilder.h.
References AnOpts.
Referenced by SValBuilder(), and tryRearrange().
|
inline |
Definition at line 157 of file SValBuilder.h.
References ArrayIndexTy.
Referenced by clang::ento::ProgramState::assumeInBoundDual(), computeOffset(), and clang::ento::MemRegionManager::getStaticSize().
|
inline |
Definition at line 161 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 162 of file SValBuilder.h.
References BasicVals.
| DefinedSVal SValBuilder::getBlockPointer | ( | const BlockDecl * | block, |
| CanQualType | locTy, | ||
| const StackFrame * | SF, | ||
| unsigned | blockCount ) |
Definition at line 294 of file SValBuilder.cpp.
References clang::StackFrame::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 305 of file SValBuilder.cpp.
References StateMgr.
|
inline |
Definition at line 153 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 StackFrame * | SF, | ||
| 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 326 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 148 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 149 of file SValBuilder.h.
References Context.
| loc::MemRegionVal SValBuilder::getCXXThis | ( | const CXXMethodDecl * | D, |
| const StackFrame * | SF ) |
Return a memory region for the 'this' object reference.
Definition at line 312 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 StackFrame * | SF ) |
Return a memory region for the 'this' object reference.
Definition at line 319 of file SValBuilder.cpp.
References getContext(), clang::ASTContext::getPointerType(), and getRegionManager().
| DefinedOrUnknownSVal SValBuilder::getDerivedRegionValueSymbolVal | ( | SymbolRef | parentSymbol, |
| const TypedValueRegion * | region ) |
Definition at line 256 of file SValBuilder.cpp.
References clang::ento::SymbolManager::canSymbolicate(), clang::ento::TypedValueRegion::getValueType(), clang::ento::Loc::isLocType(), makeZeroVal(), MemMgr, and SymMgr.
Referenced by getDerivedSymbolForBinding().
| DefinedSVal SValBuilder::getFunctionPointer | ( | const FunctionDecl * | func | ) |
Definition at line 290 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 274 of file SValBuilder.cpp.
References getFunctionPointer(), and clang::isa().
| DefinedSVal SValBuilder::getMetadataSymbolVal | ( | const void * | symbolTag, |
| const MemRegion * | region, | ||
| const Expr * | expr, | ||
| QualType | type, | ||
| const StackFrame * | SF, | ||
| unsigned | count ) |
Definition at line 239 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 167 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 168 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, and SymMgr.
|
inline |
Definition at line 151 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 164 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 165 of file SValBuilder.h.
References SymMgr.
|
inline |
Definition at line 266 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 278 of file SValBuilder.h.
References clang::Expr::getType(), clang::ObjCBoolLiteralExpr::getValue(), and makeTruthVal().
Referenced by getConstantVal().
|
inline |
Definition at line 244 of file SValBuilder.h.
References BasicVals, and clang::ast_matchers::type.
Referenced by makeZeroVal(), and processArgument().
|
inline |
Definition at line 288 of file SValBuilder.h.
References BasicVals.
|
inline |
Definition at line 272 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 292 of file SValBuilder.h.
References BasicVals, and isUnsigned().
|
inline |
Definition at line 284 of file SValBuilder.h.
References BasicVals.
Definition at line 303 of file SValBuilder.h.
References BasicVals, and isUnsigned().
|
inline |
Definition at line 296 of file SValBuilder.h.
References BasicVals, clang::ento::Loc::isLocType(), and clang::ast_matchers::type.
Definition at line 307 of file SValBuilder.h.
References BasicVals.
|
inline |
Definition at line 248 of file SValBuilder.h.
References BasicVals.
|
inline |
Definition at line 367 of file SValBuilder.h.
References clang::ast_matchers::expr.
|
inline |
Definition at line 371 of file SValBuilder.h.
References BasicVals.
|
inline |
Definition at line 363 of file SValBuilder.h.
|
inline |
Definition at line 359 of file SValBuilder.h.
References MemMgr.
Referenced by addParameterValuesToBindings(), clang::ento::ExprEngine::computeObjectUnderConstruction(), getConstantVal(), clang::ento::ObjCMethodCall::getInitialStackFrameContents(), makeSymbolVal(), and populateObjCForDestinationSet().
Definition at line 311 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 342 of file SValBuilder.h.
References BasicVals, Context, clang::ento::Loc::isLocType(), and clang::ast_matchers::type.
Referenced by getConstantVal(), and makeZeroVal().
|
inline |
Definition at line 254 of file SValBuilder.h.
|
inline |
Definition at line 258 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 382 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 428 of file SValBuilder.cpp.
References AnOpts, clang::ento::SymExpr::computeComplexity(), clang::ento::SVal::getAs(), clang::ento::SVal::getAsSymbol(), and makeNonLoc().
|
inline |
Definition at line 335 of file SValBuilder.h.
|
inline |
Definition at line 331 of file SValBuilder.h.
References b, BasicVals, and clang::ast_matchers::type.
Referenced by getConstantVal(), makeBoolVal(), and makeBoolVal().
|
inline |
Definition at line 262 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 70 of file SValBuilder.h.
Referenced by getAnalyzerOptions(), makeSymExprValNN(), and SValBuilder().
|
protected |
The scalar type to use for array indices.
Definition at line 73 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 76 of file SValBuilder.h.
Referenced by convertToArrayIndex(), and SValBuilder().
|
protected |
Manager of APSInt values.
Definition at line 60 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 57 of file SValBuilder.h.
Referenced by evalComplement(), evalMinus(), getConditionType(), getContext(), getContext(), makeNullWithType(), and SValBuilder().
|
protected |
Manages the creation of memory regions.
Definition at line 66 of file SValBuilder.h.
Referenced by conjureSymbolVal(), getBlockPointer(), getConjuredHeapSymbolVal(), getDerivedRegionValueSymbolVal(), getFunctionPointer(), getMetadataSymbolVal(), getRegionManager(), getRegionManager(), getRegionValueSymbolVal(), makeLoc(), and SValBuilder().
|
protected |
Definition at line 68 of file SValBuilder.h.
Referenced by getCastedMemRegionVal(), getStateManager(), and SValBuilder().
|
protected |
Manages the creation of symbols.
Definition at line 63 of file SValBuilder.h.
Referenced by conjureSymbol(), conjureSymbolVal(), getConjuredHeapSymbolVal(), getDerivedRegionValueSymbolVal(), getMetadataSymbolVal(), getRegionValueSymbolVal(), getSymbolManager(), getSymbolManager(), makeNonLoc(), makeNonLoc(), makeNonLoc(), makeNonLoc(), makeNonLoc(), and SValBuilder().