clang  19.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
Sema.h File Reference
#include "clang/APINotes/APINotesManager.h"
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ASTFwd.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Availability.h"
#include "clang/AST/ComparisonCategories.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprConcepts.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/LocInfoType.h"
#include "clang/AST/MangleNumberingContext.h"
#include "clang/AST/NSAPI.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/TypeLoc.h"
#include "clang/AST/TypeOrdering.h"
#include "clang/Basic/BitmaskEnum.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/Cuda.h"
#include "clang/Basic/DarwinSDKInfo.h"
#include "clang/Basic/DiagnosticSema.h"
#include "clang/Basic/ExpressionTraits.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/OpenCLOptions.h"
#include "clang/Basic/PragmaKinds.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Basic/TemplateKinds.h"
#include "clang/Basic/TypeTraits.h"
#include "clang/Sema/AnalysisBasedWarnings.h"
#include "clang/Sema/CleanupInfo.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/ExternalSemaSource.h"
#include "clang/Sema/IdentifierResolver.h"
#include "clang/Sema/ObjCMethodList.h"
#include "clang/Sema/Ownership.h"
#include "clang/Sema/Redeclaration.h"
#include "clang/Sema/Scope.h"
#include "clang/Sema/SemaBase.h"
#include "clang/Sema/SemaConcept.h"
#include "clang/Sema/SemaDiagnostic.h"
#include "clang/Sema/TypoCorrection.h"
#include "clang/Sema/Weak.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLForwardCompat.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/TinyPtrVector.h"
#include <deque>
#include <memory>
#include <optional>
#include <string>
#include <tuple>
#include <vector>

Go to the source code of this file.

Classes

struct  clang::FileNullability
 Describes whether we've seen any nullability information for the given file. More...
 
class  clang::FileNullabilityMap
 A mapping from file IDs to a record of whether we've seen nullability information in that file. More...
 
class  clang::PreferredTypeBuilder
 Tracks expected type during expression parsing, for use in code completion. More...
 
struct  clang::SkipBodyInfo
 
class  clang::Sema
 Sema - This implements semantic analysis and AST building for C. More...
 
class  clang::Sema::PoppedFunctionScopeDeleter
 Custom deleter to allow FunctionScopeInfos to be kept alive for a short time after they've been popped. More...
 
class  clang::Sema::CompoundScopeRAII
 A RAII object to enter scope of a compound statement. More...
 
struct  clang::Sema::FunctionScopeRAII
 An RAII helper that pops function a function scope on exit. More...
 
class  clang::Sema::DelayedDiagnosticsState
 
class  clang::Sema::DelayedDiagnostics
 A class which encapsulates the logic for delaying diagnostics during parsing and other processing. More...
 
struct  clang::Sema::PragmaClangSection
 
struct  clang::Sema::PragmaPackInfo
 
class  clang::Sema::AlignPackInfo
 
struct  clang::Sema::PragmaStack< ValueType >
 
struct  clang::Sema::PragmaStack< ValueType >::Slot
 
struct  clang::Sema::AlignPackIncludeState
 
class  clang::Sema::PragmaStackSentinelRAII
 
struct  clang::Sema::PragmaAttributeEntry
 This an attribute introduced by #pragma clang attribute. More...
 
struct  clang::Sema::PragmaAttributeGroup
 A push'd group of PragmaAttributeEntries. More...
 
struct  clang::Sema::FormatStringInfo
 
struct  clang::Sema::TypeTagData
 
struct  clang::Sema::NestedNameSpecInfo
 Keeps information about an identifier in a nested-name-spec. More...
 
class  clang::Sema::ContextRAII
 A RAII object to temporarily push a declaration context. More...
 
class  clang::Sema::NameClassification
 
struct  clang::Sema::ProcessDeclAttributeOptions
 
class  clang::Sema::ImplicitExceptionSpecification
 Helper class that collects exception specifications for implicitly-declared special member functions. More...
 
class  clang::Sema::DefaultedFunctionKind
 For a defaulted function, the kind of defaulted function that it is. More...
 
struct  clang::Sema::ExpressionEvaluationContextRecord
 Data structure used to record current or nested expression evaluation contexts. More...
 
struct  clang::Sema::ExpressionEvaluationContextRecord::InitializationContext
 
struct  clang::Sema::OffsetOfComponent
 
class  clang::Sema::VerifyICEDiagnoser
 Abstract base class used for diagnosing integer constant expression violations. More...
 
class  clang::Sema::FullExprArg
 
class  clang::Sema::ConditionResult
 
struct  clang::Sema::TypeDiagnoser
 Abstract class used to diagnose incomplete types. More...
 
class  clang::Sema::BoundTypeDiagnoser< Ts >
 
class  clang::Sema::SizelessTypeDiagnoser< Ts >
 A derivative of BoundTypeDiagnoser for which the diagnostic's type parameter is preceded by a 0/1 enum that is 1 if the type is sizeless. More...
 
class  clang::Sema::CXXThisScopeRAII
 RAII object used to temporarily allow the C++ 'this' expression to be used, with the given qualifiers on the current class type. More...
 
struct  clang::Sema::ActOnMemberAccessExtraArgs
 
class  clang::Sema::LambdaScopeForCallOperatorInstantiationRAII
 
