//===----- SemaHLSL.h ----- Semantic Analysis for HLSL constructs ---------===// // // 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 // //===----------------------------------------------------------------------===// /// \file /// This file declares semantic analysis for HLSL constructs. /// //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_SEMA_SEMAHLSL_H #define LLVM_CLANG_SEMA_SEMAHLSL_H #include "clang/AST/ASTFwd.h" #include "clang/AST/Attr.h" #include "clang/AST/Type.h" #include "clang/AST/TypeLoc.h" #include "clang/Basic/SourceLocation.h" #include "clang/Sema/SemaBase.h" #include "llvm/ADT/SmallVector.h" #include "llvm/TargetParser/Triple.h" #include <initializer_list> namespace clang { class AttributeCommonInfo; class IdentifierInfo; class ParsedAttr; class Scope; // FIXME: This can be hidden (as static function in SemaHLSL.cpp) once we no // longer need to create builtin buffer types in HLSLExternalSemaSource. bool CreateHLSLAttributedResourceType( Sema &S, QualType Wrapped, ArrayRef<const Attr *> AttrList, QualType &ResType, HLSLAttributedResourceLocInfo *LocInfo = nullptr); class SemaHLSL : public SemaBase { … }; } // namespace clang #endif // LLVM_CLANG_SEMA_SEMAHLSL_H