clang API Documentation

Classes | Namespaces | Typedefs | Functions
Sema.h File Reference
#include "clang/AST/Attr.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/MangleNumberingContext.h"
#include "clang/AST/NSAPI.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/AST/TypeLoc.h"
#include "clang/Basic/ExpressionTraits.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/OpenMPKinds.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Basic/TemplateKinds.h"
#include "clang/Basic/TypeTraits.h"
#include "clang/Sema/AnalysisBasedWarnings.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/ExternalSemaSource.h"
#include "clang/Sema/IdentifierResolver.h"
#include "clang/Sema/LocInfoType.h"
#include "clang/Sema/ObjCMethodList.h"
#include "clang/Sema/Ownership.h"
#include "clang/Sema/Scope.h"
#include "clang/Sema/ScopeInfo.h"
#include "clang/Sema/TypoCorrection.h"
#include "clang/Sema/Weak.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/TinyPtrVector.h"
#include <deque>
#include <memory>
#include <string>
#include <vector>
Include dependency graph for Sema.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::Sema
 Sema - This implements semantic analysis and AST building for C. More...
struct  clang::Sema::PragmaStack< ValueType >
struct  clang::Sema::PragmaStack< ValueType >::Slot
class  clang::Sema::DelayedDiagnosticsState
class  clang::Sema::DelayedDiagnostics
class  clang::Sema::ContextRAII
 A RAII object to temporarily push a declaration context. More...
class  clang::Sema::SynthesizedFunctionScope
 RAII object to handle the state changes required to synthesize a function body. More...
struct  clang::Sema::ExpressionEvaluationContextRecord
 Data structure used to record current or nested expression evaluation contexts. More...
class  clang::Sema::SpecialMemberOverloadResult
class  clang::Sema::FPContractStateRAII
class  clang::Sema::SemaDiagnosticBuilder
 Helper class that creates diagnostics with optional template instantiation stacks. More...
struct  clang::Sema::TypeDiagnoser
 Abstract class used to diagnose incomplete types. More...
class  clang::Sema::BoundTypeDiagnoser1< T1 >
class  clang::Sema::BoundTypeDiagnoser2< T1, T2 >
class  clang::Sema::BoundTypeDiagnoser3< T1, T2, T3 >
class  clang::Sema::NameClassification
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::TypoExprState
class  clang::Sema::FullExprArg
class  clang::Sema::CompoundScopeRAII
 A RAII object to enter scope of a compound statement. More...
struct  clang::Sema::ActOnMemberAccessExtraArgs
struct  clang::Sema::OffsetOfComponent
class  clang::Sema::ImplicitExceptionSpecification
 Helper class that collects exception specifications for implicitly-declared special member functions. 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::OriginalCallArg
 brief A function argument from which we performed template argument More...
struct  clang::Sema::ActiveTemplateInstantiation
 A template instantiation that is currently in progress. More...
class  clang::Sema::ArgumentPackSubstitutionIndexRAII
 RAII object used to change the argument pack substitution index within a Sema object. More...
struct  clang::Sema::InstantiatingTemplate
 A stack object to be created when performing template instantiation. More...
struct  clang::Sema::InstantiatingTemplate::ExceptionSpecification
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...
class  clang::Sema::SavePendingInstantiationsAndVTableUsesRAII
class  clang::Sema::SavePendingLocalImplicitInstantiationsRAII
struct  clang::Sema::LateInstantiatedAttribute
struct  clang::Sema::ObjCArgInfo
class  clang::Sema::VerifyICEDiagnoser
 Abstract base class used for diagnosing integer constant expression violations. More...
struct  clang::Sema::FormatStringInfo
struct  clang::Sema::TypeTagData
class  clang::EnterExpressionEvaluationContext
 RAII object that enters a new expression evaluation context. More...
struct  clang::LateParsedTemplate
 Contains a late templated function. Will be parsed at the end of the translation unit, used by Sema & Parser. More...

Namespaces

namespace  llvm
namespace  clang
namespace  clang::sema

Typedefs

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

Functions

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