clang 20.0.0git
|
Defines the clang::Expr interface and subclasses for C++ expressions. More...
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ComputeDependence.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/DependenceFlags.h"
#include "clang/AST/Expr.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/OperationKinds.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/Type.h"
#include "clang/AST/UnresolvedSet.h"
#include "clang/Basic/ExceptionSpecificationType.h"
#include "clang/Basic/ExpressionTraits.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/Lambda.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Basic/TypeTraits.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/TrailingObjects.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <optional>
Go to the source code of this file.
Classes | |
class | clang::CXXOperatorCallExpr |
A call to an overloaded operator written using operator syntax. More... | |
class | clang::CXXMemberCallExpr |
Represents a call to a member function that may be written either with member call syntax (e.g., "obj.func()" or "objptr->func()") or with normal function-call syntax ("func()") within a member function that ends up calling a member function. More... | |
class | clang::CUDAKernelCallExpr |
Represents a call to a CUDA kernel function. More... | |
class | clang::CXXRewrittenBinaryOperator |
A rewritten comparison expression that was originally written using operator syntax. More... | |
struct | clang::CXXRewrittenBinaryOperator::DecomposedForm |
class | clang::CXXNamedCastExpr |
Abstract class common to all of the C++ "named"/"keyword" casts. More... | |
class | clang::CXXStaticCastExpr |
A C++ static_cast expression (C++ [expr.static.cast]). More... | |
class | clang::CXXDynamicCastExpr |
A C++ dynamic_cast expression (C++ [expr.dynamic.cast]). More... | |
class | clang::CXXReinterpretCastExpr |
A C++ reinterpret_cast expression (C++ [expr.reinterpret.cast]). More... | |
class | clang::CXXConstCastExpr |
A C++ const_cast expression (C++ [expr.const.cast]). More... | |
class | clang::CXXAddrspaceCastExpr |
A C++ addrspace_cast expression (currently only enabled for OpenCL). More... | |
class | clang::UserDefinedLiteral |
A call to a literal operator (C++11 [over.literal]) written as a user-defined literal (C++11 [lit.ext]). More... | |
class | clang::CXXBoolLiteralExpr |
A boolean literal, per ([C++ lex.bool] Boolean literals). More... | |
class | clang::CXXNullPtrLiteralExpr |
The null pointer literal (C++11 [lex.nullptr]) More... | |
class | clang::CXXStdInitializerListExpr |
Implicit construction of a std::initializer_list<T> object from an array temporary within list-initialization (C++11 [dcl.init.list]p5). More... | |
class | clang::CXXTypeidExpr |
A C++ typeid expression (C++ [expr.typeid]), which gets the type_info that corresponds to the supplied type, or the (possibly dynamic) type of the supplied expression. More... | |
class | clang::MSPropertyRefExpr |
A member reference to an MSPropertyDecl. More... | |
class | clang::MSPropertySubscriptExpr |
MS property subscript expression. More... | |
class | clang::CXXUuidofExpr |
A Microsoft C++ __uuidof expression, which gets the _GUID that corresponds to the supplied type or expression. More... | |
class | clang::CXXThisExpr |
Represents the this expression in C++. More... | |
class | clang::CXXThrowExpr |
A C++ throw-expression (C++ [except.throw]). More... | |
class | clang::CXXDefaultArgExpr |
A default argument (C++ [dcl.fct.default]). More... | |
class | clang::CXXDefaultInitExpr |
A use of a default initializer in a constructor or in aggregate initialization. More... | |
class | clang::CXXTemporary |
Represents a C++ temporary. More... | |
class | clang::CXXBindTemporaryExpr |
Represents binding an expression to a temporary. More... | |
class | clang::CXXConstructExpr |
Represents a call to a C++ constructor. More... | |
class | clang::CXXInheritedCtorInitExpr |
Represents a call to an inherited base class constructor from an inheriting constructor. More... | |
class | clang::CXXFunctionalCastExpr |
Represents an explicit C++ type conversion that uses "functional" notation (C++ [expr.type.conv]). More... | |
class | clang::CXXTemporaryObjectExpr |
Represents a C++ functional cast expression that builds a temporary object. More... | |
class | clang::LambdaExpr |
A C++ lambda expression, which produces a function object (of unspecified type) that can be invoked later. More... | |
class | clang::CXXScalarValueInitExpr |
An expression "T()" which creates an rvalue of a non-class type T. More... | |
class | clang::CXXNewExpr |
Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)". More... | |
class | clang::CXXDeleteExpr |
Represents a delete expression for memory deallocation and destructor calls, e.g. More... | |
class | clang::PseudoDestructorTypeStorage |
Stores the type being destroyed by a pseudo-destructor expression. More... | |
class | clang::CXXPseudoDestructorExpr |
Represents a C++ pseudo-destructor (C++ [expr.pseudo]). More... | |
class | clang::TypeTraitExpr |
A type trait used in the implementation of various C++11 and Library TR1 trait templates. More... | |
class | clang::ArrayTypeTraitExpr |
An Embarcadero array type trait, as used in the implementation of __array_rank and __array_extent. More... | |
class | clang::ExpressionTraitExpr |
An expression trait intrinsic. More... | |
class | clang::OverloadExpr |
A reference to an overloaded function set, either an UnresolvedLookupExpr or an UnresolvedMemberExpr . More... | |
struct | clang::OverloadExpr::FindResult |
class | clang::UnresolvedLookupExpr |
A reference to a name which we were able to look up during parsing but could not resolve to a specific declaration. More... | |
class | clang::DependentScopeDeclRefExpr |
A qualified reference to a name whose declaration cannot yet be resolved. More... | |
class | clang::ExprWithCleanups |
Represents an expression – generally a full-expression – that introduces cleanups to be run at the end of the sub-expression's evaluation. More... | |
class | clang::CXXUnresolvedConstructExpr |
Describes an explicit type conversion that uses functional notion but could not be resolved because one or more arguments are type-dependent. More... | |
class | clang::CXXDependentScopeMemberExpr |
Represents a C++ member access expression where the actual member referenced could not be resolved because the base expression or the member name was dependent. More... | |
class | clang::UnresolvedMemberExpr |
Represents a C++ member access expression for which lookup produced a set of overloaded functions. More... | |
class | clang::CXXNoexceptExpr |
Represents a C++11 noexcept expression (C++ [expr.unary.noexcept]). More... | |
class | clang::PackExpansionExpr |
Represents a C++11 pack expansion that produces a sequence of expressions. More... | |
class | clang::SizeOfPackExpr |
Represents an expression that computes the length of a parameter pack. More... | |
class | clang::PackIndexingExpr |
class | clang::SubstNonTypeTemplateParmExpr |
Represents a reference to a non-type template parameter that has been substituted with a template argument. More... | |
class | clang::SubstNonTypeTemplateParmPackExpr |
Represents a reference to a non-type template parameter pack that has been substituted with a non-template argument pack. More... | |
class | clang::FunctionParmPackExpr |
Represents a reference to a function parameter pack or init-capture pack that has been substituted but not yet expanded. More... | |
class | clang::MaterializeTemporaryExpr |
Represents a prvalue temporary that is written into memory so that a reference can bind to it. More... | |
class | clang::CXXFoldExpr |
Represents a folding of a pack over an operator. More... | |
class | clang::CXXParenListInitExpr |
Represents a list-initialization with parenthesis. More... | |
class | clang::CoroutineSuspendExpr |
Represents an expression that might suspend coroutine execution; either a co_await or co_yield expression. More... | |
class | clang::CoawaitExpr |
Represents a 'co_await' expression. More... | |
class | clang::DependentCoawaitExpr |
Represents a 'co_await' expression while the type of the promise is dependent. More... | |
class | clang::CoyieldExpr |
Represents a 'co_yield' expression. More... | |
class | clang::BuiltinBitCastExpr |
Represents a C++2a __builtin_bit_cast(T, v) expression. More... | |
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
Enumerations | |
enum class | clang::CXXConstructionKind { clang::Complete , clang::NonVirtualBase , clang::VirtualBase , clang::Delegating } |
enum class | clang::CXXNewInitializationStyle { clang::None , clang::Parens , clang::Braces } |
Defines the clang::Expr interface and subclasses for C++ expressions.
Definition in file ExprCXX.h.