|
clang 23.0.0git
|
A single step in the initialization sequence. More...
#include "clang/Sema/Initialization.h"
Classes | |
| struct | F |
Public Member Functions | |
| void | Destroy () |
Public Attributes | |
| StepKind | Kind |
| The kind of conversion or initialization step we are taking. | |
| QualType | Type |
| union { | |
| struct F Function | |
| When Kind == SK_ResolvedOverloadedFunction or Kind == SK_UserConversion, the function that the expression should be resolved to or the conversion function to call, respectively. More... | |
| ImplicitConversionSequence * ICS | |
| When Kind = SK_ConversionSequence, the implicit conversion sequence. More... | |
| InitListExpr * WrappingSyntacticList | |
| When Kind = SK_RewrapInitList, the syntactic form of the wrapping list. More... | |
| }; | |
A single step in the initialization sequence.
Definition at line 960 of file Initialization.h.
| void InitializationSequence::Step::Destroy | ( | ) |
Definition at line 3939 of file SemaInit.cpp.
References ICS, Kind, clang::InitializationSequence::SK_ArrayInit, clang::InitializationSequence::SK_ArrayLoopIndex, clang::InitializationSequence::SK_ArrayLoopInit, clang::InitializationSequence::SK_AtomicConversion, clang::InitializationSequence::SK_BindReference, clang::InitializationSequence::SK_BindReferenceToTemporary, clang::InitializationSequence::SK_CAssignment, clang::InitializationSequence::SK_CastDerivedToBaseLValue, clang::InitializationSequence::SK_CastDerivedToBasePRValue, clang::InitializationSequence::SK_CastDerivedToBaseXValue, clang::InitializationSequence::SK_ConstructorInitialization, clang::InitializationSequence::SK_ConstructorInitializationFromList, clang::InitializationSequence::SK_ConversionSequence, clang::InitializationSequence::SK_ConversionSequenceNoNarrowing, clang::InitializationSequence::SK_ExtraneousCopyToTemporary, clang::InitializationSequence::SK_FinalCopy, clang::InitializationSequence::SK_FunctionReferenceConversion, clang::InitializationSequence::SK_GNUArrayInit, clang::InitializationSequence::SK_ListInitialization, clang::InitializationSequence::SK_ObjCObjectConversion, clang::InitializationSequence::SK_OCLSamplerInit, clang::InitializationSequence::SK_OCLZeroOpaqueType, clang::InitializationSequence::SK_ParenthesizedArrayInit, clang::InitializationSequence::SK_ParenthesizedListInit, clang::InitializationSequence::SK_PassByIndirectCopyRestore, clang::InitializationSequence::SK_PassByIndirectRestore, clang::InitializationSequence::SK_ProduceObjCObject, clang::InitializationSequence::SK_QualificationConversionLValue, clang::InitializationSequence::SK_QualificationConversionPRValue, clang::InitializationSequence::SK_QualificationConversionXValue, clang::InitializationSequence::SK_ResolveAddressOfOverloadedFunction, clang::InitializationSequence::SK_RewrapInitList, clang::InitializationSequence::SK_StdInitializerList, clang::InitializationSequence::SK_StdInitializerListConstructorCall, clang::InitializationSequence::SK_StringInit, clang::InitializationSequence::SK_UnwrapInitList, clang::InitializationSequence::SK_UserConversion, and clang::InitializationSequence::SK_ZeroInitialization.
| union { ... } clang::InitializationSequence::Step |
| struct F clang::InitializationSequence::Step::Function |
When Kind == SK_ResolvedOverloadedFunction or Kind == SK_UserConversion, the function that the expression should be resolved to or the conversion function to call, respectively.
When Kind == SK_ConstructorInitialization or SK_ListConstruction, the constructor to be called.
Always a FunctionDecl, plus a Boolean flag telling if it was selected from an overloaded set having size greater than 1. For conversion decls, the naming class is the source type. For construct decls, the naming class is the target type.
Definition at line 985 of file Initialization.h.
Referenced by clang::InitializationSequence::AddAddressOverloadResolutionStep(), clang::InitializationSequence::AddConstructorInitializationStep(), clang::InitializationSequence::AddUserConversionStep(), clang::InitializationSequence::Perform(), and PerformConstructorInitialization().
| ImplicitConversionSequence* clang::InitializationSequence::Step::ICS |
When Kind = SK_ConversionSequence, the implicit conversion sequence.
Definition at line 989 of file Initialization.h.
Referenced by clang::InitializationSequence::AddConversionSequenceStep(), Destroy(), and clang::InitializationSequence::Perform().
| StepKind clang::InitializationSequence::Step::Kind |
The kind of conversion or initialization step we are taking.
Definition at line 963 of file Initialization.h.
Referenced by clang::InitializationSequence::AddAddressOverloadResolutionStep(), clang::InitializationSequence::AddArrayInitLoopStep(), clang::InitializationSequence::AddArrayInitStep(), clang::InitializationSequence::AddAtomicConversionStep(), clang::InitializationSequence::AddCAssignmentStep(), clang::InitializationSequence::AddConstructorInitializationStep(), clang::InitializationSequence::AddConversionSequenceStep(), clang::InitializationSequence::AddDerivedToBaseCastStep(), clang::InitializationSequence::AddExtraneousCopyToTemporary(), clang::InitializationSequence::AddFinalCopy(), clang::InitializationSequence::AddFunctionReferenceConversionStep(), clang::InitializationSequence::AddListInitializationStep(), clang::InitializationSequence::AddObjCObjectConversionStep(), clang::InitializationSequence::AddOCLSamplerInitStep(), clang::InitializationSequence::AddOCLZeroOpaqueTypeStep(), clang::InitializationSequence::AddParenthesizedArrayInitStep(), clang::InitializationSequence::AddParenthesizedListInitStep(), clang::InitializationSequence::AddProduceObjCObjectStep(), clang::InitializationSequence::AddQualificationConversionStep(), clang::InitializationSequence::AddReferenceBindingStep(), clang::InitializationSequence::AddStdInitializerListConstructionStep(), clang::InitializationSequence::AddStringInitStep(), clang::InitializationSequence::AddUnwrapInitListInitStep(), clang::InitializationSequence::AddUserConversionStep(), clang::InitializationSequence::AddZeroInitializationStep(), Destroy(), clang::InitializationSequence::Perform(), and clang::InitializationSequence::RewrapReferenceInitList().
| QualType clang::InitializationSequence::Step::Type |
Definition at line 966 of file Initialization.h.
Referenced by clang::InitializationSequence::AddAddressOverloadResolutionStep(), clang::InitializationSequence::AddArrayInitLoopStep(), clang::InitializationSequence::AddArrayInitStep(), clang::InitializationSequence::AddAtomicConversionStep(), clang::InitializationSequence::AddCAssignmentStep(), clang::InitializationSequence::AddConstructorInitializationStep(), clang::InitializationSequence::AddConversionSequenceStep(), clang::InitializationSequence::AddDerivedToBaseCastStep(), clang::InitializationSequence::AddExtraneousCopyToTemporary(), clang::InitializationSequence::AddFinalCopy(), clang::InitializationSequence::AddFunctionReferenceConversionStep(), clang::InitializationSequence::AddListInitializationStep(), clang::InitializationSequence::AddObjCObjectConversionStep(), clang::InitializationSequence::AddOCLSamplerInitStep(), clang::InitializationSequence::AddOCLZeroOpaqueTypeStep(), clang::InitializationSequence::AddParenthesizedArrayInitStep(), clang::InitializationSequence::AddParenthesizedListInitStep(), clang::InitializationSequence::AddProduceObjCObjectStep(), clang::InitializationSequence::AddQualificationConversionStep(), clang::InitializationSequence::AddReferenceBindingStep(), clang::InitializationSequence::AddStdInitializerListConstructionStep(), clang::InitializationSequence::AddStringInitStep(), clang::InitializationSequence::AddUnwrapInitListInitStep(), clang::InitializationSequence::AddUserConversionStep(), clang::InitializationSequence::AddZeroInitializationStep(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), and clang::InitializationSequence::RewrapReferenceInitList().
| InitListExpr* clang::InitializationSequence::Step::WrappingSyntacticList |
When Kind = SK_RewrapInitList, the syntactic form of the wrapping list.
Definition at line 993 of file Initialization.h.
Referenced by clang::InitializationSequence::Perform(), and clang::InitializationSequence::RewrapReferenceInitList().