clang: clang::Value Class Reference (original ) (raw )#include "[clang/Interpreter/Value.h](Interpreter%5F2Value%5F8h%5Fsource.html)"
Protected Member Functions
bool
isPointerOrObjectType () const
template<typename T >
T
as () const
Get to the value with type checking casting the underlying stored value to T.
Definition at line 95 of file Value.h .
◆ Kind
Enumerator
K_Void
K_PtrOrObj
K_Unspecified
Definition at line 105 of file Value.h .
◆ Value() [1/4]
clang::Value::Value ( )
default
References clear() , getASTContext() , getInterpreter() , operator=() , printData() , printType() , and Value() .
Referenced by clang::Value::convertFwd< T >::cast() , clang::Value::convertFwd< T * >::cast() , findValueTableByValue() , operator=() , operator=() , Value() , Value() , Value() , and clang::ValueRef::ValueRef() .
◆ Value() [2/4]
clang::Value::Value
(
const Interpreter *
In ,
void *
Ty )
Definition at line 123 of file Value.cpp .
References clang::Addr , clang::C , clang::ConvertQualTypeToKind() , clang::Type::getAsCXXRecordDecl() , getASTContext() , clang::QualType::getCanonicalType() , getInterpreter() , clang::CharUnits::getQuantity() , getType() , clang::QualType::getTypePtr() , clang::ASTContext::getTypeSizeInChars() , Interp , clang::Type::isConstantArrayType() , IsManuallyAlloc , clang::Type::isMemberPointerType() , clang::Type::isObjectType() , clang::Type::isPointerType() , clang::Type::isRecordType() , clang::Type::isReferenceType() , K_PtrOrObj , OpaqueType , setKind() , setPtr() , and ValueKind .
◆ Value() [3/4]
clang::Value::Value
(
const Value &
RHS
)
◆ Value() [4/4]
clang::Value::Value ( Value && RHS )
noexcept
◆ as() [1/2]template<typename T >
T clang::Value::as ( ) const
inlineprotected
◆ as() [2/2]template<>
void * clang::Value::as ( ) const
inline
◆ clear()
void clang::Value::clear
(
)
◆ convertTo()Get the value with cast.
Get the value cast to T. This is similar to reinterpret_cast(value), casting the value of builtins (except void), enums and pointers. Values referencing an object are treated as pointers to the object.
Definition at line 156 of file Value.h .
References clang::Value::convertFwd< T >::cast() , and clang::T .
◆ dump()
void clang::Value::dump
(
)
const
◆ getASTContext()
const ASTContext & clang::Value::getASTContext
(
)
const
◆ getInterpreter()
const Interpreter & clang::Value::getInterpreter
(
)
const
◆ getKind()
Kind clang::Value::getKind ( ) const
inline
◆ getPtr()
void * clang::Value::getPtr
(
)
const
◆ getType()
QualType clang::Value::getType
(
)
const
Definition at line 237 of file Value.cpp .
References clang::QualType::getFromOpaquePtr() , and OpaqueType .
Referenced by __clang_Interpreter_SetValueNoAlloc() , AddResultTypeChunk() , clang::Sema::ApplyNullability() , buildFMulAdd() , clang::Sema::BuildStmtExpr() , CheckEvaluationResult() , ClassifyMemberExpr() , createCastsForTypeOfSameSize() , DeduceNonTypeTemplateArgument() , DeduceNullPtrTemplateArgument() , clang::CodeGen::CodeGenFunction::EmitAArch64BuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitAArch64CompareBuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitAMDGPUBuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitAtomicStore() , clang::CodeGen::CodeGenFunction::EmitBitfieldConversionCheck() , EmitBitfieldTruncationCheckHelper() , EmitBitTestIntrinsic() , clang::CodeGen::CodeGenFunction::EmitBuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitCheckedArgForBuiltin() , clang::CodeGen::CodeGenFunction::EmitDirectXBuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitDynamicCast() , clang::CodeGen::CodeGenFunction::EmitFromMemory() , EmitGEPOffsetInBytes() , clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr() , EmitIntegerSignChangeCheckHelper() , EmitIntegerTruncationCheckHelper() , EmitllvmFAbs() , clang::CodeGen::CodeGenFunction::EmitMSVCBuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitNVPTXBuiltinExpr() , EmitOverflowCheckedAbs() , emitPointerArithmetic() , clang::CodeGen::CodeGenFunction::emitPointerAuthResign() , clang::CodeGen::CodeGenFunction::emitPointerAuthResignCall() , clang::CodeGen::CodeGenFunction::EmitPPCBuiltinExpr() , emitRVVVLEFFBuiltin() , EmitScalarFMAExpr() , clang::CodeGen::CodeGenFunction::EmitScalarRangeCheck() , clang::CodeGen::CodeGenFunction::EmitSPIRVBuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitStoreOfScalar() , clang::CodeGen::CodeGenFunction::EmitSVEPredicateCast() , clang::CodeGen::CodeGenFunction::EmitSVEPredicateTupleCast() , clang::CodeGen::CodeGenFunction::EmitSVEPrefetchLoad() , clang::CodeGen::CodeGenFunction::EmitToMemory() , clang::CodeGen::CodeGenFunction::EmitWebAssemblyBuiltinExpr() , clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr() , EmitX86CvtF16ToFloatExpr() , EmitX86FMAExpr() , EmitX86FunnelShift() , EmitX86MaskedCompareResult() , EmitX86ScalarSelect() , EmitX86Select() , EmitX86vpcom() , clang::CodeGen::CodeGenFunction::GetAddressOfBaseClass() , clang::CodeGen::CodeGenFunction::GetAddressOfDerivedClass() , clang::getDeclUsageType() , getMaskVecValue() , handleElementwiseF16ToF32() , handleHlslSplitdouble() , isReferenceToNonConstCapture() , isUnsigned() , MakeAtomicCmpXchgValue() , clang::ast_matchers::matchEachArgumentWithParamTypeImpl() , clang::Sema::PerformMoveOrCopyInitialization() , print() , clang::CodeGen::CodeGenFunction::tryEmitAsConstant() , Value() , and clang::interp::Compiler< Emitter >::visitSwitchStmt() .
◆ hasValue()
bool clang::Value::hasValue ( ) const
inline
◆ isManuallyAlloc()
bool clang::Value::isManuallyAlloc ( ) const
inline
◆ isPointerOrObjectType()
bool clang::Value::isPointerOrObjectType ( ) const
inlineprotected
◆ isValid()
bool clang::Value::isValid ( ) const
inline
◆ isVoid()
bool clang::Value::isVoid ( ) const
inline
◆ operator=() [1/2]
Value & clang::Value::operator=
(
const Value &
RHS
)
◆ operator=() [2/2]
Value & clang::Value::operator= ( Value && RHS )
noexcept
◆ print()
void clang::Value::print
(
llvm::raw_ostream &
Out
)
const
◆ printData()
void clang::Value::printData
(
llvm::raw_ostream &
Out
)
const
◆ printType()
void clang::Value::printType
(
llvm::raw_ostream &
Out
)
const
◆ setKind()
void clang::Value::setKind ( Kind K )
inline
◆ setOpaqueType()
void clang::Value::setOpaqueType ( void * Ty )
inline
◆ setPtr()
void clang::Value::setPtr ( void * Ptr )
inline
◆ setRawBits()
void clang::Value::setRawBits
(
void *
Ptr ,
unsigned
NBits = sizeof(Storage) )
◆ Data
Storage clang::Value::Data
protected
◆ Interp◆ IsManuallyAlloc◆ OpaqueType
void* clang::Value::OpaqueType = nullptr
protected
◆ ValueKind
Definition at line 200 of file Value.h .
Referenced by as() , clear() , getKind() , getPtr() , isPointerOrObjectType() , isValid() , isVoid() , operator=() , operator=() , setKind() , Value() , Value() , and Value() .
The documentation for this class was generated from the following files: