//===--- Sema.h - Semantic Analysis & AST Building --------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file defines the Sema class, which performs semantic analysis and
// builds ASTs.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_CLANG_SEMA_SEMA_H
#define LLVM_CLANG_SEMA_SEMA_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/ExprOpenMP.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/StmtOpenMP.h"
#include "clang/AST/TypeLoc.h"
#include "clang/AST/TypeOrdering.h"
#include "clang/Basic/BitmaskEnum.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/DarwinSDKInfo.h"
#include "clang/Basic/ExpressionTraits.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/OpenCLOptions.h"
#include "clang/Basic/OpenMPKinds.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/Scope.h"
#include "clang/Sema/SemaConcept.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/SmallBitVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/Frontend/OpenMP/OMPConstants.h"
#include <deque>
#include <memory>
#include <string>
#include <tuple>
#include <vector>
namespace llvm {
class APSInt;
template <typename ValueT, typename ValueInfoT> class DenseSet;
class SmallBitVector;
struct InlineAsmIdentifierInfo;
}
namespace clang {
class ADLResult;
class ASTConsumer;
class ASTContext;
class ASTMutationListener;
class ASTReader;
class ASTWriter;
class ArrayType;
class ParsedAttr;
class BindingDecl;
class BlockDecl;
class CapturedDecl;
class CXXBasePath;
class CXXBasePaths;
class CXXBindTemporaryExpr;
typedef SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
class CXXConstructorDecl;
class CXXConversionDecl;
class CXXDeleteExpr;
class CXXDestructorDecl;
class CXXFieldCollector;
class CXXMemberCallExpr;
class CXXMethodDecl;
class CXXScopeSpec;
class CXXTemporary;
class CXXTryStmt;
class CallExpr;
class ClassTemplateDecl;
class ClassTemplatePartialSpecializationDecl;
class ClassTemplateSpecializationDecl;
class VarTemplatePartialSpecializationDecl;
class CodeCompleteConsumer;
class CodeCompletionAllocator;
class CodeCompletionTUInfo;
class CodeCompletionResult;
class CoroutineBodyStmt;
class Decl;
class DeclAccessPair;
class DeclContext;
class DeclRefExpr;
class DeclaratorDecl;
class DeducedTemplateArgument;
class DependentDiagnostic;
class DesignatedInitExpr;
class Designation;
class EnableIfAttr;
class EnumConstantDecl;
class Expr;
class ExtVectorType;
class FormatAttr;
class FriendDecl;
class FunctionDecl;
class FunctionProtoType;
class FunctionTemplateDecl;
class ImplicitConversionSequence;
typedef MutableArrayRef<ImplicitConversionSequence> ConversionSequenceList;
class InitListExpr;
class InitializationKind;
class InitializationSequence;
class InitializedEntity;
class IntegerLiteral;
class LabelStmt;
class LambdaExpr;
class LangOptions;
class LocalInstantiationScope;
class LookupResult;
class MacroInfo;
typedef ArrayRef<std::pair<IdentifierInfo *, SourceLocation>> ModuleIdPath;
class ModuleLoader;
class MultiLevelTemplateArgumentList;
class NamedDecl;
class ObjCCategoryDecl;
class ObjCCategoryImplDecl;
class ObjCCompatibleAliasDecl;
class ObjCContainerDecl;
class ObjCImplDecl;
class ObjCImplementationDecl;
class ObjCInterfaceDecl;
class ObjCIvarDecl;
template <class T> class ObjCList;
class ObjCMessageExpr;
class ObjCMethodDecl;
class ObjCPropertyDecl;
class ObjCProtocolDecl;
class OMPThreadPrivateDecl;
class OMPRequiresDecl;
class OMPDeclareReductionDecl;
class OMPDeclareSimdDecl;
class OMPClause;
struct OMPVarListLocTy;
struct OverloadCandidate;
enum class OverloadCandidateParamOrder : char;
enum OverloadCandidateRewriteKind : unsigned;
class OverloadCandidateSet;
class OverloadExpr;
class ParenListExpr;
class ParmVarDecl;
class Preprocessor;
class PseudoDestructorTypeStorage;
class PseudoObjectExpr;
class QualType;
class StandardConversionSequence;
class Stmt;
class StringLiteral;
class SwitchStmt;
class TemplateArgument;
class TemplateArgumentList;
class TemplateArgumentLoc;
class TemplateDecl;
class TemplateInstantiationCallback;
class TemplateParameterList;
class TemplatePartialOrderingContext;
class TemplateTemplateParmDecl;
class Token;
class TypeAliasDecl;
class TypedefDecl;
class TypedefNameDecl;
class TypeLoc;
class TypoCorrectionConsumer;
class UnqualifiedId;
class UnresolvedLookupExpr;
class UnresolvedMemberExpr;
class UnresolvedSetImpl;
class UnresolvedSetIterator;
class UsingDecl;
class UsingShadowDecl;
class ValueDecl;
class VarDecl;
class VarTemplateSpecializationDecl;
class VisibilityAttr;
class VisibleDeclConsumer;
class IndirectFieldDecl;
struct DeductionFailureInfo;
class TemplateSpecCandidateSet;
namespace sema {
class AccessedEntity;
class BlockScopeInfo;
class Capture;
class CapturedRegionScopeInfo;
class CapturingScopeInfo;
class CompoundScopeInfo;
class DelayedDiagnostic;
class DelayedDiagnosticPool;
class FunctionScopeInfo;
class LambdaScopeInfo;
class PossiblyUnreachableDiag;
class RISCVIntrinsicManager;
class SemaPPCallbacks;
class TemplateDeductionInfo;
}
namespace threadSafety {
class BeforeSet;
void threadSafetyCleanup(BeforeSet* Cache);
}
// FIXME: No way to easily map from TemplateTypeParmTypes to
// TemplateTypeParmDecls, so we have this horrible PointerUnion.
typedef std::pair<llvm::PointerUnion<const TemplateTypeParmType*, NamedDecl*>,
SourceLocation> UnexpandedParameterPack;
/// Describes whether we've seen any nullability information for the given
/// file.
struct FileNullability {
/// The first pointer declarator (of any pointer kind) in the file that does
/// not have a corresponding nullability annotation.
SourceLocation PointerLoc;
/// The end location for the first pointer declarator in the file. Used for
/// placing fix-its.
SourceLocation PointerEndLoc;
/// Which kind of pointer declarator we saw.
uint8_t PointerKind;
/// Whether we saw any type nullability annotations in the given file.
bool SawTypeNullability = false;
};
/// A mapping from file IDs to a record of whether we've seen nullability
/// information in that file.
class FileNullabilityMap {
/// A mapping from file IDs to the nullability information for each file ID.
llvm::DenseMap<FileID, FileNullability> Map;
/// A single-element cache based on t
没有合适的资源?快使用搜索试试~ 我知道了~
收起资源包目录
Hikari-LLVM15.0.0.xctoolchain.zip (2000个子文件)
Sema.h 614KB
OpenMPClause.h 325KB
Type.h 253KB
ASTMatchers.h 250KB
Expr.h 241KB
StmtOpenMP.h 237KB
TargetLowering.h 216KB
Instructions.h 203KB
Attributor.h 197KB
Decl.h 175KB
ExprCXX.h 174KB
ItaniumDemangle.h 167KB
DeclCXX.h 158KB
IntrinsicsHexagon.h 150KB
DebugInfoMetadata.h 143KB
Parser.h 141KB
Format.h 138KB
RecursiveASTVisitor.h 135KB
ASTContext.h 134KB
Core.h 133KB
IntrinsicsNVPTX.h 131KB
DeclTemplate.h 127KB
TargetTransformInfo.h 121KB
Stmt.h 118KB
SelectionDAGNodes.h 108KB
IntrinsicsX86.h 106KB
SelectionDAG.h 102KB
DeclObjC.h 102KB
Preprocessor.h 101KB
ScalarEvolution.h 100KB
DeclSpec.h 100KB
IRBuilder.h 99KB
DeclBase.h 96KB
BasicTTIImpl.h 95KB
InstrTypes.h 95KB
IntrinsicsVE.h 93KB
TargetInstrInfo.h 92KB
PatternMatch.h 88KB
ASTReader.h 88KB
ASTMatchersInternal.h 81KB
MachineIRBuilder.h 81KB
STLExtras.h 79KB
TypeLoc.h 77KB
Core.h 77KB
MachineInstr.h 76KB
APInt.h 76KB
IntervalMap.h 73KB
SourceManager.h 73KB
IntrinsicsAArch64.h 70KB
BlockFrequencyInfoImpl.h 68KB
ELF.h 67KB
JITLink.h 65KB
IntrinsicsAMDGPU.h 65KB
ISDOpcodes.h 63KB
Diagnostic.h 63KB
TargetInfo.h 62KB
ModuleSummaryIndex.h 62KB
ASTBitCodes.h 59KB
MachO.h 59KB
ExprObjC.h 59KB
AliasAnalysis.h 57KB
Constants.h 57KB
ThreadSafetyTIL.h 56KB
TargetRegistry.h 56KB
Metadata.h 55KB
DebugInfo.h 54KB
TargetRegisterInfo.h 54KB
PassManager.h 54KB
LegalizerInfo.h 53KB
CFG.h 52KB
MachineFunction.h 52KB
LoopInfo.h 52KB
MachineBasicBlock.h 52KB
MemRegion.h 52KB
DIBuilder.h 51KB
Attributes.h 50KB
APFloat.h 49KB
LegalizationArtifactCombiner.h 49KB
LazyCallGraph.h 49KB
MemorySSA.h 49KB
Initialization.h 48KB
Orc.h 48KB
CallEvent.h 48KB
InstructionSelectorImpl.h 48KB
MachineRegisterInfo.h 48KB
SampleProf.h 48KB
IRSimilarityIdentifier.h 47KB
MCStreamer.h 47KB
TargetTransformInfoImpl.h 46KB
ParsedAttr.h 46KB
IntrinsicsMips.h 46KB
IntrinsicInst.h 45KB
CodeGenPassBuilder.h 45KB
SmallVector.h 45KB
IntrinsicsPowerPC.h 45KB
ELF.h 44KB
DiagnosticInfo.h 44KB
COFF.h 44KB
CodeCompleteConsumer.h 43KB
Overload.h 43KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源推荐
资源预览
资源评论
5星 · 资源好评率100%
134 浏览量
134 浏览量
5星 · 资源好评率100%
152 浏览量
5星 · 资源好评率100%
157 浏览量
2024-01-08 上传
200 浏览量
152 浏览量
5星 · 资源好评率100%
156 浏览量
128 浏览量
165 浏览量
140 浏览量
112 浏览量
5星 · 资源好评率100%
136 浏览量
2023-01-16 上传
2023-06-20 上传
129 浏览量
188 浏览量
2021-09-28 上传
资源评论
iosandAndroid
- 粉丝: 1579
- 资源: 152
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 小清新教育教学通用PPT.pptx
- 小清新教育教学通用.pptx
- 教学通用.pptx
- 商务简约工作汇报.pptx
- 清新卡通教学.pptx
- 简约年终工作总结.pptx
- arduino 呼吸灯/淡化代码
- 论文答辩报告模板.pptx
- geoserverToTMS-ZXY+python+瓦片编号规则转换
- 小清新语文教学通用模板.pptx
- 宝峰UV5R写频软件中文版
- 营养学计算器HTML源码
- 六层电梯西门子S7-200PLC梯形图程序 一、电梯具有的功能 1. 电梯内选和外选按钮的呼叫与对应指示灯的显示功能; 2. 电梯开门和关门动作,开门到位; 3.
- 水彩年终工作汇报.pptx
- 小清新年终总结.pptx
- 中国风山水教育教学通用.pptx
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功