#include "clang/Sema/HLSLExternalSemaSource.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/Type.h"
#include "clang/Basic/AttrKinds.h"
#include "clang/Basic/HLSLRuntime.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Sema/Lookup.h"
#include "clang/Sema/Sema.h"
#include "clang/Sema/SemaHLSL.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Frontend/HLSL/HLSLResource.h"
#include <functional>
usingnamespaceclang;
usingnamespacellvm::hlsl;
namespace {
struct TemplateParameterListBuilder;
struct BuiltinTypeDeclBuilder { … };
struct TemplateParameterListBuilder { … };
}
TemplateParameterListBuilder
BuiltinTypeDeclBuilder::addTemplateArgumentList(Sema &S) { … }
BuiltinTypeDeclBuilder &
BuiltinTypeDeclBuilder::addSimpleTemplateParams(Sema &S,
ArrayRef<StringRef> Names) { … }
HLSLExternalSemaSource::~HLSLExternalSemaSource() { … }
void HLSLExternalSemaSource::InitializeSema(Sema &S) { … }
void HLSLExternalSemaSource::defineHLSLVectorAlias() { … }
void HLSLExternalSemaSource::defineTrivialHLSLTypes() { … }
static BuiltinTypeDeclBuilder setupBufferType(CXXRecordDecl *Decl, Sema &S,
ResourceClass RC, ResourceKind RK,
bool IsROV, bool RawBuffer) { … }
void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() { … }
void HLSLExternalSemaSource::onCompletion(CXXRecordDecl *Record,
CompletionFunction Fn) { … }
void HLSLExternalSemaSource::CompleteType(TagDecl *Tag) { … }