clang 20.0.0git
|
Represents construction into a field or a base class within a bigger object via a constructor initializer, with a single constructor, eg. More...
#include "clang/Analysis/ConstructionContext.h"
Public Member Functions | |
const CXXBindTemporaryExpr * | getCXXBindTemporaryExpr () const |
Public Member Functions inherited from clang::ConstructorInitializerConstructionContext | |
const CXXCtorInitializer * | getCXXCtorInitializer () const |
const ArrayInitLoopExpr * | getArrayInitLoop () const override |
Public Member Functions inherited from clang::ConstructionContext | |
Kind | getKind () const |
virtual const ArrayInitLoopExpr * | getArrayInitLoop () const |
virtual | ~ConstructionContext ()=default |
Static Public Member Functions | |
static bool | classof (const ConstructionContext *CC) |
Static Public Member Functions inherited from clang::ConstructorInitializerConstructionContext | |
static bool | classof (const ConstructionContext *CC) |
Static Public Member Functions inherited from clang::ConstructionContext | |
static const ConstructionContext * | createFromLayers (BumpVectorContext &C, const ConstructionContextLayer *TopLayer) |
Consume the construction context layer, together with its parent layers, and wrap it up into a complete construction context. | |
Friends | |
class | ConstructionContext |
Represents construction into a field or a base class within a bigger object via a constructor initializer, with a single constructor, eg.
T(): field(Field(123)) { ... }. Such construction context may only appear in C++17 because previously it was split into a temporary object constructor and an elidable simple constructor-initializer copy-constructor and we were producing separate construction contexts for these constructors. In C++17 we have a single construction context that combines both. Note that if the object has trivial destructor, then this code is indistinguishable from a simple constructor-initializer constructor on the AST level; in this case we provide a simple constructor-initializer construction context.
Definition at line 439 of file ConstructionContext.h.
|
inlinestatic |
Definition at line 456 of file ConstructionContext.h.
References clang::ConstructionContext::CXX17ElidedCopyConstructorInitializerKind, and clang::ConstructionContext::getKind().
|
inline |
Definition at line 454 of file ConstructionContext.h.
|
friend |
Definition at line 443 of file ConstructionContext.h.