class  clang::Sema::SpecialMemberOverloadResult
 SpecialMemberOverloadResult - The overloading result for a special member function. More...
 
class  clang::Sema::SpecialMemberOverloadResultEntry
 
struct  clang::Sema::TypoExprState
 
class  clang::Sema::DeferDiagsRAII
 RAII class to control scope of DeferDiags. More...
 
class  clang::Sema::ContextualImplicitConverter
 Abstract base class used to perform a contextual implicit conversion from an expression to any type passing a filter. More...
 
class  clang::Sema::ICEConvertDiagnoser
 
struct  clang::Sema::ReferenceConversionsScope
 
struct  clang::Sema::NamedReturnInfo
 
class  clang::Sema::FpPragmaStackSaveRAII
 
class  clang::Sema::RequiredTemplateKind
 Whether and why a template name is required in this lookup. More...
 
class  clang::Sema::TemplateCompareNewDeclInfo
 
class  clang::Sema::SFINAETrap
 RAII class used to determine whether SFINAE has trapped any errors that occur during template argument deduction. More...
 
class  clang::Sema::TentativeAnalysisScope
 RAII class used to indicate that we are performing provisional semantic analysis to determine the validity of a construct, so typo-correction and diagnostics in the immediate context (not within implicitly-instantiated templates) should be suppressed. More...
 
struct  clang::Sema::OriginalCallArg
 brief A function argument from which we performed template argument More...
 
class  clang::Sema::ExtParameterInfoBuilder
 A helper class for building up ExtParameterInfos. More...
 
struct  clang::Sema::CodeSynthesisContext
 A context in which code is being synthesized (where a source location alone is not sufficient to identify the context). More...
 
struct  clang::Sema::InstantiatingTemplate
 A stack object to be created when performing template instantiation. More...
 
struct  clang::Sema::InstantiatingTemplate::ExceptionSpecification
 
struct  clang::Sema::InstantiatingTemplate::ConstraintsCheck
 
struct  clang::Sema::InstantiatingTemplate::ConstraintSubstitution
 
struct  clang::Sema::InstantiatingTemplate::ConstraintNormalization
 
struct  clang::Sema::InstantiatingTemplate::ParameterMappingSubstitution
 
struct  clang::Sema::InstantiatingTemplate::BuildingDeductionGuidesTag
 
class  clang::Sema::SynthesizedFunctionScope
 RAII object to handle the state changes required to synthesize a function body. More...
 
class  clang::Sema::ArgumentPackSubstitutionIndexRAII
 RAII object used to change the argument pack substitution index within a Sema object. More...
 
struct  clang::Sema::ConstraintEvalRAII< InstTy >
 
class  clang::Sema::LocalEagerInstantiationScope
 
class  clang::Sema::FPFeaturesStateRAII
 Records and restores the CurFPFeatures state on entry/exit of compound statements. More...
 
class  clang::Sema::GlobalEagerInstantiationScope
 
struct  clang::Sema::LateInstantiatedAttribute
 
class  clang::Sema::SatisfactionStackResetRAII
 
struct  clang::LateParsedTemplate
 Contains a late templated function. More...
 

Namespaces

 llvm
 Diagnostic wrappers for TextAPI types for error reporting.
 
 clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
 clang::sema
 
 clang::threadSafety
 

Typedefs

typedef std::pair< llvm::PointerUnion< const TemplateTypeParmType *, NamedDecl * >, SourceLocation > clang::UnexpandedParameterPack
 

Enumerations

enum class  clang::TemplateDeductionResult {
  clang::Success = 0 , clang::Invalid , clang::InstantiationDepth , clang::Incomplete ,
  clang::IncompletePack , clang::Inconsistent , clang::Underqualified , clang::SubstitutionFailure ,
  clang::DeducedMismatch , clang::DeducedMismatchNested , clang::NonDeducedMismatch , clang::TooManyArguments ,
  clang::TooFewArguments , clang::InvalidExplicitArguments , clang::NonDependentConversionFailure , clang::ConstraintsNotSatisfied ,
  clang::MiscellaneousDeductionFailure , clang::CUDATargetMismatch , clang::AlreadyDiagnosed
}
 Describes the result of template argument deduction. More...
 
enum class  clang::CXXSpecialMemberKind {
  clang::DefaultConstructor , clang::CopyConstructor , clang::MoveConstructor , clang::CopyAssignment ,
  clang::MoveAssignment , clang::Destructor , clang::Invalid
}
 Kinds of C++ special members. More...
 
enum class  clang::CheckedConversionKind {
  clang::Implicit , clang::CStyleCast , clang::FunctionalCast , clang::OtherCast ,
  clang::ForBuiltinOverloadedOp
}
 The kind of conversion being performed. More...
 
enum class  clang::TagUseKind { clang::Reference , clang::Declaration , clang::Definition , clang::Friend }
 

Functions

void clang::threadSafety::threadSafetyCleanup (BeforeSet *Cache)
 
DeductionFailureInfo clang::MakeDeductionFailureInfo (ASTContext &Context, TemplateDeductionResult TDK, sema::TemplateDeductionInfo &Info)
 Convert from Sema's representation of template deduction information to the form used in overload-candidate information. More...