clang 22.0.0git
clang::ConstructionContext Class Reference

ConstructionContext's subclasses describe different ways of constructing an object in C++. More...

#include "clang/Analysis/ConstructionContext.h"

Inheritance diagram for clang::ConstructionContext:
[legend]

Public Types

enum  Kind {
  SimpleVariableKind , CXX17ElidedCopyVariableKind , VARIABLE_BEGIN = SimpleVariableKind , VARIABLE_END = CXX17ElidedCopyVariableKind ,
  SimpleConstructorInitializerKind , CXX17ElidedCopyConstructorInitializerKind , INITIALIZER_BEGIN = SimpleConstructorInitializerKind , INITIALIZER_END = CXX17ElidedCopyConstructorInitializerKind ,
  NewAllocatedObjectKind , SimpleTemporaryObjectKind , ElidedTemporaryObjectKind , TEMPORARY_BEGIN = SimpleTemporaryObjectKind ,
  TEMPORARY_END = ElidedTemporaryObjectKind , SimpleReturnedValueKind , CXX17ElidedCopyReturnedValueKind , RETURNED_VALUE_BEGIN = SimpleReturnedValueKind ,
  RETURNED_VALUE_END = CXX17ElidedCopyReturnedValueKind , ArgumentKind , LambdaCaptureKind
}

Public Member Functions

Kind getKind () const
virtual const ArrayInitLoopExprgetArrayInitLoop () const
virtual ~ConstructionContext ()=default

Static Public Member Functions

static const ConstructionContextcreateFromLayers (BumpVectorContext &C, const ConstructionContextLayer *TopLayer)
 Consume the construction context layer, together with its parent layers, and wrap it up into a complete construction context.

Protected Member Functions

 ConstructionContext (Kind K)

Protected Attributes

Kind K

Detailed Description

ConstructionContext's subclasses describe different ways of constructing an object in C++.

The context re-captures the essential parent AST nodes of the CXXConstructExpr it is assigned to and presents these nodes through easy-to-understand accessor methods.

Definition at line 243 of file ConstructionContext.h.

Member Enumeration Documentation

◆ Kind

Enumerator
SimpleVariableKind 
CXX17ElidedCopyVariableKind 
VARIABLE_BEGIN 
VARIABLE_END 
SimpleConstructorInitializerKind 
CXX17ElidedCopyConstructorInitializerKind 
INITIALIZER_BEGIN 
INITIALIZER_END 
NewAllocatedObjectKind 
SimpleTemporaryObjectKind 
ElidedTemporaryObjectKind 
TEMPORARY_BEGIN 
TEMPORARY_END 
SimpleReturnedValueKind 
CXX17ElidedCopyReturnedValueKind 
RETURNED_VALUE_BEGIN 
RETURNED_VALUE_END 
ArgumentKind 
LambdaCaptureKind 

Definition at line 245 of file ConstructionContext.h.

Constructor & Destructor Documentation

◆ ConstructionContext()

◆ ~ConstructionContext()

virtual clang::ConstructionContext::~ConstructionContext ( )
virtualdefault

Member Function Documentation

◆ createFromLayers()

◆ getArrayInitLoop()

virtual const ArrayInitLoopExpr * clang::ConstructionContext::getArrayInitLoop ( ) const
inlinevirtual

◆ getKind()

Member Data Documentation

◆ K


The documentation for this class was generated from the following files: