diff options
36 files changed, 1629 insertions, 4149 deletions
diff --git a/clang-tools-extra/clang-doc/BitcodeReader.cpp b/clang-tools-extra/clang-doc/BitcodeReader.cpp index 70e92c7a646..fa51d01355c 100644 --- a/clang-tools-extra/clang-doc/BitcodeReader.cpp +++ b/clang-tools-extra/clang-doc/BitcodeReader.cpp @@ -100,8 +100,6 @@ bool decodeRecord(Record R, FieldId &Field, llvm::StringRef Blob) { case FieldId::F_parent: case FieldId::F_vparent: case FieldId::F_type: - case FieldId::F_child_namespace: - case FieldId::F_child_record: case FieldId::F_default: Field = F; return true; @@ -374,12 +372,6 @@ template <> void addReference(NamespaceInfo *I, Reference &&R, FieldId F) { case FieldId::F_namespace: I->Namespace.emplace_back(std::move(R)); break; - case FieldId::F_child_namespace: - I->ChildNamespaces.emplace_back(std::move(R)); - break; - case FieldId::F_child_record: - I->ChildRecords.emplace_back(std::move(R)); - break; default: llvm::errs() << "Invalid field type for info.\n"; exit(1); @@ -411,37 +403,12 @@ template <> void addReference(RecordInfo *I, Reference &&R, FieldId F) { case FieldId::F_vparent: I->VirtualParents.emplace_back(std::move(R)); break; - case FieldId::F_child_record: - I->ChildRecords.emplace_back(std::move(R)); - break; default: llvm::errs() << "Invalid field type for info.\n"; exit(1); } } -template <typename T, typename ChildInfoType> -void addChild(T I, ChildInfoType &&R) { - llvm::errs() << "Invalid child type for info.\n"; - exit(1); -} - -template <> void addChild(NamespaceInfo *I, FunctionInfo &&R) { - I->ChildFunctions.emplace_back(std::move(R)); -} - -template <> void addChild(NamespaceInfo *I, EnumInfo &&R) { - I->ChildEnums.emplace_back(std::move(R)); -} - -template <> void addChild(RecordInfo *I, FunctionInfo &&R) { - I->ChildFunctions.emplace_back(std::move(R)); -} - -template <> void addChild(RecordInfo *I, EnumInfo &&R) { - I->ChildEnums.emplace_back(std::move(R)); -} - // Read records from bitcode into a given info. template <typename T> bool ClangDocBitcodeReader::readRecord(unsigned ID, T I) { Record R; @@ -488,8 +455,7 @@ template <typename T> bool ClangDocBitcodeReader::readBlock(unsigned ID, T I) { template <typename T> bool ClangDocBitcodeReader::readSubBlock(unsigned ID, T I) { switch (ID) { - // Blocks can only have Comment, Reference, TypeInfo, FunctionInfo, or - // EnumInfo subblocks + // Blocks can only have Comment, Reference, or TypeInfo subblocks case BI_COMMENT_BLOCK_ID: if (readBlock(ID, getCommentInfo(I))) return true; @@ -526,22 +492,6 @@ bool ClangDocBitcodeReader::readSubBlock(unsigned ID, T I) { } return false; } - case BI_FUNCTION_BLOCK_ID: { - FunctionInfo F; - if (readBlock(ID, &F)) { - addChild(I, std::move(F)); - return true; - } - return false; - } - case BI_ENUM_BLOCK_ID: { - EnumInfo E; - if (readBlock(ID, &E)) { - addChild(I, std::move(E)); - return true; - } - return false; - } default: llvm::errs() << "Invalid subblock type.\n"; return false; @@ -623,21 +573,16 @@ std::unique_ptr<Info> ClangDocBitcodeReader::readBlockToInfo(unsigned ID) { } // Entry point -llvm::Expected<std::vector<std::unique_ptr<Info>>> -ClangDocBitcodeReader::readBitcode() { +std::vector<std::unique_ptr<Info>> ClangDocBitcodeReader::readBitcode() { std::vector<std::unique_ptr<Info>> Infos; if (!validateStream()) - return llvm::make_error<llvm::StringError>("Invalid bitcode stream.\n", - llvm::inconvertibleErrorCode()); - ; + return Infos; // Read the top level blocks. while (!Stream.AtEndOfStream()) { unsigned Code = Stream.ReadCode(); if (Code != llvm::bitc::ENTER_SUBBLOCK) - return llvm::make_error<llvm::StringError>( - "Missing subblock in bitcode.\n", llvm::inconvertibleErrorCode()); - ; + return Infos; unsigned ID = Stream.ReadSubBlockID(); switch (ID) { @@ -647,30 +592,24 @@ ClangDocBitcodeReader::readBitcode() { case BI_MEMBER_TYPE_BLOCK_ID: case BI_COMMENT_BLOCK_ID: case BI_REFERENCE_BLOCK_ID: - return llvm::make_error<llvm::StringError>( - "Invalid top level block in bitcode.\n", - llvm::inconvertibleErrorCode()); - ; + llvm::errs() << "Invalid top level block.\n"; + return Infos; case BI_NAMESPACE_BLOCK_ID: case BI_RECORD_BLOCK_ID: case BI_ENUM_BLOCK_ID: case BI_FUNCTION_BLOCK_ID: - if (std::unique_ptr<Info> I = readBlockToInfo(ID)) + if (std::unique_ptr<Info> I = readBlockToInfo(ID)) { Infos.emplace_back(std::move(I)); + } return Infos; case BI_VERSION_BLOCK_ID: if (readBlock(ID, VersionNumber)) continue; - return llvm::make_error<llvm::StringError>( - "Invalid bitcode version in bitcode.\n", - llvm::inconvertibleErrorCode()); - ; + return Infos; case llvm::bitc::BLOCKINFO_BLOCK_ID: if (readBlockInfoBlock()) continue; - return llvm::make_error<llvm::StringError>( - "Invalid BlockInfo in bitcode.\n", llvm::inconvertibleErrorCode()); - ; + return Infos; default: if (!Stream.SkipBlock()) continue; diff --git a/clang-tools-extra/clang-doc/BitcodeReader.h b/clang-tools-extra/clang-doc/BitcodeReader.h index aaf25257c85..c0cf24a1783 100644 --- a/clang-tools-extra/clang-doc/BitcodeReader.h +++ b/clang-tools-extra/clang-doc/BitcodeReader.h @@ -19,7 +19,6 @@ #include "BitcodeWriter.h" #include "Representation.h" #include "clang/AST/AST.h" -#include "llvm/ADT/Optional.h" #include "llvm/ADT/SmallVector.h" #include "llvm/Bitcode/BitstreamReader.h" @@ -32,7 +31,7 @@ public: ClangDocBitcodeReader(llvm::BitstreamCursor &Stream) : Stream(Stream) {} // Main entry point, calls readBlock to read each block in the given stream. - llvm::Expected<std::vector<std::unique_ptr<Info>>> readBitcode(); + std::vector<std::unique_ptr<Info>> readBitcode(); private: enum class Cursor { BadBlock = 1, Record, BlockEnd, BlockBegin }; diff --git a/clang-tools-extra/clang-doc/BitcodeWriter.cpp b/clang-tools-extra/clang-doc/BitcodeWriter.cpp index f73724e4fbc..623ed1a2af0 100644 --- a/clang-tools-extra/clang-doc/BitcodeWriter.cpp +++ b/clang-tools-extra/clang-doc/BitcodeWriter.cpp @@ -434,14 +434,6 @@ void ClangDocBitcodeWriter::emitBlock(const NamespaceInfo &I) { emitBlock(N, FieldId::F_namespace); for (const auto &CI : I.Description) emitBlock(CI); - for (const auto &C : I.ChildNamespaces) - emitBlock(C, FieldId::F_child_namespace); - for (const auto &C : I.ChildRecords) - emitBlock(C, FieldId::F_child_record); - for (const auto &C : I.ChildFunctions) - emitBlock(C); - for (const auto &C : I.ChildEnums) - emitBlock(C); } void ClangDocBitcodeWriter::emitBlock(const EnumInfo &I) { @@ -480,12 +472,6 @@ void ClangDocBitcodeWriter::emitBlock(const RecordInfo &I) { emitBlock(P, FieldId::F_parent); for (const auto &P : I.VirtualParents) emitBlock(P, FieldId::F_vparent); - for (const auto &C : I.ChildRecords) - emitBlock(C, FieldId::F_child_record); - for (const auto &C : I.ChildFunctions) - emitBlock(C); - for (const auto &C : I.ChildEnums) - emitBlock(C); } void ClangDocBitcodeWriter::emitBlock(const FunctionInfo &I) { diff --git a/clang-tools-extra/clang-doc/BitcodeWriter.h b/clang-tools-extra/clang-doc/BitcodeWriter.h index 2ff46c612a6..8aa38e142b0 100644 --- a/clang-tools-extra/clang-doc/BitcodeWriter.h +++ b/clang-tools-extra/clang-doc/BitcodeWriter.h @@ -68,10 +68,11 @@ enum BlockId { // New Ids need to be added to the enum here, and to the relevant IdNameMap and // initialization list in the implementation file. +#define INFORECORDS(X) X##_USR, X##_NAME + enum RecordId { VERSION = 1, - FUNCTION_USR, - FUNCTION_NAME, + INFORECORDS(FUNCTION), FUNCTION_DEFLOCATION, FUNCTION_LOCATION, FUNCTION_ACCESS, @@ -90,16 +91,13 @@ enum RecordId { FIELD_TYPE_NAME, MEMBER_TYPE_NAME, MEMBER_TYPE_ACCESS, - NAMESPACE_USR, - NAMESPACE_NAME, - ENUM_USR, - ENUM_NAME, + INFORECORDS(NAMESPACE), + INFORECORDS(ENUM), ENUM_DEFLOCATION, ENUM_LOCATION, ENUM_MEMBER, ENUM_SCOPED, - RECORD_USR, - RECORD_NAME, + INFORECORDS(RECORD), RECORD_DEFLOCATION, RECORD_LOCATION, RECORD_TAG_TYPE, @@ -114,16 +112,10 @@ enum RecordId { static constexpr unsigned BlockIdCount = BI_LAST - BI_FIRST; static constexpr unsigned RecordIdCount = RI_LAST - RI_FIRST; +#undef INFORECORDS + // Identifiers for differentiating between subblocks -enum class FieldId { - F_default, - F_namespace, - F_parent, - F_vparent, - F_type, - F_child_namespace, - F_child_record -}; +enum class FieldId { F_default, F_namespace, F_parent, F_vparent, F_type }; class ClangDocBitcodeWriter { public: diff --git a/clang-tools-extra/clang-doc/Mapper.cpp b/clang-tools-extra/clang-doc/Mapper.cpp index 4456c1ed9b8..fb0b42af3ee 100644 --- a/clang-tools-extra/clang-doc/Mapper.cpp +++ b/clang-tools-extra/clang-doc/Mapper.cpp @@ -13,7 +13,6 @@ #include "clang/AST/Comment.h" #include "clang/Index/USRGeneration.h" #include "llvm/ADT/StringExtras.h" -#include "llvm/Support/Error.h" using clang::comments::FullComment; @@ -34,15 +33,14 @@ template <typename T> bool MapASTVisitor::mapDecl(const T *D) { if (index::generateUSRForDecl(D, USR)) return true; - auto I = serialize::emitInfo( + std::string info = serialize::emitInfo( D, getComment(D, D->getASTContext()), getLine(D, D->getASTContext()), getFile(D, D->getASTContext()), CDCtx.PublicOnly); - // A null in place of I indicates that the serializer is skipping this decl - // for some reason (e.g. we're only reporting public decls). - if (I) - CDCtx.ECtx->reportResult(llvm::toHex(llvm::toStringRef(I->USR)), - serialize::serialize(I)); + if (info != "") + CDCtx.ECtx->reportResult( + llvm::toHex(llvm::toStringRef(serialize::hashUSR(USR))), info); + return true; } diff --git a/clang-tools-extra/clang-doc/Representation.cpp b/clang-tools-extra/clang-doc/Representation.cpp index f4372dc5b89..6107b98ecdc 100644 --- a/clang-tools-extra/clang-doc/Representation.cpp +++ b/clang-tools-extra/clang-doc/Representation.cpp @@ -26,70 +26,17 @@ namespace clang { namespace doc { -namespace { - -const SymbolID EmptySID = SymbolID(); +static const SymbolID EmptySID = SymbolID(); template <typename T> -llvm::Expected<std::unique_ptr<Info>> -reduce(std::vector<std::unique_ptr<Info>> &Values) { - if (Values.empty()) - return llvm::make_error<llvm::StringError>(" No values to reduce.\n", - llvm::inconvertibleErrorCode()); - std::unique_ptr<Info> Merged = llvm::make_unique<T>(Values[0]->USR); +std::unique_ptr<Info> reduce(std::vector<std::unique_ptr<Info>> &Values) { + std::unique_ptr<Info> Merged = llvm::make_unique<T>(); T *Tmp = static_cast<T *>(Merged.get()); for (auto &I : Values) Tmp->merge(std::move(*static_cast<T *>(I.get()))); return Merged; } -// Return the index of the matching child in the vector, or -1 if merge is not -// necessary. -template <typename T> -int getChildIndexIfExists(std::vector<T> &Children, T &ChildToMerge) { - for (unsigned long I = 0; I < Children.size(); I++) { - if (ChildToMerge.USR == Children[I].USR) - return I; - } - return -1; -} - -// For References, we don't need to actually merge them, we just don't want -// duplicates. -void reduceChildren(std::vector<Reference> &Children, - std::vector<Reference> &&ChildrenToMerge) { - for (auto &ChildToMerge : ChildrenToMerge) { - if (getChildIndexIfExists(Children, ChildToMerge) == -1) - Children.push_back(std::move(ChildToMerge)); - } -} - -void reduceChildren(std::vector<FunctionInfo> &Children, - std::vector<FunctionInfo> &&ChildrenToMerge) { - for (auto &ChildToMerge : ChildrenToMerge) { - int mergeIdx = getChildIndexIfExists(Children, ChildToMerge); - if (mergeIdx == -1) { - Children.push_back(std::move(ChildToMerge)); - continue; - } - Children[mergeIdx].merge(std::move(ChildToMerge)); - } -} - -void reduceChildren(std::vector<EnumInfo> &Children, - std::vector<EnumInfo> &&ChildrenToMerge) { - for (auto &ChildToMerge : ChildrenToMerge) { - int mergeIdx = getChildIndexIfExists(Children, ChildToMerge); - if (mergeIdx == -1) { - Children.push_back(std::move(ChildToMerge)); - continue; - } - Children[mergeIdx].merge(std::move(ChildToMerge)); - } -} - -} // namespace - // Dispatch function. llvm::Expected<std::unique_ptr<Info>> mergeInfos(std::vector<std::unique_ptr<Info>> &Values) { @@ -126,7 +73,7 @@ void Info::mergeBase(Info &&Other) { } bool Info::mergeable(const Info &Other) { - return IT == Other.IT && USR == Other.USR; + return IT == Other.IT && (USR == EmptySID || USR == Other.USR); } void SymbolInfo::merge(SymbolInfo &&Other) { @@ -140,11 +87,6 @@ void SymbolInfo::merge(SymbolInfo &&Other) { void NamespaceInfo::merge(NamespaceInfo &&Other) { assert(mergeable(Other)); - // Reduce children if necessary. - reduceChildren(ChildNamespaces, std::move(Other.ChildNamespaces)); - reduceChildren(ChildRecords, std::move(Other.ChildRecords)); - reduceChildren(ChildFunctions, std::move(Other.ChildFunctions)); - reduceChildren(ChildEnums, std::move(Other.ChildEnums)); mergeBase(std::move(Other)); } @@ -158,10 +100,6 @@ void RecordInfo::merge(RecordInfo &&Other) { Parents = std::move(Other.Parents); if (VirtualParents.empty()) VirtualParents = std::move(Other.VirtualParents); - // Reduce children if necessary. - reduceChildren(ChildRecords, std::move(Other.ChildRecords)); - reduceChildren(ChildFunctions, std::move(Other.ChildFunctions)); - reduceChildren(ChildEnums, std::move(Other.ChildEnums)); SymbolInfo::merge(std::move(Other)); } diff --git a/clang-tools-extra/clang-doc/Representation.h b/clang-tools-extra/clang-doc/Representation.h index 9e88bd9c8db..f952954f988 100644 --- a/clang-tools-extra/clang-doc/Representation.h +++ b/clang-tools-extra/clang-doc/Representation.h @@ -31,9 +31,6 @@ namespace doc { using SymbolID = std::array<uint8_t, 20>; struct Info; -struct FunctionInfo; -struct EnumInfo; - enum class InfoType { IT_default, IT_namespace, @@ -156,9 +153,6 @@ struct Location { struct Info { Info() = default; Info(InfoType IT) : IT(IT) {} - Info(InfoType IT, SymbolID USR) : USR(USR), IT(IT) {} - Info(InfoType IT, SymbolID USR, StringRef Name) - : USR(USR), IT(IT), Name(Name) {} Info(const Info &Other) = delete; Info(Info &&Other) = default; @@ -172,36 +166,18 @@ struct Info { void mergeBase(Info &&I); bool mergeable(const Info &Other); - - // Returns a reference to the parent scope (that is, the immediate parent - // namespace or class in which this decl resides). - llvm::Expected<Reference> getEnclosingScope(); }; // Info for namespaces. struct NamespaceInfo : public Info { NamespaceInfo() : Info(InfoType::IT_namespace) {} - NamespaceInfo(SymbolID USR) : Info(InfoType::IT_namespace, USR) {} - NamespaceInfo(SymbolID USR, StringRef Name) - : Info(InfoType::IT_namespace, USR, Name) {} void merge(NamespaceInfo &&I); - - // Namespaces and Records are references because they will be properly - // documented in their own info, while the entirety of Functions and Enums are - // included here because they should not have separate documentation from - // their scope. - std::vector<Reference> ChildNamespaces; - std::vector<Reference> ChildRecords; - std::vector<FunctionInfo> ChildFunctions; - std::vector<EnumInfo> ChildEnums; }; // Info for symbols. struct SymbolInfo : public Info { SymbolInfo(InfoType IT) : Info(IT) {} - SymbolInfo(InfoType IT, SymbolID USR) : Info(IT, USR) {} - SymbolInfo(InfoType IT, SymbolID USR, StringRef Name) : Info(IT, USR, Name) {} void merge(SymbolInfo &&I); @@ -213,7 +189,6 @@ struct SymbolInfo : public Info { // Info for functions. struct FunctionInfo : public SymbolInfo { FunctionInfo() : SymbolInfo(InfoType::IT_function) {} - FunctionInfo(SymbolID USR) : SymbolInfo(InfoType::IT_function, USR) {} void merge(FunctionInfo &&I); @@ -230,9 +205,6 @@ struct FunctionInfo : public SymbolInfo { // Info for types. struct RecordInfo : public SymbolInfo { RecordInfo() : SymbolInfo(InfoType::IT_record) {} - RecordInfo(SymbolID USR) : SymbolInfo(InfoType::IT_record, USR) {} - RecordInfo(SymbolID USR, StringRef Name) - : SymbolInfo(InfoType::IT_record, USR, Name) {} void merge(RecordInfo &&I); @@ -246,21 +218,12 @@ struct RecordInfo : public SymbolInfo { // parents). llvm::SmallVector<Reference, 4> VirtualParents; // List of virtual base/parent records. - - // Records are references because they will be properly - // documented in their own info, while the entirety of Functions and Enums are - // included here because they should not have separate documentation from - // their scope. - std::vector<Reference> ChildRecords; - std::vector<FunctionInfo> ChildFunctions; - std::vector<EnumInfo> ChildEnums; }; // TODO: Expand to allow for documenting templating. // Info for types. struct EnumInfo : public SymbolInfo { EnumInfo() : SymbolInfo(InfoType::IT_enum) {} - EnumInfo(SymbolID USR) : SymbolInfo(InfoType::IT_enum, USR) {} void merge(EnumInfo &&I); diff --git a/clang-tools-extra/clang-doc/Serialize.cpp b/clang-tools-extra/clang-doc/Serialize.cpp index b12961463f1..c1e6d316f9b 100644 --- a/clang-tools-extra/clang-doc/Serialize.cpp +++ b/clang-tools-extra/clang-doc/Serialize.cpp @@ -152,21 +152,6 @@ template <typename T> static std::string serialize(T &I) { return Buffer.str().str(); } -std::string serialize(std::unique_ptr<Info> &I) { - switch (I->IT) { - case InfoType::IT_namespace: - return serialize(*static_cast<NamespaceInfo *>(I.get())); - case InfoType::IT_record: - return serialize(*static_cast<RecordInfo *>(I.get())); - case InfoType::IT_enum: - return serialize(*static_cast<EnumInfo *>(I.get())); - case InfoType::IT_function: - return serialize(*static_cast<FunctionInfo *>(I.get())); - default: - return ""; - } -} - static void parseFullComment(const FullComment *C, CommentInfo &CI) { ClangDocCommentVisitor Visitor(CI); Visitor.parseComment(C); @@ -321,108 +306,61 @@ static void populateFunctionInfo(FunctionInfo &I, const FunctionDecl *D, parseParameters(I, D); } -std::unique_ptr<Info> emitInfo(const NamespaceDecl *D, const FullComment *FC, - int LineNumber, llvm::StringRef File, - bool PublicOnly) { +std::string emitInfo(const NamespaceDecl *D, const FullComment *FC, + int LineNumber, llvm::StringRef File, bool PublicOnly) { if (PublicOnly && ((D->isAnonymousNamespace()) || !isPublic(D->getAccess(), D->getLinkageInternal()))) - return nullptr; - auto I = llvm::make_unique<NamespaceInfo>(); - populateInfo(*I, D, FC); - return I; + return ""; + NamespaceInfo I; + populateInfo(I, D, FC); + return serialize(I); } -std::unique_ptr<Info> emitInfo(const RecordDecl *D, const FullComment *FC, - int LineNumber, llvm::StringRef File, - bool PublicOnly) { +std::string emitInfo(const RecordDecl *D, const FullComment *FC, int LineNumber, + llvm::StringRef File, bool PublicOnly) { if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal())) - return nullptr; - auto I = llvm::make_unique<RecordInfo>(); - populateSymbolInfo(*I, D, FC, LineNumber, File); - I->TagType = D->getTagKind(); - parseFields(*I, D, PublicOnly); + return ""; + RecordInfo I; + populateSymbolInfo(I, D, FC, LineNumber, File); + I.TagType = D->getTagKind(); + parseFields(I, D, PublicOnly); if (const auto *C = dyn_cast<CXXRecordDecl>(D)) - parseBases(*I, C); - return I; + parseBases(I, C); + return serialize(I); } -std::unique_ptr<Info> emitInfo(const FunctionDecl *D, const FullComment *FC, - int LineNumber, llvm::StringRef File, - bool PublicOnly) { +std::string emitInfo(const FunctionDecl *D, const FullComment *FC, + int LineNumber, llvm::StringRef File, bool PublicOnly) { if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal())) - return nullptr; - FunctionInfo Func; - populateFunctionInfo(Func, D, FC, LineNumber, File); - Func.Access = clang::AccessSpecifier::AS_none; - - // Wrap in enclosing scope - auto I = llvm::make_unique<NamespaceInfo>(); - if (!Func.Namespace.empty()) - I->USR = Func.Namespace[0].USR; - else - I->USR = SymbolID(); - I->ChildFunctions.push_back(std::move(Func)); - return I; + return ""; + FunctionInfo I; + populateFunctionInfo(I, D, FC, LineNumber, File); + I.Access = clang::AccessSpecifier::AS_none; + return serialize(I); } -std::unique_ptr<Info> emitInfo(const CXXMethodDecl *D, const FullComment *FC, - int LineNumber, llvm::StringRef File, - bool PublicOnly) { +std::string emitInfo(const CXXMethodDecl *D, const FullComment *FC, + int LineNumber, llvm::StringRef File, bool PublicOnly) { if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal())) - return nullptr; - FunctionInfo Func; - populateFunctionInfo(Func, D, FC, LineNumber, File); - Func.IsMethod = true; - - SymbolID ParentUSR = getUSRForDecl(D->getParent()); - Func.Parent = Reference{ParentUSR, D->getParent()->getNameAsString(), - InfoType::IT_record}; - Func.Access = D->getAccess(); - - // Wrap in enclosing scope - auto I = llvm::make_unique<RecordInfo>(); - I->USR = ParentUSR; - I->ChildFunctions.push_back(std::move(Func)); - return I; + return ""; + FunctionInfo I; + populateFunctionInfo(I, D, FC, LineNumber, File); + I.IsMethod = true; + I.Parent = Reference{getUSRForDecl(D->getParent()), + D->getParent()->getNameAsString(), InfoType::IT_record}; + I.Access = D->getAccess(); + return serialize(I); } -std::unique_ptr<Info> emitInfo(const EnumDecl *D, const FullComment *FC, - int LineNumber, llvm::StringRef File, - bool PublicOnly) { +std::string emitInfo(const EnumDecl *D, const FullComment *FC, int LineNumber, + llvm::StringRef File, bool PublicOnly) { if (PublicOnly && !isPublic(D->getAccess(), D->getLinkageInternal())) - return nullptr; - EnumInfo Enum; - populateSymbolInfo(Enum, D, FC, LineNumber, File); - Enum.Scoped = D->isScoped(); - parseEnumerators(Enum, D); - - // Wrap in enclosing scope - if (!Enum.Namespace.empty()) { - switch (Enum.Namespace[0].RefType) { - case InfoType::IT_namespace: { - std::unique_ptr<Info> IPtr = llvm::make_unique<NamespaceInfo>(); - NamespaceInfo *I = static_cast<NamespaceInfo *>(IPtr.get()); - I->USR = Enum.Namespace[0].USR; - I->ChildEnums.push_back(std::move(Enum)); - return IPtr; - } - case InfoType::IT_record: { - std::unique_ptr<Info> IPtr = llvm::make_unique<RecordInfo>(); - RecordInfo *I = static_cast<RecordInfo *>(IPtr.get()); - I->USR = Enum.Namespace[0].USR; - I->ChildEnums.push_back(std::move(Enum)); - return IPtr; - } - default: - break; - } - } - - // Put in global namespace - auto I = llvm::make_unique<NamespaceInfo>(); - I->USR = SymbolID(); - I->ChildEnums.push_back(std::move(Enum)); - return I; + return ""; + EnumInfo I; + populateSymbolInfo(I, D, FC, LineNumber, File); + I.Scoped = D->isScoped(); + parseEnumerators(I, D); + return serialize(I); } } // namespace serialize diff --git a/clang-tools-extra/clang-doc/Serialize.h b/clang-tools-extra/clang-doc/Serialize.h index d89dac80922..5181cf61be3 100644 --- a/clang-tools-extra/clang-doc/Serialize.h +++ b/clang-tools-extra/clang-doc/Serialize.h @@ -28,16 +28,16 @@ namespace clang { namespace doc { namespace serialize { -std::unique_ptr<Info> emitInfo(const NamespaceDecl *D, const FullComment *FC, - int LineNumber, StringRef File, bool PublicOnly); -std::unique_ptr<Info> emitInfo(const RecordDecl *D, const FullComment *FC, - int LineNumber, StringRef File, bool PublicOnly); -std::unique_ptr<Info> emitInfo(const EnumDecl *D, const FullComment *FC, - int LineNumber, StringRef File, bool PublicOnly); -std::unique_ptr<Info> emitInfo(const FunctionDecl *D, const FullComment *FC, - int LineNumber, StringRef File, bool PublicOnly); -std::unique_ptr<Info> emitInfo(const CXXMethodDecl *D, const FullComment *FC, - int LineNumber, StringRef File, bool PublicOnly); +std::string emitInfo(const NamespaceDecl *D, const FullComment *FC, + int LineNumber, StringRef File, bool PublicOnly); +std::string emitInfo(const RecordDecl *D, const FullComment *FC, int LineNumber, + StringRef File, bool PublicOnly); +std::string emitInfo(const EnumDecl *D, const FullComment *FC, int LineNumber, + StringRef File, bool PublicOnly); +std::string emitInfo(const FunctionDecl *D, const FullComment *FC, + int LineNumber, StringRef File, bool PublicOnly); +std::string emitInfo(const CXXMethodDecl *D, const FullComment *FC, + int LineNumber, StringRef File, bool PublicOnly); // Function to hash a given USR value for storage. // As USRs (Unified Symbol Resolution) could be large, especially for functions @@ -46,8 +46,6 @@ std::unique_ptr<Info> emitInfo(const CXXMethodDecl *D, const FullComment *FC, // memory (vs storing USRs directly). SymbolID hashUSR(llvm::StringRef USR); -std::string serialize(std::unique_ptr<Info> &I); - } // namespace serialize } // namespace doc } // namespace clang diff --git a/clang-tools-extra/clang-doc/YAMLGenerator.cpp b/clang-tools-extra/clang-doc/YAMLGenerator.cpp index 58c1e1f36b9..f29b4787dbd 100644 --- a/clang-tools-extra/clang-doc/YAMLGenerator.cpp +++ b/clang-tools-extra/clang-doc/YAMLGenerator.cpp @@ -20,8 +20,6 @@ LLVM_YAML_IS_SEQUENCE_VECTOR(MemberTypeInfo) LLVM_YAML_IS_SEQUENCE_VECTOR(Reference) LLVM_YAML_IS_SEQUENCE_VECTOR(Location) LLVM_YAML_IS_SEQUENCE_VECTOR(CommentInfo) -LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionInfo) -LLVM_YAML_IS_SEQUENCE_VECTOR(EnumInfo) LLVM_YAML_IS_SEQUENCE_VECTOR(std::unique_ptr<CommentInfo>) LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::SmallString<16>) @@ -177,14 +175,7 @@ template <> struct MappingTraits<MemberTypeInfo> { }; template <> struct MappingTraits<NamespaceInfo> { - static void mapping(IO &IO, NamespaceInfo &I) { - InfoMapping(IO, I); - IO.mapOptional("ChildNamespaces", I.ChildNamespaces, - std::vector<Reference>()); - IO.mapOptional("ChildRecords", I.ChildRecords, std::vector<Reference>()); - IO.mapOptional("ChildFunctions", I.ChildFunctions); - IO.mapOptional("ChildEnums", I.ChildEnums); - } + static void mapping(IO &IO, NamespaceInfo &I) { InfoMapping(IO, I); } }; template <> struct MappingTraits<RecordInfo> { @@ -195,9 +186,6 @@ template <> struct MappingTraits<RecordInfo> { IO.mapOptional("Parents", I.Parents, llvm::SmallVector<Reference, 4>()); IO.mapOptional("VirtualParents", I.VirtualParents, llvm::SmallVector<Reference, 4>()); - IO.mapOptional("ChildRecords", I.ChildRecords, std::vector<Reference>()); - IO.mapOptional("ChildFunctions", I.ChildFunctions); - IO.mapOptional("ChildEnums", I.ChildEnums); } }; diff --git a/clang-tools-extra/clang-doc/gen_tests.py b/clang-tools-extra/clang-doc/gen_tests.py index ccdb069c433..5004892e517 100644 --- a/clang-tools-extra/clang-doc/gen_tests.py +++ b/clang-tools-extra/clang-doc/gen_tests.py @@ -18,17 +18,14 @@ accuracy before using. To generate all current tests: - Generate mapper tests: - python gen_tests.py -flag='--dump-mapper' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix mapper + gen_tests.py -flag='--dump-mapper' -flag='--doxygen' -prefix mapper - Generate reducer tests: - python gen_tests.py -flag='--dump-intermediate' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix bc - + gen_tests.py -flag='--dump-intermediate' -flag='--doxygen' -prefix bc + - Generate yaml tests: - python gen_tests.py -flag='--format=yaml' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix yaml - -- Generate public decl tests: - python gen_tests.py -flag='--format=yaml' -flag='--doxygen' -flag='--public' -flag='--extra-arg=-fmodules-ts' -prefix public - + gen_tests.py -flag='--format=yaml' -flag='--doxygen' -prefix yaml + This script was written on/for Linux, and has not been tested on any other platform and so it may not work. @@ -37,7 +34,6 @@ platform and so it may not work. import argparse import glob import os -import re import shutil import subprocess @@ -52,10 +48,6 @@ CHECK = '// CHECK-{0}: ' CHECK_NEXT = '// CHECK-{0}-NEXT: ' -BITCODE_USR = '<USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>' -BITCODE_USR_REGEX = r'<USR abbrevid=4 op0=20 op1=[0-9]+ op2=[0-9]+ op3=[0-9]+ op4=[0-9]+ op5=[0-9]+ op6=[0-9]+ op7=[0-9]+ op8=[0-9]+ op9=[0-9]+ op10=[0-9]+ op11=[0-9]+ op12=[0-9]+ op13=[0-9]+ op14=[0-9]+ op15=[0-9]+ op16=[0-9]+ op17=[0-9]+ op18=[0-9]+ op19=[0-9]+ op20=[0-9]+/>' -YAML_USR = "USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'" -YAML_USR_REGEX = r"USR: '[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]'" def clear_test_prefix_files(prefix, tests_path): if os.path.isdir(tests_path): @@ -116,8 +108,6 @@ def get_output(root, out_file, case_out_path, flags, checkname, bcanalyzer): # Format output. output = output.replace('blob data = \'test\'', 'blob data = \'{{.*}}\'') - output = re.sub(YAML_USR_REGEX, YAML_USR, output) - output = re.sub(BITCODE_USR_REGEX, BITCODE_USR, output) output = CHECK.format(checkname) + output.rstrip() output = run_cmd + output.replace('\n', '\n' + CHECK_NEXT.format(checkname)) diff --git a/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp b/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp index 6e4a92d7b06..9e89e8568be 100644 --- a/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp +++ b/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp @@ -121,24 +121,9 @@ bool DumpResultToFile(const Twine &DirName, const Twine &FileName, return false; } -// A function to extract the appropriate path name for a given info's -// documentation. The path returned is a composite of the parent namespaces as -// directories plus the decl name as the filename. -// -// Example: Given the below, the <ext> path for class C will be < -// root>/A/B/C.<ext> -// -// namespace A { -// namesapce B { -// -// class C {}; -// -// } -// } llvm::Expected<llvm::SmallString<128>> -getInfoOutputFile(StringRef Root, - llvm::SmallVectorImpl<doc::Reference> &Namespaces, - StringRef Name, StringRef Ext) { +getPath(StringRef Root, StringRef Ext, StringRef Name, + llvm::SmallVectorImpl<doc::Reference> &Namespaces) { std::error_code OK; llvm::SmallString<128> Path; llvm::sys::path::native(Root, Path); @@ -149,8 +134,6 @@ getInfoOutputFile(StringRef Root, return llvm::make_error<llvm::StringError>("Unable to create directory.\n", llvm::inconvertibleErrorCode()); - if (Name.empty()) - Name = "GlobalNamespace"; llvm::sys::path::append(Path, Name + Ext); return Path; } @@ -163,30 +146,6 @@ std::string getFormatString(OutputFormatTy Ty) { llvm_unreachable("Unknown OutputFormatTy"); } -// Iterate through tool results and build string map of info vectors from the -// encoded bitstreams. -bool bitcodeResultsToInfos( - tooling::ToolResults &Results, - llvm::StringMap<std::vector<std::unique_ptr<doc::Info>>> &Output) { - bool Err = false; - Results.forEachResult([&](StringRef Key, StringRef Value) { - llvm::BitstreamCursor Stream(Value); - doc::ClangDocBitcodeReader Reader(Stream); - auto Infos = Reader.readBitcode(); - if (!Infos) { - llvm::errs() << toString(Infos.takeError()) << "\n"; - Err = true; - return; - } - for (auto &I : Infos.get()) { - auto R = - Output.try_emplace(Key, std::vector<std::unique_ptr<doc::Info>>()); - R.first->second.emplace_back(std::move(I)); - } - }); - return Err; -} - int main(int argc, const char **argv) { llvm::sys::PrintStackTraceOnErrorSignal(argv[0]); std::error_code OK; @@ -237,21 +196,30 @@ int main(int argc, const char **argv) { } // Collect values into output by key. + llvm::outs() << "Collecting infos...\n"; + llvm::StringMap<std::vector<std::unique_ptr<doc::Info>>> MapOutput; + // In ToolResults, the Key is the hashed USR and the value is the // bitcode-encoded representation of the Info object. - llvm::outs() << "Collecting infos...\n"; - llvm::StringMap<std::vector<std::unique_ptr<doc::Info>>> USRToInfos; - if (bitcodeResultsToInfos(*Exec->get()->getToolResults(), USRToInfos)) - return 1; + Exec->get()->getToolResults()->forEachResult([&](StringRef Key, + StringRef Value) { + llvm::BitstreamCursor Stream(Value); + doc::ClangDocBitcodeReader Reader(Stream); + auto Infos = Reader.readBitcode(); + for (auto &I : Infos) { + auto R = + MapOutput.try_emplace(Key, std::vector<std::unique_ptr<doc::Info>>()); + R.first->second.emplace_back(std::move(I)); + } + }); - // First reducing phase (reduce all decls into one info per decl). - llvm::outs() << "Reducing " << USRToInfos.size() << " infos...\n"; - for (auto &Group : USRToInfos) { + // Reducing and generation phases + llvm::outs() << "Reducing " << MapOutput.size() << " infos...\n"; + llvm::StringMap<std::unique_ptr<doc::Info>> ReduceOutput; + for (auto &Group : MapOutput) { auto Reduced = doc::mergeInfos(Group.getValue()); - if (!Reduced) { + if (!Reduced) llvm::errs() << llvm::toString(Reduced.takeError()); - continue; - } if (DumpIntermediateResult) { SmallString<4096> Buffer; @@ -262,10 +230,10 @@ int main(int argc, const char **argv) { llvm::errs() << "Error dumping to bitcode.\n"; continue; } - doc::Info *I = Reduced.get().get(); - auto InfoPath = - getInfoOutputFile(OutDirectory, I->Namespace, I->Name, "." + Format); + // Create the relevant ostream and emit the documentation for this decl. + doc::Info *I = Reduced.get().get(); + auto InfoPath = getPath(OutDirectory, "." + Format, I->Name, I->Namespace); if (!InfoPath) { llvm::errs() << toString(InfoPath.takeError()) << "\n"; continue; @@ -273,7 +241,7 @@ int main(int argc, const char **argv) { std::error_code FileErr; llvm::raw_fd_ostream InfoOS(InfoPath.get(), FileErr, llvm::sys::fs::F_None); if (FileErr != OK) { - llvm::errs() << "Error opening info file: " << FileErr.message() << "\n"; + llvm::errs() << "Error opening index file: " << FileErr.message() << "\n"; continue; } diff --git a/clang-tools-extra/test/clang-doc/bc-comment.cpp b/clang-tools-extra/test/clang-doc/bc-comment.cpp index 3b006ab8a6c..fa3ea7f7103 100644 --- a/clang-tools-extra/test/clang-doc/bc-comment.cpp +++ b/clang-tools-extra/test/clang-doc/bc-comment.cpp @@ -27,178 +27,176 @@ void F(int I, int J); /// Bonus comment on definition void F(int I, int J) {} -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --dump-intermediate --doxygen -p %t %t/test.cpp -output=%t/docs -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/7574630614A535710E5A6ABCFFF98BCA2D06A4CA.bc | FileCheck %s --check-prefix CHECK-0 // CHECK-0: <BLOCKINFO_BLOCK/> // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-0-NEXT: <Version abbrevid=4 op0=2/> // CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <NamespaceBlock NumWords=432 BlockCodeSize=4> -// CHECK-0-NEXT: <FunctionBlock NumWords=429 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' -// CHECK-0-NEXT: <CommentBlock NumWords=354 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment' -// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> +// CHECK-0-NEXT: <FunctionBlock NumWords=429 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=117 op2=116 op3=99 op4=6 op5=20 op6=165 op7=53 op8=113 op9=14 op10=90 op11=106 op12=188 op13=255 op14=249 op15=139 op16=202 op17=45 op18=6 op19=164 op20=202/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' +// CHECK-0-NEXT: <CommentBlock NumWords=354 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment' +// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' +// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=31 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment' +// CHECK-0-NEXT: <Name abbrevid=6 op0=5/> blob data = 'brief' +// CHECK-0-NEXT: <CommentBlock NumWords=19 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> +// CHECK-0-NEXT: <CommentBlock NumWords=11 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: <Text abbrevid=5 op0=19/> blob data = ' Brief description.' // CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=31 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment' -// CHECK-0-NEXT: <Name abbrevid=6 op0=5/> blob data = 'brief' -// CHECK-0-NEXT: <CommentBlock NumWords=19 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=11 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=19/> blob data = ' Brief description.' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=37 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' +// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: <Text abbrevid=5 op0=26/> blob data = ' Extended description that' // CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=37 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=26/> blob data = ' Extended description that' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=14 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=30/> blob data = ' continues onto the next line.' -// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=14 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: <Text abbrevid=5 op0=30/> blob data = ' continues onto the next line.' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=76 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' +// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' // CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=76 BlockCodeSize=4> +// CHECK-0-NEXT: <CommentBlock NumWords=14 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment' +// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'ul' +// CHECK-0-NEXT: <AttrKey abbrevid=12 op0=5/> blob data = 'class' +// CHECK-0-NEXT: <AttrVal abbrevid=13 op0=4/> blob data = '{{.*}}' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment' +// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'li' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: <Text abbrevid=5 op0=9/> blob data = ' Testing.' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=17/> blob data = 'HTMLEndTagComment' +// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'ul' +// CHECK-0-NEXT: <SelfClosing abbrevid=10 op0=1/> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' +// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=32 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=20/> blob data = 'VerbatimBlockComment' +// CHECK-0-NEXT: <Name abbrevid=6 op0=8/> blob data = 'verbatim' +// CHECK-0-NEXT: <CloseName abbrevid=9 op0=11/> blob data = 'endverbatim' +// CHECK-0-NEXT: <CommentBlock NumWords=16 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=24/> blob data = 'VerbatimBlockLineComment' +// CHECK-0-NEXT: <Text abbrevid=5 op0=27/> blob data = ' The description continues.' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=22 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' +// CHECK-0-NEXT: <CommentBlock NumWords=7 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: <Text abbrevid=5 op0=3/> blob data = ' --' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=39 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment' +// CHECK-0-NEXT: <Direction abbrevid=7 op0=5/> blob data = '[out]' +// CHECK-0-NEXT: <ParamName abbrevid=8 op0=1/> blob data = 'I' +// CHECK-0-NEXT: <Explicit abbrevid=11 op0=1/> +// CHECK-0-NEXT: <CommentBlock NumWords=25 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=14 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment' -// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'ul' -// CHECK-0-NEXT: <AttrKey abbrevid=12 op0=5/> blob data = 'class' -// CHECK-0-NEXT: <AttrVal abbrevid=13 op0=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment' -// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'li' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4> +// CHECK-0-NEXT: <CommentBlock NumWords=10 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=9/> blob data = ' Testing.' +// CHECK-0-NEXT: <Text abbrevid=5 op0=16/> blob data = ' is a parameter.' // CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' // CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=17/> blob data = 'HTMLEndTagComment' -// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'ul' -// CHECK-0-NEXT: <SelfClosing abbrevid=10 op0=1/> -// CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=32 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=20/> blob data = 'VerbatimBlockComment' -// CHECK-0-NEXT: <Name abbrevid=6 op0=8/> blob data = 'verbatim' -// CHECK-0-NEXT: <CloseName abbrevid=9 op0=11/> blob data = 'endverbatim' -// CHECK-0-NEXT: <CommentBlock NumWords=16 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=24/> blob data = 'VerbatimBlockLineComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=27/> blob data = ' The description continues.' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=22 BlockCodeSize=4> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=38 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment' +// CHECK-0-NEXT: <Direction abbrevid=7 op0=4/> blob data = '[in]' +// CHECK-0-NEXT: <ParamName abbrevid=8 op0=1/> blob data = 'J' +// CHECK-0-NEXT: <CommentBlock NumWords=25 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=7 BlockCodeSize=4> +// CHECK-0-NEXT: <CommentBlock NumWords=10 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=3/> blob data = ' --' +// CHECK-0-NEXT: <Text abbrevid=5 op0=16/> blob data = ' is a parameter.' // CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' // CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=39 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment' -// CHECK-0-NEXT: <Direction abbrevid=7 op0=5/> blob data = '[out]' -// CHECK-0-NEXT: <ParamName abbrevid=8 op0=1/> blob data = 'I' -// CHECK-0-NEXT: <Explicit abbrevid=11 op0=1/> -// CHECK-0-NEXT: <CommentBlock NumWords=25 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=16/> blob data = ' is a parameter.' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=38 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment' -// CHECK-0-NEXT: <Direction abbrevid=7 op0=4/> blob data = '[in]' -// CHECK-0-NEXT: <ParamName abbrevid=8 op0=1/> blob data = 'J' -// CHECK-0-NEXT: <CommentBlock NumWords=25 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=16/> blob data = ' is a parameter.' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <CommentBlock NumWords=28 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment' -// CHECK-0-NEXT: <Name abbrevid=6 op0=6/> blob data = 'return' -// CHECK-0-NEXT: <CommentBlock NumWords=16 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=5/> blob data = ' void' -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: <CommentBlock NumWords=28 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment' -// CHECK-0-NEXT: <CommentBlock NumWords=21 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment' +// CHECK-0-NEXT: <Name abbrevid=6 op0=6/> blob data = 'return' +// CHECK-0-NEXT: <CommentBlock NumWords=16 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> +// CHECK-0-NEXT: <CommentBlock NumWords=8 BlockCodeSize=4> // CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition' +// CHECK-0-NEXT: <Text abbrevid=5 op0=5/> blob data = ' void' // CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <Location abbrevid=7 op0=25 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'I' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'J' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: </NamespaceBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <CommentBlock NumWords=28 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment' +// CHECK-0-NEXT: <CommentBlock NumWords=21 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' +// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition' +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}' +// CHECK-0-NEXT: <Location abbrevid=7 op0=25 op1=4/> blob data = '{{.*}}' +// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: </TypeBlock> +// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'I' +// CHECK-0-NEXT: </FieldTypeBlock> +// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'J' +// CHECK-0-NEXT: </FieldTypeBlock> +// CHECK-0-NEXT: </FunctionBlock> diff --git a/clang-tools-extra/test/clang-doc/bc-linkage.cpp b/clang-tools-extra/test/clang-doc/bc-linkage.cpp deleted file mode 100644 index 8fec0d351d9..00000000000 --- a/clang-tools-extra/test/clang-doc/bc-linkage.cpp +++ /dev/null @@ -1,844 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/C9B3B71ACDD84C5BB320D34E97677715CDB3EA32.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: <BLOCKINFO_BLOCK/> -// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-0-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <RecordBlock NumWords=107 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-0-NEXT: <ReferenceBlock NumWords=17 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=24 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-0-NEXT: <FunctionBlock NumWords=71 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod' -// CHECK-0-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <ReferenceBlock NumWords=17 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=26 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: <BLOCKINFO_BLOCK/> -// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-1-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-1-NEXT: </VersionBlock> -// CHECK-1-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-1-NEXT: <FunctionBlock NumWords=36 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=13/> blob data = 'namedFunction' -// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <Location abbrevid=7 op0=61 op1=4/> blob data = '{{.*}}' -// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-1-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: </TypeBlock> -// CHECK-1-NEXT: </FunctionBlock> -// CHECK-1-NEXT: <FunctionBlock NumWords=37 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=19/> blob data = 'namedStaticFunction' -// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <Location abbrevid=7 op0=62 op1=4/> blob data = '{{.*}}' -// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-1-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: </TypeBlock> -// CHECK-1-NEXT: </FunctionBlock> -// CHECK-1-NEXT: <FunctionBlock NumWords=37 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction' -// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}' -// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-1-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: </TypeBlock> -// CHECK-1-NEXT: </FunctionBlock> -// CHECK-1-NEXT: </NamespaceBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/74A031CBE68C101F3E83F60ED17F20C11EC19D48.bc | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: <BLOCKINFO_BLOCK/> -// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-2-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-2-NEXT: </VersionBlock> -// CHECK-2-NEXT: <RecordBlock NumWords=105 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-2-NEXT: <ReferenceBlock NumWords=16 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass' -// CHECK-2-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=69 op1=4/> blob data = '{{.*}}' -// CHECK-2-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-2-NEXT: <FunctionBlock NumWords=70 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod' -// CHECK-2-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-2-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: <ReferenceBlock NumWords=16 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass' -// CHECK-2-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=71 op1=4/> blob data = '{{.*}}' -// CHECK-2-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-2-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-2-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-2-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-2-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: </TypeBlock> -// CHECK-2-NEXT: </FunctionBlock> -// CHECK-2-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: <BLOCKINFO_BLOCK/> -// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-3-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-3-NEXT: </VersionBlock> -// CHECK-3-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=32 op1=4/> blob data = '{{.*}}' -// CHECK-3-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-3-NEXT: <MemberTypeBlock NumWords=10 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <Name abbrevid=4 op0=11/> blob data = 'publicField' -// CHECK-3-NEXT: <Access abbrevid=5 op0=3/> -// CHECK-3-NEXT: </MemberTypeBlock> -// CHECK-3-NEXT: <MemberTypeBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <Name abbrevid=4 op0=14/> blob data = 'protectedField' -// CHECK-3-NEXT: <Access abbrevid=5 op0=1/> -// CHECK-3-NEXT: </MemberTypeBlock> -// CHECK-3-NEXT: <MemberTypeBlock NumWords=10 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <Name abbrevid=4 op0=12/> blob data = 'privateField' -// CHECK-3-NEXT: <Access abbrevid=5 op0=2/> -// CHECK-3-NEXT: </MemberTypeBlock> -// CHECK-3-NEXT: <FunctionBlock NumWords=48 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=12/> blob data = 'publicMethod' -// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-3-NEXT: <Location abbrevid=7 op0=34 op1=4/> blob data = '{{.*}}' -// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: </TypeBlock> -// CHECK-3-NEXT: </FunctionBlock> -// CHECK-3-NEXT: <FunctionBlock NumWords=49 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=15/> blob data = 'protectedMethod' -// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-3-NEXT: <Location abbrevid=7 op0=38 op1=4/> blob data = '{{.*}}' -// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: </TypeBlock> -// CHECK-3-NEXT: </FunctionBlock> -// CHECK-3-NEXT: <FunctionBlock NumWords=49 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=13/> blob data = 'privateMethod' -// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-3-NEXT: <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}' -// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: </TypeBlock> -// CHECK-3-NEXT: </FunctionBlock> -// CHECK-3-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/85427901413EC77C961019EBB3ADEF7B0BAAFE78.bc | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: <BLOCKINFO_BLOCK/> -// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-4-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-4-NEXT: </VersionBlock> -// CHECK-4-NEXT: <RecordBlock NumWords=103 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-4-NEXT: <ReferenceBlock NumWords=15 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-4-NEXT: <FunctionBlock NumWords=69 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod' -// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <ReferenceBlock NumWords=15 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-4-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-4-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-4-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: </TypeBlock> -// CHECK-4-NEXT: </FunctionBlock> -// CHECK-4-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: <BLOCKINFO_BLOCK/> -// CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-5-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-5-NEXT: </VersionBlock> -// CHECK-5-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4> -// CHECK-5-NEXT: <FunctionBlock NumWords=31 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=8/> blob data = 'function' -// CHECK-5-NEXT: <Location abbrevid=7 op0=10 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: </TypeBlock> -// CHECK-5-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-5-NEXT: </FieldTypeBlock> -// CHECK-5-NEXT: </FunctionBlock> -// CHECK-5-NEXT: <FunctionBlock NumWords=33 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=15/> blob data = 'inlinedFunction' -// CHECK-5-NEXT: <Location abbrevid=7 op0=12 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: </TypeBlock> -// CHECK-5-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-5-NEXT: </FieldTypeBlock> -// CHECK-5-NEXT: </FunctionBlock> -// CHECK-5-NEXT: <FunctionBlock NumWords=35 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=14 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: </TypeBlock> -// CHECK-5-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-5-NEXT: </FieldTypeBlock> -// CHECK-5-NEXT: </FunctionBlock> -// CHECK-5-NEXT: <FunctionBlock NumWords=37 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: </TypeBlock> -// CHECK-5-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-5-NEXT: </FieldTypeBlock> -// CHECK-5-NEXT: </FunctionBlock> -// CHECK-5-NEXT: <FunctionBlock NumWords=33 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=14/> blob data = 'staticFunction' -// CHECK-5-NEXT: <Location abbrevid=7 op0=66 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: </TypeBlock> -// CHECK-5-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-5-NEXT: </FieldTypeBlock> -// CHECK-5-NEXT: </FunctionBlock> -// CHECK-5-NEXT: <FunctionBlock NumWords=36 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: </TypeBlock> -// CHECK-5-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-5-NEXT: </FieldTypeBlock> -// CHECK-5-NEXT: </FunctionBlock> -// CHECK-5-NEXT: </NamespaceBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: <BLOCKINFO_BLOCK/> -// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-6-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-6-NEXT: </VersionBlock> -// CHECK-6-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=47 op1=4/> blob data = '{{.*}}' -// CHECK-6-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-6-NEXT: <MemberTypeBlock NumWords=11 BlockCodeSize=4> -// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-6-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <Name abbrevid=4 op0=16/> blob data = 'namedPublicField' -// CHECK-6-NEXT: <Access abbrevid=5 op0=3/> -// CHECK-6-NEXT: </MemberTypeBlock> -// CHECK-6-NEXT: <MemberTypeBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-6-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <Name abbrevid=4 op0=19/> blob data = 'namedProtectedField' -// CHECK-6-NEXT: <Access abbrevid=5 op0=1/> -// CHECK-6-NEXT: </MemberTypeBlock> -// CHECK-6-NEXT: <MemberTypeBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-6-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <Name abbrevid=4 op0=17/> blob data = 'namedPrivateField' -// CHECK-6-NEXT: <Access abbrevid=5 op0=2/> -// CHECK-6-NEXT: </MemberTypeBlock> -// CHECK-6-NEXT: <FunctionBlock NumWords=65 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=17/> blob data = 'namedPublicMethod' -// CHECK-6-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-6-NEXT: <Location abbrevid=7 op0=49 op1=4/> blob data = '{{.*}}' -// CHECK-6-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-6-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: </TypeBlock> -// CHECK-6-NEXT: </FunctionBlock> -// CHECK-6-NEXT: <FunctionBlock NumWords=65 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=20/> blob data = 'namedProtectedMethod' -// CHECK-6-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-6-NEXT: <Location abbrevid=7 op0=53 op1=4/> blob data = '{{.*}}' -// CHECK-6-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-6-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: </TypeBlock> -// CHECK-6-NEXT: </FunctionBlock> -// CHECK-6-NEXT: <FunctionBlock NumWords=65 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod' -// CHECK-6-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-6-NEXT: <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}' -// CHECK-6-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-6-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: </TypeBlock> -// CHECK-6-NEXT: </FunctionBlock> -// CHECK-6-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-7 -// CHECK-7: <BLOCKINFO_BLOCK/> -// CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-7-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-7-NEXT: </VersionBlock> -// CHECK-7-NEXT: <RecordBlock NumWords=252 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=78 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-7-NEXT: <MemberTypeBlock NumWords=11 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <Name abbrevid=4 op0=15/> blob data = 'anonPublicField' -// CHECK-7-NEXT: <Access abbrevid=5 op0=3/> -// CHECK-7-NEXT: </MemberTypeBlock> -// CHECK-7-NEXT: <MemberTypeBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <Name abbrevid=4 op0=18/> blob data = 'anonProtectedField' -// CHECK-7-NEXT: <Access abbrevid=5 op0=1/> -// CHECK-7-NEXT: </MemberTypeBlock> -// CHECK-7-NEXT: <MemberTypeBlock NumWords=11 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <Name abbrevid=4 op0=16/> blob data = 'anonPrivateField' -// CHECK-7-NEXT: <Access abbrevid=5 op0=2/> -// CHECK-7-NEXT: </MemberTypeBlock> -// CHECK-7-NEXT: <FunctionBlock NumWords=60 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=16/> blob data = 'anonPublicMethod' -// CHECK-7-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-7-NEXT: <Location abbrevid=7 op0=80 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: </TypeBlock> -// CHECK-7-NEXT: </FunctionBlock> -// CHECK-7-NEXT: <FunctionBlock NumWords=61 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=19/> blob data = 'anonProtectedMethod' -// CHECK-7-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-7-NEXT: <Location abbrevid=7 op0=84 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: </TypeBlock> -// CHECK-7-NEXT: </FunctionBlock> -// CHECK-7-NEXT: <FunctionBlock NumWords=61 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod' -// CHECK-7-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-7-NEXT: <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: </TypeBlock> -// CHECK-7-NEXT: </FunctionBlock> -// CHECK-7-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-8 -// CHECK-8: <BLOCKINFO_BLOCK/> -// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-8-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-8-NEXT: </VersionBlock> -// CHECK-8-NEXT: <NamespaceBlock NumWords=109 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <FunctionBlock NumWords=31 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <Name abbrevid=5 op0=12/> blob data = 'anonFunction' -// CHECK-8-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-8-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: <Location abbrevid=7 op0=92 op1=4/> blob data = '{{.*}}' -// CHECK-8-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-8-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: </TypeBlock> -// CHECK-8-NEXT: </FunctionBlock> -// CHECK-8-NEXT: <FunctionBlock NumWords=33 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <Name abbrevid=5 op0=18/> blob data = 'anonStaticFunction' -// CHECK-8-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-8-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: <Location abbrevid=7 op0=93 op1=4/> blob data = '{{.*}}' -// CHECK-8-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-8-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: </TypeBlock> -// CHECK-8-NEXT: </FunctionBlock> -// CHECK-8-NEXT: <FunctionBlock NumWords=33 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction' -// CHECK-8-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-8-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}' -// CHECK-8-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-8-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: </TypeBlock> -// CHECK-8-NEXT: </FunctionBlock> -// CHECK-8-NEXT: </NamespaceBlock> diff --git a/clang-tools-extra/test/clang-doc/bc-module.cpp b/clang-tools-extra/test/clang-doc/bc-module.cpp deleted file mode 100644 index 101d8da8564..00000000000 --- a/clang-tools-extra/test/clang-doc/bc-module.cpp +++ /dev/null @@ -1,87 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage - -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: <BLOCKINFO_BLOCK/> -// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-0-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <NamespaceBlock NumWords=121 BlockCodeSize=4> -// CHECK-0-NEXT: <FunctionBlock NumWords=33 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=14/> blob data = 'moduleFunction' -// CHECK-0-NEXT: <Location abbrevid=7 op0=11 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: <FunctionBlock NumWords=34 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=20/> blob data = 'staticModuleFunction' -// CHECK-0-NEXT: <Location abbrevid=7 op0=13 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: <FunctionBlock NumWords=47 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=22/> blob data = 'exportedModuleFunction' -// CHECK-0-NEXT: <Location abbrevid=7 op0=15 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TypeBlock NumWords=7 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=4 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=6/> blob data = 'double' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=9 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=4 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=6/> blob data = 'double' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'y' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'z' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: </NamespaceBlock> diff --git a/clang-tools-extra/test/clang-doc/bc-namespace.cpp b/clang-tools-extra/test/clang-doc/bc-namespace.cpp index 79b35bd9a7f..b1c03636c9c 100644 --- a/clang-tools-extra/test/clang-doc/bc-namespace.cpp +++ b/clang-tools-extra/test/clang-doc/bc-namespace.cpp @@ -25,97 +25,115 @@ E func(int i) { return X; } } // namespace B } // namespace A -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --dump-intermediate --doxygen -p %t %t/test.cpp -output=%t/docs -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-0 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/E9ABF7E7E2425B626723D41E76E4BC7E7A5BD775.bc | FileCheck %s --check-prefix CHECK-0 // CHECK-0: <BLOCKINFO_BLOCK/> // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-0-NEXT: <Version abbrevid=4 op0=2/> // CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <NamespaceBlock NumWords=46 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-0-NEXT: <FunctionBlock NumWords=35 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'f' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <Location abbrevid=7 op0=11 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: </NamespaceBlock> +// CHECK-0-NEXT: <EnumBlock NumWords=38 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=233 op2=171 op3=247 op4=231 op5=226 op6=66 op7=91 op8=98 op9=103 op10=35 op11=212 op12=30 op13=118 op14=228 op15=188 op16=126 op17=122 op18=91 op19=215 op20=117/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}' +// CHECK-0-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X' +// CHECK-0-NEXT: </EnumBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-1 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/39D3C95A5F7CE2BA4937BD7B01BAE09EBC2AD8AC.bc | FileCheck %s --check-prefix CHECK-1 // CHECK-1: <BLOCKINFO_BLOCK/> // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-1-NEXT: <Version abbrevid=4 op0=2/> // CHECK-1-NEXT: </VersionBlock> -// CHECK-1-NEXT: <NamespaceBlock NumWords=119 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-1-NEXT: <FunctionBlock NumWords=35 BlockCodeSize=4> +// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1=57 op2=211 op3=201 op4=90 op5=95 op6=124 op7=226 op8=186 op9=73 op10=55 op11=189 op12=123 op13=1 op14=186 op15=224 op16=158 op17=188 op18=42 op19=216 op20=172/> +// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'f' // CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> // CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' // CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> // CHECK-1-NEXT: <Field abbrevid=7 op0=1/> // CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <FunctionBlock NumWords=56 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=4/> blob data = 'func' -// CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' +// CHECK-1-NEXT: <Location abbrevid=7 op0=11 op1=4/> blob data = '{{.*}}' +// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-1-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> // CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' -// CHECK-1-NEXT: <TypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-1-NEXT: <ReferenceBlock NumWords=5 BlockCodeSize=4> -// CHECK-1-NEXT: <Name abbrevid=5 op0=12/> blob data = 'enum A::B::E' -// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: </TypeBlock> -// CHECK-1-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-1-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <Name abbrevid=4 op0=1/> blob data = 'i' -// CHECK-1-NEXT: </FieldTypeBlock> -// CHECK-1-NEXT: </FunctionBlock> -// CHECK-1-NEXT: <EnumBlock NumWords=38 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}' -// CHECK-1-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X' -// CHECK-1-NEXT: </EnumBlock> -// CHECK-1-NEXT: </NamespaceBlock> +// CHECK-1-NEXT: </TypeBlock> +// CHECK-1-NEXT: </FunctionBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/9A82CB33ED0FDF81EE383D31CD0957D153C5E840.bc | FileCheck %s --check-prefix CHECK-2 +// CHECK-2: <BLOCKINFO_BLOCK/> +// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-2-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-2-NEXT: </VersionBlock> +// CHECK-2-NEXT: <FunctionBlock NumWords=56 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=154 op2=130 op3=203 op4=51 op5=237 op6=15 op7=223 op8=129 op9=238 op10=56 op11=61 op12=49 op13=205 op14=9 op15=87 op16=209 op17=83 op18=197 op19=232 op20=64/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=4/> blob data = 'func' +// CHECK-2-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-2-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-2-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' +// CHECK-2-NEXT: <TypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-2-NEXT: <ReferenceBlock NumWords=5 BlockCodeSize=4> +// CHECK-2-NEXT: <Name abbrevid=5 op0=12/> blob data = 'enum A::B::E' +// CHECK-2-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: </TypeBlock> +// CHECK-2-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-2-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-2-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <Name abbrevid=4 op0=1/> blob data = 'i' +// CHECK-2-NEXT: </FieldTypeBlock> +// CHECK-2-NEXT: </FunctionBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-3 +// CHECK-3: <BLOCKINFO_BLOCK/> +// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-3-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-3-NEXT: </VersionBlock> +// CHECK-3-NEXT: <NamespaceBlock NumWords=9 BlockCodeSize=4> +// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-3-NEXT: </NamespaceBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-4 +// CHECK-4: <BLOCKINFO_BLOCK/> +// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-4-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-4-NEXT: </VersionBlock> +// CHECK-4-NEXT: <NamespaceBlock NumWords=21 BlockCodeSize=4> +// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-4-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-4-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-4-NEXT: </ReferenceBlock> +// CHECK-4-NEXT: </NamespaceBlock> diff --git a/clang-tools-extra/test/clang-doc/bc-record.cpp b/clang-tools-extra/test/clang-doc/bc-record.cpp index a0e2244856a..7a09118c711 100644 --- a/clang-tools-extra/test/clang-doc/bc-record.cpp +++ b/clang-tools-extra/test/clang-doc/bc-record.cpp @@ -39,7 +39,7 @@ class X { class Y {}; }; -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --dump-intermediate --doxygen -p %t %t/test.cpp -output=%t/docs // RUN: llvm-bcanalyzer --dump %t/docs/bc/289584A8E0FF4178A794622A547AA622503967A1.bc | FileCheck %s --check-prefix CHECK-0 @@ -47,84 +47,11 @@ class X { // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-0-NEXT: <Version abbrevid=4 op0=2/> // CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <RecordBlock NumWords=157 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-0-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> // CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' // CHECK-0-NEXT: <DefLocation abbrevid=6 op0=25 op1=4/> blob data = '{{.*}}' // CHECK-0-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-0-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=27 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=2/> blob data = '~E' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: <FunctionBlock NumWords=50 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=15/> blob data = 'ProtectedMethod' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=34 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <Location abbrevid=7 op0=31 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: </FunctionBlock> // CHECK-0-NEXT: </RecordBlock> // RUN: llvm-bcanalyzer --dump %t/docs/bc/3FB542274573CAEAD54CEBFFCAEE3D77FB9713D8.bc | FileCheck %s --check-prefix CHECK-1 @@ -133,10 +60,10 @@ class X { // CHECK-1-NEXT: <Version abbrevid=4 op0=2/> // CHECK-1-NEXT: </VersionBlock> // CHECK-1-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1=63 op2=181 op3=66 op4=39 op5=69 op6=115 op7=202 op8=234 op9=213 op10=76 op11=235 op12=255 op13=202 op14=238 op15=61 op16=119 op17=251 op18=151 op19=19 op20=216/> // CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'I' // CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1=182 op2=172 op3=76 op4=92 op5=159 op6=46 op7=163 op8=242 op9=179 op10=236 op11=225 op12=163 op13=61 op14=52 op15=159 op16=78 op17=229 op18=2 op19=178 op20=78/> // CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'H' // CHECK-1-NEXT: <RefType abbrevid=6 op0=3/> // CHECK-1-NEXT: <Field abbrevid=7 op0=1/> @@ -145,149 +72,250 @@ class X { // CHECK-1-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-1-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-2 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/5093D428CDC62096A67547BA52566E4FB9404EEE.bc | FileCheck %s --check-prefix CHECK-2 // CHECK-2: <BLOCKINFO_BLOCK/> // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-2-NEXT: <Version abbrevid=4 op0=2/> // CHECK-2-NEXT: </VersionBlock> -// CHECK-2-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' -// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}' -// CHECK-2-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-2-NEXT: </RecordBlock> +// CHECK-2-NEXT: <FunctionBlock NumWords=50 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=80 op2=147 op3=212 op4=40 op5=205 op6=198 op7=32 op8=150 op9=166 op10=117 op11=71 op12=186 op13=82 op14=86 op15=110 op16=79 op17=185 op18=64 op19=78 op20=238/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=15/> blob data = 'ProtectedMethod' +// CHECK-2-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-2-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <IsMethod abbrevid=9 op0=1/> +// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=34 op1=4/> blob data = '{{.*}}' +// CHECK-2-NEXT: <Location abbrevid=7 op0=31 op1=4/> blob data = '{{.*}}' +// CHECK-2-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-2-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-2-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-2-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-2-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: </TypeBlock> +// CHECK-2-NEXT: </FunctionBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-3 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-3 // CHECK-3: <BLOCKINFO_BLOCK/> // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-3-NEXT: <Version abbrevid=4 op0=2/> // CHECK-3-NEXT: </VersionBlock> -// CHECK-3-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'C' -// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}' -// CHECK-3-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <Name abbrevid=4 op0=1/> blob data = 'i' -// CHECK-3-NEXT: <Access abbrevid=5 op0=3/> -// CHECK-3-NEXT: </MemberTypeBlock> +// CHECK-3-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> +// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1=202 op2=124 op3=121 op4=53 op5=115 op6=11 op7=94 op8=172 op9=210 op10=95 op11=8 op12=14 op13=156 op14=131 op15=250 op16=8 op17=124 op18=205 op19=199 op20=94/> +// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' +// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}' +// CHECK-3-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-3-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E.bc | FileCheck %s --check-prefix CHECK-4 // CHECK-4: <BLOCKINFO_BLOCK/> // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-4-NEXT: <Version abbrevid=4 op0=2/> // CHECK-4-NEXT: </VersionBlock> -// CHECK-4-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'Y' -// CHECK-4-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-4-NEXT: </RecordBlock> +// CHECK-4-NEXT: <FunctionBlock NumWords=20 BlockCodeSize=4> +// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1=182 op2=172 op3=76 op4=92 op5=159 op6=46 op7=163 op8=242 op9=179 op10=236 op11=225 op12=163 op13=61 op14=52 op15=159 op16=78 op17=229 op18=2 op19=178 op20=78/> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'H' +// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}' +// CHECK-4-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-4-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-4-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-4-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-4-NEXT: </ReferenceBlock> +// CHECK-4-NEXT: </TypeBlock> +// CHECK-4-NEXT: </FunctionBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-5 // CHECK-5: <BLOCKINFO_BLOCK/> // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-5-NEXT: <Version abbrevid=4 op0=2/> // CHECK-5-NEXT: </VersionBlock> -// CHECK-5-NEXT: <NamespaceBlock NumWords=59 BlockCodeSize=4> -// CHECK-5-NEXT: <FunctionBlock NumWords=20 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=1/> blob data = 'H' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: </TypeBlock> -// CHECK-5-NEXT: </FunctionBlock> -// CHECK-5-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X' -// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'Y' -// CHECK-5-NEXT: </EnumBlock> -// CHECK-5-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=2/> blob data = 'Bc' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <Scoped abbrevid=9 op0=1/> -// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'A' -// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'B' -// CHECK-5-NEXT: </EnumBlock> -// CHECK-5-NEXT: </NamespaceBlock> +// CHECK-5-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4> +// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1=6 op2=181 op3=246 op4=161 op5=155 op6=169 op7=246 op8=168 op9=50 op10=225 op11=39 op12=201 op13=150 op14=130 op15=130 op16=185 op17=70 op18=25 op19=178 op20=16/> +// CHECK-5-NEXT: <Name abbrevid=5 op0=1/> blob data = 'C' +// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}' +// CHECK-5-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-5-NEXT: </ReferenceBlock> +// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'i' +// CHECK-5-NEXT: <Access abbrevid=5 op0=3/> +// CHECK-5-NEXT: </MemberTypeBlock> +// CHECK-5-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/BD2BDEBD423F80BACCEA75DE6D6622D355FC2D17.bc | FileCheck %s --check-prefix CHECK-6 // CHECK-6: <BLOCKINFO_BLOCK/> // CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-6-NEXT: <Version abbrevid=4 op0=2/> // CHECK-6-NEXT: </VersionBlock> -// CHECK-6-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' -// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' -// CHECK-6-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-6-NEXT: </RecordBlock> +// CHECK-6-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4> +// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1=189 op2=43 op3=222 op4=189 op5=66 op6=63 op7=128 op8=186 op9=204 op10=234 op11=117 op12=222 op13=109 op14=102 op15=34 op16=211 op17=85 op18=252 op19=45 op20=23/> +// CHECK-6-NEXT: <Name abbrevid=5 op0=2/> blob data = '~E' +// CHECK-6-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-6-NEXT: </ReferenceBlock> +// CHECK-6-NEXT: <IsMethod abbrevid=9 op0=1/> +// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}' +// CHECK-6-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-6-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-6-NEXT: </ReferenceBlock> +// CHECK-6-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-6-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-6-NEXT: </ReferenceBlock> +// CHECK-6-NEXT: </TypeBlock> +// CHECK-6-NEXT: </FunctionBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/DEB4AC1CD9253CD9EF7FBE6BCAC506D77984ABD4.bc | FileCheck %s --check-prefix CHECK-7 // CHECK-7: <BLOCKINFO_BLOCK/> // CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-7-NEXT: <Version abbrevid=4 op0=2/> // CHECK-7-NEXT: </VersionBlock> -// CHECK-7-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' -// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-7-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4> +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1=222 op2=180 op3=172 op4=28 op5=217 op6=37 op7=60 op8=217 op9=239 op10=127 op11=190 op12=107 op13=202 op14=197 op15=6 op16=215 op17=121 op18=132 op19=171 op20=212/> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' // CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> // CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' // CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> // CHECK-7-NEXT: </ReferenceBlock> +// CHECK-7-NEXT: <IsMethod abbrevid=9 op0=1/> +// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=27 op1=4/> blob data = '{{.*}}' // CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' // CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=3/> +// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> // CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: </RecordBlock> +// CHECK-7-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-7-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-7-NEXT: </ReferenceBlock> +// CHECK-7-NEXT: </TypeBlock> +// CHECK-7-NEXT: </FunctionBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-8 // CHECK-8: <BLOCKINFO_BLOCK/> // CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-8-NEXT: <Version abbrevid=4 op0=2/> // CHECK-8-NEXT: </VersionBlock> -// CHECK-8-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-8-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' -// CHECK-8-NEXT: <TagType abbrevid=8 op0=2/> -// CHECK-8-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-8-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: <Name abbrevid=4 op0=1/> blob data = 'X' -// CHECK-8-NEXT: <Access abbrevid=5 op0=3/> -// CHECK-8-NEXT: </MemberTypeBlock> -// CHECK-8-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-8-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: <Name abbrevid=4 op0=1/> blob data = 'Y' -// CHECK-8-NEXT: <Access abbrevid=5 op0=3/> -// CHECK-8-NEXT: </MemberTypeBlock> +// CHECK-8-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> +// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1=100 op2=26 op3=180 op4=163 op5=211 op6=99 op7=153 op8=149 op9=74 op10=205 op11=226 op12=156 op13=122 op14=136 op15=51 op16=3 op17=43 op18=244 op19=4 op20=114/> +// CHECK-8-NEXT: <Name abbrevid=5 op0=1/> blob data = 'Y' +// CHECK-8-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1=202 op2=124 op3=121 op4=53 op5=115 op6=11 op7=94 op8=172 op9=210 op10=95 op11=8 op12=14 op13=156 op14=131 op15=250 op16=8 op17=124 op18=205 op19=199 op20=94/> +// CHECK-8-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' +// CHECK-8-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-8-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-8-NEXT: </ReferenceBlock> +// CHECK-8-NEXT: <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}' +// CHECK-8-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-8-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/FC07BD34D5E77782C263FA944447929EA8753740.bc | FileCheck %s --check-prefix CHECK-9 +// CHECK-9: <BLOCKINFO_BLOCK/> +// CHECK-9-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-9-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-9-NEXT: </VersionBlock> +// CHECK-9-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-9-NEXT: <USR abbrevid=4 op0=20 op1=252 op2=7 op3=189 op4=52 op5=213 op6=231 op7=119 op8=130 op9=194 op10=99 op11=250 op12=148 op13=68 op14=71 op15=146 op16=158 op17=168 op18=117 op19=55 op20=64/> +// CHECK-9-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-9-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' +// CHECK-9-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X' +// CHECK-9-NEXT: <Member abbrevid=8 op0=1/> blob data = 'Y' +// CHECK-9-NEXT: </EnumBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-10 +// CHECK-10: <BLOCKINFO_BLOCK/> +// CHECK-10-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-10-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-10-NEXT: </VersionBlock> +// CHECK-10-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> +// CHECK-10-NEXT: <USR abbrevid=4 op0=20 op1=9 op2=33 op3=115 op4=117 op5=65 op6=32 op7=139 op8=143 op9=169 op10=187 op11=66 op12=182 op13=15 op14=120 op15=172 op16=29 op17=119 op18=154 op19=160 op20=84/> +// CHECK-10-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-10-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' +// CHECK-10-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-10-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-11 +// CHECK-11: <BLOCKINFO_BLOCK/> +// CHECK-11-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-11-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-11-NEXT: </VersionBlock> +// CHECK-11-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4> +// CHECK-11-NEXT: <USR abbrevid=4 op0=20 op1=227 op2=181 op3=71 op4=2 op5=250 op6=191 op7=244 op8=3 op9=112 op10=37 op11=186 op12=25 op13=79 op14=194 op15=124 op16=71 op17=0 op18=99 op19=48 op20=181/> +// CHECK-11-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' +// CHECK-11-NEXT: <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}' +// CHECK-11-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-11-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-11-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-11-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-11-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-11-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-11-NEXT: </ReferenceBlock> +// CHECK-11-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-11-NEXT: <USR abbrevid=4 op0=20 op1=9 op2=33 op3=115 op4=117 op5=65 op6=32 op7=139 op8=143 op9=169 op10=187 op11=66 op12=182 op13=15 op14=120 op15=172 op16=29 op17=119 op18=154 op19=160 op20=84/> +// CHECK-11-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-11-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-11-NEXT: <Field abbrevid=7 op0=3/> +// CHECK-11-NEXT: </ReferenceBlock> +// CHECK-11-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-12 +// CHECK-12: <BLOCKINFO_BLOCK/> +// CHECK-12-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-12-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-12-NEXT: </VersionBlock> +// CHECK-12-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4> +// CHECK-12-NEXT: <USR abbrevid=4 op0=20 op1=172 op2=232 op3=26 op4=250 op5=102 op6=39 op7=180 op8=206 op9=242 op10=180 op11=86 op12=251 op13=110 op14=18 op15=82 op16=146 op17=86 op18=116 op19=175 op20=126/> +// CHECK-12-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-12-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' +// CHECK-12-NEXT: <TagType abbrevid=8 op0=2/> +// CHECK-12-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-12-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-12-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-12-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-12-NEXT: </ReferenceBlock> +// CHECK-12-NEXT: <Name abbrevid=4 op0=1/> blob data = 'X' +// CHECK-12-NEXT: <Access abbrevid=5 op0=3/> +// CHECK-12-NEXT: </MemberTypeBlock> +// CHECK-12-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-12-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-12-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-12-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-12-NEXT: </ReferenceBlock> +// CHECK-12-NEXT: <Name abbrevid=4 op0=1/> blob data = 'Y' +// CHECK-12-NEXT: <Access abbrevid=5 op0=3/> +// CHECK-12-NEXT: </MemberTypeBlock> +// CHECK-12-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/1E3438A08BA22025C0B46289FF0686F92C8924C5.bc | FileCheck %s --check-prefix CHECK-13 +// CHECK-13: <BLOCKINFO_BLOCK/> +// CHECK-13-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-13-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-13-NEXT: </VersionBlock> +// CHECK-13-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-13-NEXT: <USR abbrevid=4 op0=20 op1=30 op2=52 op3=56 op4=160 op5=139 op6=162 op7=32 op8=37 op9=192 op10=180 op11=98 op12=137 op13=255 op14=6 op15=134 op16=249 op17=44 op18=137 op19=36 op20=197/> +// CHECK-13-NEXT: <Name abbrevid=5 op0=2/> blob data = 'Bc' +// CHECK-13-NEXT: <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}' +// CHECK-13-NEXT: <Scoped abbrevid=9 op0=1/> +// CHECK-13-NEXT: <Member abbrevid=8 op0=1/> blob data = 'A' +// CHECK-13-NEXT: <Member abbrevid=8 op0=1/> blob data = 'B' +// CHECK-13-NEXT: </EnumBlock> diff --git a/clang-tools-extra/test/clang-doc/mapper-comment.cpp b/clang-tools-extra/test/clang-doc/mapper-comment.cpp index efd3dc54c1d..da691b15632 100644 --- a/clang-tools-extra/test/clang-doc/mapper-comment.cpp +++ b/clang-tools-extra/test/clang-doc/mapper-comment.cpp @@ -27,48 +27,46 @@ void F(int I, int J); /// Bonus comment on definition void F(int I, int J) {} -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --dump-mapper --doxygen -p %t %t/test.cpp -output=%t/docs -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/7574630614A535710E5A6ABCFFF98BCA2D06A4CA.bc | FileCheck %s --check-prefix CHECK-0 // CHECK-0: <BLOCKINFO_BLOCK/> // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-0-NEXT: <Version abbrevid=4 op0=2/> // CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <NamespaceBlock NumWords=73 BlockCodeSize=4> -// CHECK-0-NEXT: <FunctionBlock NumWords=70 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' -// CHECK-0-NEXT: <CommentBlock NumWords=28 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment' -// CHECK-0-NEXT: <CommentBlock NumWords=21 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' -// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> -// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' -// CHECK-0-NEXT: <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition' -// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <FunctionBlock NumWords=70 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=117 op2=116 op3=99 op4=6 op5=20 op6=165 op7=53 op8=113 op9=14 op10=90 op11=106 op12=188 op13=255 op14=249 op15=139 op16=202 op17=45 op18=6 op19=164 op20=202/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' +// CHECK-0-NEXT: <CommentBlock NumWords=28 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment' +// CHECK-0-NEXT: <CommentBlock NumWords=21 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment' +// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4> +// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment' +// CHECK-0-NEXT: <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition' // CHECK-0-NEXT: </CommentBlock> // CHECK-0-NEXT: </CommentBlock> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'I' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'J' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: </NamespaceBlock> +// CHECK-0-NEXT: </CommentBlock> +// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}' +// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: </TypeBlock> +// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'I' +// CHECK-0-NEXT: </FieldTypeBlock> +// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'J' +// CHECK-0-NEXT: </FieldTypeBlock> +// CHECK-0-NEXT: </FunctionBlock> diff --git a/clang-tools-extra/test/clang-doc/mapper-linkage.cpp b/clang-tools-extra/test/clang-doc/mapper-linkage.cpp deleted file mode 100644 index 5b4fe7df36f..00000000000 --- a/clang-tools-extra/test/clang-doc/mapper-linkage.cpp +++ /dev/null @@ -1,402 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/C9B3B71ACDD84C5BB320D34E97677715CDB3EA32.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: <BLOCKINFO_BLOCK/> -// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-0-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <RecordBlock NumWords=79 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <FunctionBlock NumWords=71 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod' -// CHECK-0-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <ReferenceBlock NumWords=17 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=26 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: <BLOCKINFO_BLOCK/> -// CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-1-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-1-NEXT: </VersionBlock> -// CHECK-1-NEXT: <NamespaceBlock NumWords=45 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <FunctionBlock NumWords=37 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction' -// CHECK-1-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}' -// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-1-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: </TypeBlock> -// CHECK-1-NEXT: </FunctionBlock> -// CHECK-1-NEXT: </NamespaceBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/74A031CBE68C101F3E83F60ED17F20C11EC19D48.bc | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: <BLOCKINFO_BLOCK/> -// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-2-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-2-NEXT: </VersionBlock> -// CHECK-2-NEXT: <RecordBlock NumWords=78 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <FunctionBlock NumWords=70 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod' -// CHECK-2-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-2-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: <ReferenceBlock NumWords=16 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass' -// CHECK-2-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=71 op1=4/> blob data = '{{.*}}' -// CHECK-2-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-2-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-2-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-2-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-2-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-2-NEXT: </ReferenceBlock> -// CHECK-2-NEXT: </TypeBlock> -// CHECK-2-NEXT: </FunctionBlock> -// CHECK-2-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: <BLOCKINFO_BLOCK/> -// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-3-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-3-NEXT: </VersionBlock> -// CHECK-3-NEXT: <RecordBlock NumWords=57 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <FunctionBlock NumWords=49 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=13/> blob data = 'privateMethod' -// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-3-NEXT: <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}' -// CHECK-3-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=5/> blob data = 'Class' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: </TypeBlock> -// CHECK-3-NEXT: </FunctionBlock> -// CHECK-3-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/85427901413EC77C961019EBB3ADEF7B0BAAFE78.bc | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: <BLOCKINFO_BLOCK/> -// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-4-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-4-NEXT: </VersionBlock> -// CHECK-4-NEXT: <RecordBlock NumWords=77 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <FunctionBlock NumWords=69 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod' -// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <ReferenceBlock NumWords=15 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=3/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=10/> blob data = 'InnerClass' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-4-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-4-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-4-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: </TypeBlock> -// CHECK-4-NEXT: </FunctionBlock> -// CHECK-4-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: <BLOCKINFO_BLOCK/> -// CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-5-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-5-NEXT: </VersionBlock> -// CHECK-5-NEXT: <NamespaceBlock NumWords=39 BlockCodeSize=4> -// CHECK-5-NEXT: <FunctionBlock NumWords=36 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: </TypeBlock> -// CHECK-5-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-5-NEXT: </ReferenceBlock> -// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'x' -// CHECK-5-NEXT: </FieldTypeBlock> -// CHECK-5-NEXT: </FunctionBlock> -// CHECK-5-NEXT: </NamespaceBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: <BLOCKINFO_BLOCK/> -// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-6-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-6-NEXT: </VersionBlock> -// CHECK-6-NEXT: <RecordBlock NumWords=73 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <FunctionBlock NumWords=65 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod' -// CHECK-6-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <ReferenceBlock NumWords=11 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=5/> blob data = 'named' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-6-NEXT: <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}' -// CHECK-6-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=10/> blob data = 'NamedClass' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-6-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: </TypeBlock> -// CHECK-6-NEXT: </FunctionBlock> -// CHECK-6-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-7 -// CHECK-7: <BLOCKINFO_BLOCK/> -// CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-7-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-7-NEXT: </VersionBlock> -// CHECK-7-NEXT: <RecordBlock NumWords=69 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <FunctionBlock NumWords=61 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod' -// CHECK-7-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-7-NEXT: <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <ReferenceBlock NumWords=12 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=9/> blob data = 'AnonClass' -// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: </TypeBlock> -// CHECK-7-NEXT: </FunctionBlock> -// CHECK-7-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-8 -// CHECK-8: <BLOCKINFO_BLOCK/> -// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-8-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-8-NEXT: </VersionBlock> -// CHECK-8-NEXT: <NamespaceBlock NumWords=41 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <FunctionBlock NumWords=33 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction' -// CHECK-8-NEXT: <ReferenceBlock NumWords=7 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-8-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}' -// CHECK-8-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-8-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: </TypeBlock> -// CHECK-8-NEXT: </FunctionBlock> -// CHECK-8-NEXT: </NamespaceBlock> diff --git a/clang-tools-extra/test/clang-doc/mapper-module.cpp b/clang-tools-extra/test/clang-doc/mapper-module.cpp deleted file mode 100644 index 04a34c68d15..00000000000 --- a/clang-tools-extra/test/clang-doc/mapper-module.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage - -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: <BLOCKINFO_BLOCK/> -// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> -// CHECK-0-NEXT: <Version abbrevid=4 op0=2/> -// CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <NamespaceBlock NumWords=50 BlockCodeSize=4> -// CHECK-0-NEXT: <FunctionBlock NumWords=47 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=22/> blob data = 'exportedModuleFunction' -// CHECK-0-NEXT: <Location abbrevid=7 op0=15 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TypeBlock NumWords=7 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=4 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=6/> blob data = 'double' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=9 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=4 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=6/> blob data = 'double' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'y' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'z' -// CHECK-0-NEXT: </FieldTypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: </NamespaceBlock> diff --git a/clang-tools-extra/test/clang-doc/mapper-namespace.cpp b/clang-tools-extra/test/clang-doc/mapper-namespace.cpp index d000823312b..aeda90816c6 100644 --- a/clang-tools-extra/test/clang-doc/mapper-namespace.cpp +++ b/clang-tools-extra/test/clang-doc/mapper-namespace.cpp @@ -25,70 +25,114 @@ E func(int i) { return X; } } // namespace B } // namespace A -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --dump-mapper --doxygen -p %t %t/test.cpp -output=%t/docs -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-0 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/E9ABF7E7E2425B626723D41E76E4BC7E7A5BD775.bc | FileCheck %s --check-prefix CHECK-0 // CHECK-0: <BLOCKINFO_BLOCK/> // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-0-NEXT: <Version abbrevid=4 op0=2/> // CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <NamespaceBlock NumWords=40 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <FunctionBlock NumWords=32 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'f' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: </FunctionBlock> -// CHECK-0-NEXT: </NamespaceBlock> +// CHECK-0-NEXT: <EnumBlock NumWords=38 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=233 op2=171 op3=247 op4=231 op5=226 op6=66 op7=91 op8=98 op9=103 op10=35 op11=212 op12=30 op13=118 op14=228 op15=188 op16=126 op17=122 op18=91 op19=215 op20=117/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-0-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-0-NEXT: </ReferenceBlock> +// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}' +// CHECK-0-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X' +// CHECK-0-NEXT: </EnumBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-1 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/39D3C95A5F7CE2BA4937BD7B01BAE09EBC2AD8AC.bc | FileCheck %s --check-prefix CHECK-1 // CHECK-1: <BLOCKINFO_BLOCK/> // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-1-NEXT: <Version abbrevid=4 op0=2/> // CHECK-1-NEXT: </VersionBlock> -// CHECK-1-NEXT: <NamespaceBlock NumWords=64 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <FunctionBlock NumWords=56 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=4/> blob data = 'func' -// CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-1-NEXT: <FunctionBlock NumWords=32 BlockCodeSize=4> +// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1=57 op2=211 op3=201 op4=90 op5=95 op6=124 op7=226 op8=186 op9=73 op10=55 op11=189 op12=123 op13=1 op14=186 op15=224 op16=158 op17=188 op18=42 op19=216 op20=172/> +// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'f' +// CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-1-NEXT: </ReferenceBlock> +// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' +// CHECK-1-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-1-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> // CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-1-NEXT: <RefType abbrevid=6 op0=1/> -// CHECK-1-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' -// CHECK-1-NEXT: <TypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-1-NEXT: <ReferenceBlock NumWords=5 BlockCodeSize=4> -// CHECK-1-NEXT: <Name abbrevid=5 op0=12/> blob data = 'enum A::B::E' -// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: </TypeBlock> -// CHECK-1-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-1-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-1-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-1-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-1-NEXT: </ReferenceBlock> -// CHECK-1-NEXT: <Name abbrevid=4 op0=1/> blob data = 'i' -// CHECK-1-NEXT: </FieldTypeBlock> -// CHECK-1-NEXT: </FunctionBlock> -// CHECK-1-NEXT: </NamespaceBlock> +// CHECK-1-NEXT: </TypeBlock> +// CHECK-1-NEXT: </FunctionBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/9A82CB33ED0FDF81EE383D31CD0957D153C5E840.bc | FileCheck %s --check-prefix CHECK-2 +// CHECK-2: <BLOCKINFO_BLOCK/> +// CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-2-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-2-NEXT: </VersionBlock> +// CHECK-2-NEXT: <FunctionBlock NumWords=56 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=154 op2=130 op3=203 op4=51 op5=237 op6=15 op7=223 op8=129 op9=238 op10=56 op11=61 op12=49 op13=205 op14=9 op15=87 op16=209 op17=83 op18=197 op19=232 op20=64/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=4/> blob data = 'func' +// CHECK-2-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-2-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-2-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' +// CHECK-2-NEXT: <TypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-2-NEXT: <ReferenceBlock NumWords=5 BlockCodeSize=4> +// CHECK-2-NEXT: <Name abbrevid=5 op0=12/> blob data = 'enum A::B::E' +// CHECK-2-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: </TypeBlock> +// CHECK-2-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-2-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-2-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <Name abbrevid=4 op0=1/> blob data = 'i' +// CHECK-2-NEXT: </FieldTypeBlock> +// CHECK-2-NEXT: </FunctionBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-3 +// CHECK-3: <BLOCKINFO_BLOCK/> +// CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-3-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-3-NEXT: </VersionBlock> +// CHECK-3-NEXT: <NamespaceBlock NumWords=9 BlockCodeSize=4> +// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-3-NEXT: </NamespaceBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-4 +// CHECK-4: <BLOCKINFO_BLOCK/> +// CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-4-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-4-NEXT: </VersionBlock> +// CHECK-4-NEXT: <NamespaceBlock NumWords=21 BlockCodeSize=4> +// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1=226 op2=26 op3=247 op4=158 op5=42 op6=157 op7=2 op8=85 op9=75 op10=160 op11=144 op12=209 op13=13 op14=243 op15=159 op16=226 op17=115 op18=245 op19=205 op20=181/> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-4-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1=141 op2=4 op3=46 op4=255 op5=201 op6=139 op7=55 op8=52 op9=80 op10=188 op11=107 op12=91 op13=144 op14=163 op15=48 op16=194 op17=90 op18=21 op19=14 op20=156/> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-4-NEXT: <RefType abbrevid=6 op0=1/> +// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-4-NEXT: </ReferenceBlock> +// CHECK-4-NEXT: </NamespaceBlock> diff --git a/clang-tools-extra/test/clang-doc/mapper-record.cpp b/clang-tools-extra/test/clang-doc/mapper-record.cpp index dbabd8fdd71..82a5e2f018d 100644 --- a/clang-tools-extra/test/clang-doc/mapper-record.cpp +++ b/clang-tools-extra/test/clang-doc/mapper-record.cpp @@ -39,7 +39,7 @@ class X { class Y {}; }; -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --dump-mapper --doxygen -p %t %t/test.cpp -output=%t/docs // RUN: llvm-bcanalyzer --dump %t/docs/bc/289584A8E0FF4178A794622A547AA622503967A1.bc | FileCheck %s --check-prefix CHECK-0 @@ -47,32 +47,11 @@ class X { // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-0-NEXT: <Version abbrevid=4 op0=2/> // CHECK-0-NEXT: </VersionBlock> -// CHECK-0-NEXT: <RecordBlock NumWords=55 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <FunctionBlock NumWords=47 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=15/> blob data = 'ProtectedMethod' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <IsMethod abbrevid=9 op0=1/> -// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=34 op1=4/> blob data = '{{.*}}' -// CHECK-0-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-0-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-0-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-0-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-0-NEXT: </ReferenceBlock> -// CHECK-0-NEXT: </TypeBlock> -// CHECK-0-NEXT: </FunctionBlock> +// CHECK-0-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> +// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=25 op1=4/> blob data = '{{.*}}' +// CHECK-0-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-0-NEXT: </RecordBlock> // RUN: llvm-bcanalyzer --dump %t/docs/bc/3FB542274573CAEAD54CEBFFCAEE3D77FB9713D8.bc | FileCheck %s --check-prefix CHECK-1 @@ -81,10 +60,10 @@ class X { // CHECK-1-NEXT: <Version abbrevid=4 op0=2/> // CHECK-1-NEXT: </VersionBlock> // CHECK-1-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1=63 op2=181 op3=66 op4=39 op5=69 op6=115 op7=202 op8=234 op9=213 op10=76 op11=235 op12=255 op13=202 op14=238 op15=61 op16=119 op17=251 op18=151 op19=19 op20=216/> // CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'I' // CHECK-1-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-1-NEXT: <USR abbrevid=4 op0=20 op1=182 op2=172 op3=76 op4=92 op5=159 op6=46 op7=163 op8=242 op9=179 op10=236 op11=225 op12=163 op13=61 op14=52 op15=159 op16=78 op17=229 op18=2 op19=178 op20=78/> // CHECK-1-NEXT: <Name abbrevid=5 op0=1/> blob data = 'H' // CHECK-1-NEXT: <RefType abbrevid=6 op0=3/> // CHECK-1-NEXT: <Field abbrevid=7 op0=1/> @@ -93,128 +72,246 @@ class X { // CHECK-1-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-1-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-2 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/5093D428CDC62096A67547BA52566E4FB9404EEE.bc | FileCheck %s --check-prefix CHECK-2 // CHECK-2: <BLOCKINFO_BLOCK/> // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-2-NEXT: <Version abbrevid=4 op0=2/> // CHECK-2-NEXT: </VersionBlock> -// CHECK-2-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> -// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' -// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}' -// CHECK-2-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-2-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-3 +// CHECK-2-NEXT: <FunctionBlock NumWords=47 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=80 op2=147 op3=212 op4=40 op5=205 op6=198 op7=32 op8=150 op9=166 op10=117 op11=71 op12=186 op13=82 op14=86 op15=110 op16=79 op17=185 op18=64 op19=78 op20=238/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=15/> blob data = 'ProtectedMethod' +// CHECK-2-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-2-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-2-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <IsMethod abbrevid=9 op0=1/> +// CHECK-2-NEXT: <DefLocation abbrevid=6 op0=34 op1=4/> blob data = '{{.*}}' +// CHECK-2-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-2-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-2-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-2-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-2-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-2-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-2-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-2-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-2-NEXT: </ReferenceBlock> +// CHECK-2-NEXT: </TypeBlock> +// CHECK-2-NEXT: </FunctionBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-3 // CHECK-3: <BLOCKINFO_BLOCK/> // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-3-NEXT: <Version abbrevid=4 op0=2/> // CHECK-3-NEXT: </VersionBlock> -// CHECK-3-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'C' -// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}' -// CHECK-3-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-3-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-3-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-3-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <Name abbrevid=4 op0=1/> blob data = 'i' -// CHECK-3-NEXT: </MemberTypeBlock> +// CHECK-3-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> +// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1=202 op2=124 op3=121 op4=53 op5=115 op6=11 op7=94 op8=172 op9=210 op10=95 op11=8 op12=14 op13=156 op14=131 op15=250 op16=8 op17=124 op18=205 op19=199 op20=94/> +// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' +// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}' +// CHECK-3-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-3-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E.bc | FileCheck %s --check-prefix CHECK-4 // CHECK-4: <BLOCKINFO_BLOCK/> // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-4-NEXT: <Version abbrevid=4 op0=2/> // CHECK-4-NEXT: </VersionBlock> -// CHECK-4-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'Y' -// CHECK-4-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' -// CHECK-4-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-4-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5 +// CHECK-4-NEXT: <FunctionBlock NumWords=20 BlockCodeSize=4> +// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1=182 op2=172 op3=76 op4=92 op5=159 op6=46 op7=163 op8=242 op9=179 op10=236 op11=225 op12=163 op13=61 op14=52 op15=159 op16=78 op17=229 op18=2 op19=178 op20=78/> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'H' +// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}' +// CHECK-4-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-4-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-4-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-4-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-4-NEXT: </ReferenceBlock> +// CHECK-4-NEXT: </TypeBlock> +// CHECK-4-NEXT: </FunctionBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-5 // CHECK-5: <BLOCKINFO_BLOCK/> // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-5-NEXT: <Version abbrevid=4 op0=2/> // CHECK-5-NEXT: </VersionBlock> -// CHECK-5-NEXT: <NamespaceBlock NumWords=19 BlockCodeSize=4> -// CHECK-5-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=2/> blob data = 'Bc' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <Scoped abbrevid=9 op0=1/> -// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'A' -// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'B' -// CHECK-5-NEXT: </EnumBlock> -// CHECK-5-NEXT: </NamespaceBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6 +// CHECK-5-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4> +// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1=6 op2=181 op3=246 op4=161 op5=155 op6=169 op7=246 op8=168 op9=50 op10=225 op11=39 op12=201 op13=150 op14=130 op15=130 op16=185 op17=70 op18=25 op19=178 op20=16/> +// CHECK-5-NEXT: <Name abbrevid=5 op0=1/> blob data = 'C' +// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}' +// CHECK-5-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-5-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-5-NEXT: </ReferenceBlock> +// CHECK-5-NEXT: <Name abbrevid=4 op0=1/> blob data = 'i' +// CHECK-5-NEXT: </MemberTypeBlock> +// CHECK-5-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/BD2BDEBD423F80BACCEA75DE6D6622D355FC2D17.bc | FileCheck %s --check-prefix CHECK-6 // CHECK-6: <BLOCKINFO_BLOCK/> // CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-6-NEXT: <Version abbrevid=4 op0=2/> // CHECK-6-NEXT: </VersionBlock> -// CHECK-6-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' -// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' -// CHECK-6-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-6-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7 +// CHECK-6-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4> +// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1=189 op2=43 op3=222 op4=189 op5=66 op6=63 op7=128 op8=186 op9=204 op10=234 op11=117 op12=222 op13=109 op14=102 op15=34 op16=211 op17=85 op18=252 op19=45 op20=23/> +// CHECK-6-NEXT: <Name abbrevid=5 op0=2/> blob data = '~E' +// CHECK-6-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-6-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-6-NEXT: </ReferenceBlock> +// CHECK-6-NEXT: <IsMethod abbrevid=9 op0=1/> +// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}' +// CHECK-6-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-6-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-6-NEXT: </ReferenceBlock> +// CHECK-6-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-6-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-6-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-6-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-6-NEXT: </ReferenceBlock> +// CHECK-6-NEXT: </TypeBlock> +// CHECK-6-NEXT: </FunctionBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/DEB4AC1CD9253CD9EF7FBE6BCAC506D77984ABD4.bc | FileCheck %s --check-prefix CHECK-7 // CHECK-7: <BLOCKINFO_BLOCK/> // CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-7-NEXT: <Version abbrevid=4 op0=2/> // CHECK-7-NEXT: </VersionBlock> -// CHECK-7-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' -// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-7-NEXT: <FunctionBlock NumWords=44 BlockCodeSize=4> +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1=222 op2=180 op3=172 op4=28 op5=217 op6=37 op7=60 op8=217 op9=239 op10=127 op11=190 op12=107 op13=202 op14=197 op15=6 op16=215 op17=121 op18=132 op19=171 op20=212/> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' // CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> // CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' // CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-7-NEXT: <Field abbrevid=7 op0=1/> // CHECK-7-NEXT: </ReferenceBlock> +// CHECK-7-NEXT: <IsMethod abbrevid=9 op0=1/> +// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=27 op1=4/> blob data = '{{.*}}' // CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' // CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-7-NEXT: <Field abbrevid=7 op0=3/> +// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> // CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: </RecordBlock> +// CHECK-7-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-7-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-7-NEXT: </ReferenceBlock> +// CHECK-7-NEXT: </TypeBlock> +// CHECK-7-NEXT: </FunctionBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-8 // CHECK-8: <BLOCKINFO_BLOCK/> // CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-8-NEXT: <Version abbrevid=4 op0=2/> // CHECK-8-NEXT: </VersionBlock> -// CHECK-8-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4> -// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-8-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-8-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' -// CHECK-8-NEXT: <TagType abbrevid=8 op0=2/> -// CHECK-8-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-8-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: <Name abbrevid=4 op0=1/> blob data = 'X' -// CHECK-8-NEXT: </MemberTypeBlock> -// CHECK-8-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-8-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-8-NEXT: </ReferenceBlock> -// CHECK-8-NEXT: <Name abbrevid=4 op0=1/> blob data = 'Y' -// CHECK-8-NEXT: </MemberTypeBlock> +// CHECK-8-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> +// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1=100 op2=26 op3=180 op4=163 op5=211 op6=99 op7=153 op8=149 op9=74 op10=205 op11=226 op12=156 op13=122 op14=136 op15=51 op16=3 op17=43 op18=244 op19=4 op20=114/> +// CHECK-8-NEXT: <Name abbrevid=5 op0=1/> blob data = 'Y' +// CHECK-8-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1=202 op2=124 op3=121 op4=53 op5=115 op6=11 op7=94 op8=172 op9=210 op10=95 op11=8 op12=14 op13=156 op14=131 op15=250 op16=8 op17=124 op18=205 op19=199 op20=94/> +// CHECK-8-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' +// CHECK-8-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-8-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-8-NEXT: </ReferenceBlock> +// CHECK-8-NEXT: <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}' +// CHECK-8-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-8-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/FC07BD34D5E77782C263FA944447929EA8753740.bc | FileCheck %s --check-prefix CHECK-9 +// CHECK-9: <BLOCKINFO_BLOCK/> +// CHECK-9-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-9-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-9-NEXT: </VersionBlock> +// CHECK-9-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-9-NEXT: <USR abbrevid=4 op0=20 op1=252 op2=7 op3=189 op4=52 op5=213 op6=231 op7=119 op8=130 op9=194 op10=99 op11=250 op12=148 op13=68 op14=71 op15=146 op16=158 op17=168 op18=117 op19=55 op20=64/> +// CHECK-9-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-9-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' +// CHECK-9-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X' +// CHECK-9-NEXT: <Member abbrevid=8 op0=1/> blob data = 'Y' +// CHECK-9-NEXT: </EnumBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-10 +// CHECK-10: <BLOCKINFO_BLOCK/> +// CHECK-10-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-10-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-10-NEXT: </VersionBlock> +// CHECK-10-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> +// CHECK-10-NEXT: <USR abbrevid=4 op0=20 op1=9 op2=33 op3=115 op4=117 op5=65 op6=32 op7=139 op8=143 op9=169 op10=187 op11=66 op12=182 op13=15 op14=120 op15=172 op16=29 op17=119 op18=154 op19=160 op20=84/> +// CHECK-10-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-10-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' +// CHECK-10-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-10-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-11 +// CHECK-11: <BLOCKINFO_BLOCK/> +// CHECK-11-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-11-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-11-NEXT: </VersionBlock> +// CHECK-11-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4> +// CHECK-11-NEXT: <USR abbrevid=4 op0=20 op1=227 op2=181 op3=71 op4=2 op5=250 op6=191 op7=244 op8=3 op9=112 op10=37 op11=186 op12=25 op13=79 op14=194 op15=124 op16=71 op17=0 op18=99 op19=48 op20=181/> +// CHECK-11-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' +// CHECK-11-NEXT: <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}' +// CHECK-11-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-11-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-11-NEXT: <USR abbrevid=4 op0=20 op1=40 op2=149 op3=132 op4=168 op5=224 op6=255 op7=65 op8=120 op9=167 op10=148 op11=98 op12=42 op13=84 op14=122 op15=166 op16=34 op17=80 op18=57 op19=103 op20=161/> +// CHECK-11-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-11-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-11-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-11-NEXT: </ReferenceBlock> +// CHECK-11-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-11-NEXT: <USR abbrevid=4 op0=20 op1=9 op2=33 op3=115 op4=117 op5=65 op6=32 op7=139 op8=143 op9=169 op10=187 op11=66 op12=182 op13=15 op14=120 op15=172 op16=29 op17=119 op18=154 op19=160 op20=84/> +// CHECK-11-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-11-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-11-NEXT: <Field abbrevid=7 op0=3/> +// CHECK-11-NEXT: </ReferenceBlock> +// CHECK-11-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-12 +// CHECK-12: <BLOCKINFO_BLOCK/> +// CHECK-12-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-12-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-12-NEXT: </VersionBlock> +// CHECK-12-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4> +// CHECK-12-NEXT: <USR abbrevid=4 op0=20 op1=172 op2=232 op3=26 op4=250 op5=102 op6=39 op7=180 op8=206 op9=242 op10=180 op11=86 op12=251 op13=110 op14=18 op15=82 op16=146 op17=86 op18=116 op19=175 op20=126/> +// CHECK-12-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-12-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' +// CHECK-12-NEXT: <TagType abbrevid=8 op0=2/> +// CHECK-12-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-12-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-12-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-12-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-12-NEXT: </ReferenceBlock> +// CHECK-12-NEXT: <Name abbrevid=4 op0=1/> blob data = 'X' +// CHECK-12-NEXT: </MemberTypeBlock> +// CHECK-12-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-12-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-12-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-12-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-12-NEXT: </ReferenceBlock> +// CHECK-12-NEXT: <Name abbrevid=4 op0=1/> blob data = 'Y' +// CHECK-12-NEXT: </MemberTypeBlock> +// CHECK-12-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/1E3438A08BA22025C0B46289FF0686F92C8924C5.bc | FileCheck %s --check-prefix CHECK-13 +// CHECK-13: <BLOCKINFO_BLOCK/> +// CHECK-13-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-13-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-13-NEXT: </VersionBlock> +// CHECK-13-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-13-NEXT: <USR abbrevid=4 op0=20 op1=30 op2=52 op3=56 op4=160 op5=139 op6=162 op7=32 op8=37 op9=192 op10=180 op11=98 op12=137 op13=255 op14=6 op15=134 op16=249 op17=44 op18=137 op19=36 op20=197/> +// CHECK-13-NEXT: <Name abbrevid=5 op0=2/> blob data = 'Bc' +// CHECK-13-NEXT: <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}' +// CHECK-13-NEXT: <Scoped abbrevid=9 op0=1/> +// CHECK-13-NEXT: <Member abbrevid=8 op0=1/> blob data = 'A' +// CHECK-13-NEXT: <Member abbrevid=8 op0=1/> blob data = 'B' +// CHECK-13-NEXT: </EnumBlock> diff --git a/clang-tools-extra/test/clang-doc/module.cpp b/clang-tools-extra/test/clang-doc/module.cpp new file mode 100644 index 00000000000..a2b5945972d --- /dev/null +++ b/clang-tools-extra/test/clang-doc/module.cpp @@ -0,0 +1,61 @@ +// RUN: rm -rf %t +// RUN: mkdir %t +// RUN: echo "" > %t/compile_flags.txt +// RUN: cp "%s" "%t/test.cpp" +// RUN: clang-doc --extra-arg=-fmodules-ts --doxygen -p %t %t/test.cpp -output=%t/docs +// RUN: cat %t/docs/moduleFunction.yaml | FileCheck %s --check-prefix=CHECK-A +// RUN: cat %t/docs/staticModuleFunction.yaml | FileCheck %s --check-prefix=CHECK-B +// RUN: cat %t/docs/exportedModuleFunction.yaml | FileCheck %s --check-prefix=CHECK-C + +export module M; + +int moduleFunction(int x); //ModuleLinkage +// CHECK-A: --- +// CHECK-A-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-A-NEXT: Name: 'moduleFunction' +// CHECK-A-NEXT: Location: +// CHECK-A-NEXT: - LineNumber: 12 +// CHECK-A-NEXT: Filename: {{.*}} +// CHECK-A-NEXT: Params: +// CHECK-A-NEXT: - Type: +// CHECK-A-NEXT: Name: 'int' +// CHECK-A-NEXT: Name: 'x' +// CHECK-A-NEXT: ReturnType: +// CHECK-A-NEXT: Type: +// CHECK-A-NEXT: Name: 'int' +// CHECK-A-NEXT: ... + +static int staticModuleFunction(int x); //ModuleInternalLinkage +// CHECK-B: --- +// CHECK-B-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-B-NEXT: Name: 'staticModuleFunction' +// CHECK-B-NEXT: Location: +// CHECK-B-NEXT: - LineNumber: 28 +// CHECK-B-NEXT: Filename: {{.*}} +// CHECK-B-NEXT: Params: +// CHECK-B-NEXT: - Type: +// CHECK-B-NEXT: Name: 'int' +// CHECK-B-NEXT: Name: 'x' +// CHECK-B-NEXT: ReturnType: +// CHECK-B-NEXT: Type: +// CHECK-B-NEXT: Name: 'int' +// CHECK-B-NEXT: ... + +export double exportedModuleFunction(double y, int z); //ExternalLinkage +// CHECK-C: --- +// CHECK-C-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-C-NEXT: Name: 'exportedModuleFunction' +// CHECK-C-NEXT: Location: +// CHECK-C-NEXT: - LineNumber: 44 +// CHECK-C-NEXT: Filename: {{.*}} +// CHECK-C-NEXT: Params: +// CHECK-C-NEXT: - Type: +// CHECK-C-NEXT: Name: 'double' +// CHECK-C-NEXT: Name: 'y' +// CHECK-C-NEXT: - Type: +// CHECK-C-NEXT: Name: 'int' +// CHECK-C-NEXT: Name: 'z' +// CHECK-C-NEXT: ReturnType: +// CHECK-C-NEXT: Type: +// CHECK-C-NEXT: Name: 'double' +// CHECK-C-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/public-comment.cpp b/clang-tools-extra/test/clang-doc/public-comment.cpp deleted file mode 100644 index 6c5545e8eb7..00000000000 --- a/clang-tools-extra/test/clang-doc/public-comment.cpp +++ /dev/null @@ -1,138 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -/// \brief Brief description. -/// -/// Extended description that -/// continues onto the next line. -/// -/// <ul class="test"> -/// <li> Testing. -/// </ul> -/// -/// \verbatim -/// The description continues. -/// \endverbatim -/// -- -/// \param [out] I is a parameter. -/// \param J is a parameter. -/// \return void -void F(int I, int J); - -/// Bonus comment on definition -void F(int I, int J) {} - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'F' -// CHECK-0-NEXT: Description: -// CHECK-0-NEXT: - Kind: 'FullComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'BlockCommandComment' -// CHECK-0-NEXT: Name: 'brief' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Brief description.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Extended description that' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' continues onto the next line.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' -// CHECK-0-NEXT: Name: 'ul' -// CHECK-0-NEXT: AttrKeys: -// CHECK-0-NEXT: - 'class' -// CHECK-0-NEXT: AttrValues: -// CHECK-0-NEXT: - 'test' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' -// CHECK-0-NEXT: Name: 'li' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Testing.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLEndTagComment' -// CHECK-0-NEXT: Name: 'ul' -// CHECK-0-NEXT: SelfClosing: true -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'VerbatimBlockComment' -// CHECK-0-NEXT: Name: 'verbatim' -// CHECK-0-NEXT: CloseName: 'endverbatim' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'VerbatimBlockLineComment' -// CHECK-0-NEXT: Text: ' The description continues.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' --' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'ParamCommandComment' -// CHECK-0-NEXT: Direction: '[out]' -// CHECK-0-NEXT: ParamName: 'I' -// CHECK-0-NEXT: Explicit: true -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' is a parameter.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'ParamCommandComment' -// CHECK-0-NEXT: Direction: '[in]' -// CHECK-0-NEXT: ParamName: 'J' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' is a parameter.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'BlockCommandComment' -// CHECK-0-NEXT: Name: 'return' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' void' -// CHECK-0-NEXT: - Kind: 'FullComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Bonus comment on definition' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 28 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 25 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'I' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'J' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/public-linkage.cpp b/clang-tools-extra/test/clang-doc/public-linkage.cpp deleted file mode 100644 index c33e08ce6e4..00000000000 --- a/clang-tools-extra/test/clang-doc/public-linkage.cpp +++ /dev/null @@ -1,299 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./Class.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 32 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: TagType: Class -// CHECK-0-NEXT: Members: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'publicField' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'protectedField' -// CHECK-0-NEXT: Access: Protected -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'publicMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 34 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'protectedMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 38 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/./named.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: ChildFunctions: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 61 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedInlineFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 63 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: ... - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: --- -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ChildFunctions: -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'function' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 10 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: Params: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'x' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'void' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'inlinedFunction' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 12 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: Params: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'x' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'functionWithInnerClass' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 14 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: Params: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'x' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'inlinedFunctionWithInnerClass' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 23 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: Params: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'x' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: ... - -// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: --- -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: Name: 'named' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 47 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: TagType: Class -// CHECK-3-NEXT: Members: -// CHECK-3-NEXT: - Type: -// CHECK-3-NEXT: Name: 'int' -// CHECK-3-NEXT: Name: 'namedPublicField' -// CHECK-3-NEXT: - Type: -// CHECK-3-NEXT: Name: 'int' -// CHECK-3-NEXT: Name: 'namedProtectedField' -// CHECK-3-NEXT: Access: Protected -// CHECK-3-NEXT: ChildFunctions: -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'namedPublicMethod' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: Name: 'named' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 49 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'namedProtectedMethod' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: Name: 'named' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 53 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/public-module.cpp b/clang-tools-extra/test/clang-doc/public-module.cpp index 0c93d688437..c7ebadda7a6 100644 --- a/clang-tools-extra/test/clang-doc/public-module.cpp +++ b/clang-tools-extra/test/clang-doc/public-module.cpp @@ -1,51 +1,53 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// +// This test requires linux because it uses `diff` and compares filepaths +// REQUIRES: system-linux // RUN: rm -rf %t // RUN: mkdir %t // RUN: echo "" > %t/compile_flags.txt // RUN: cp "%s" "%t/test.cpp" +// RUN: clang-doc --public --extra-arg=-fmodules-ts --doxygen -p %t %t/test.cpp -output=%t/docs-with-public-flag +// RUN: clang-doc --extra-arg=-fmodules-ts --doxygen -p %t %t/test.cpp -output=%t/docs-without +// RUN: cat %t/docs-with-public-flag/moduleFunction.yaml | FileCheck %s --check-prefix=CHECK-A +// RUN: cat %t/docs-with-public-flag/exportedModuleFunction.yaml | FileCheck %s --check-prefix=CHECK-B +// RUN: (diff -qry %t/docs-with-public-flag %t/docs-without | sed 's:.*/::' > %t/public.diff) || true +// RUN: cat %t/public.diff | FileCheck %s --check-prefix=CHECK-C export module M; -int moduleFunction(int x); // ModuleLinkage +int moduleFunction(int x); //ModuleLinkage +// CHECK-A: --- +// CHECK-A-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-A-NEXT: Name: 'moduleFunction' +// CHECK-A-NEXT: Location: +// CHECK-A-NEXT: - LineNumber: 16 +// CHECK-A-NEXT: Filename: {{.*}} +// CHECK-A-NEXT: Params: +// CHECK-A-NEXT: - Type: +// CHECK-A-NEXT: Name: 'int' +// CHECK-A-NEXT: Name: 'x' +// CHECK-A-NEXT: ReturnType: +// CHECK-A-NEXT: Type: +// CHECK-A-NEXT: Name: 'int' +// CHECK-A-NEXT: ... -static int staticModuleFunction(int x); // ModuleInternalLinkage +static int staticModuleFunction(int x); //ModuleInternalLinkage -export double exportedModuleFunction(double y, int z); // ExternalLinkage +export double exportedModuleFunction(double y, int z); //ExternalLinkage +// CHECK-B: --- +// CHECK-B-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-B-NEXT: Name: 'exportedModuleFunction' +// CHECK-B-NEXT: Location: +// CHECK-B-NEXT: - LineNumber: 34 +// CHECK-B-NEXT: Filename: {{.*}} +// CHECK-B-NEXT: Params: +// CHECK-B-NEXT: - Type: +// CHECK-B-NEXT: Name: 'double' +// CHECK-B-NEXT: Name: 'y' +// CHECK-B-NEXT: - Type: +// CHECK-B-NEXT: Name: 'int' +// CHECK-B-NEXT: Name: 'z' +// CHECK-B-NEXT: ReturnType: +// CHECK-B-NEXT: Type: +// CHECK-B-NEXT: Name: 'double' +// CHECK-B-NEXT: ... -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'moduleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 11 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'x' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'exportedModuleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 15 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'double' -// CHECK-0-NEXT: Name: 'y' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'z' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'double' -// CHECK-0-NEXT: ... +// CHECK-C: docs-without: staticModuleFunction.yaml diff --git a/clang-tools-extra/test/clang-doc/public-namespace.cpp b/clang-tools-extra/test/clang-doc/public-namespace.cpp deleted file mode 100644 index d104ff2c7d0..00000000000 --- a/clang-tools-extra/test/clang-doc/public-namespace.cpp +++ /dev/null @@ -1,96 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -namespace A { - -void f(); - -} // namespace A - -namespace A { - -void f(){}; - -namespace B { - -enum E { X }; - -E func(int i) { return X; } - -} // namespace B -} // namespace A - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'A' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'f' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Namespace -// CHECK-0-NEXT: Name: 'A' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 17 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 11 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/A/B.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: ChildFunctions: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'func' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 23 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: Params: -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'i' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'enum A::B::E' -// CHECK-1-NEXT: ChildEnums: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'E' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 21 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: Members: -// CHECK-1-NEXT: - 'X' -// CHECK-1-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/public-record.cpp b/clang-tools-extra/test/clang-doc/public-record.cpp deleted file mode 100644 index d3302193fde..00000000000 --- a/clang-tools-extra/test/clang-doc/public-record.cpp +++ /dev/null @@ -1,208 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// This test requires Linux due to system-dependent USR for the inner class. -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void H() { - class I {}; -} - -union A { int X; int Y; }; - -enum B { X, Y }; - -enum class Bc { A, B }; - -struct C { int i; }; - -class D {}; - -class E { -public: - E() {} - ~E() {} - -protected: - void ProtectedMethod(); -}; - -void E::ProtectedMethod() {} - -class F : virtual private D, public E {}; - -class X { - class Y {}; -}; - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./C.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'C' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 21 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Members: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'i' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 15 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: TagType: Union -// CHECK-1-NEXT: Members: -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'X' -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'Y' -// CHECK-1-NEXT: ... - -// RUN: cat %t/docs/./F.yaml | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: --- -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'F' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 36 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: TagType: Class -// CHECK-2-NEXT: Parents: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'E' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: VirtualParents: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'D' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ... - -// RUN: cat %t/docs/./E.yaml | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: --- -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 25 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: TagType: Class -// CHECK-3-NEXT: ChildFunctions: -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 27 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: '~E' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 28 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'ProtectedMethod' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 34 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 31 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: ... - -// RUN: cat %t/docs/./D.yaml | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: --- -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'D' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 23 -// CHECK-4-NEXT: Filename: 'test' -// CHECK-4-NEXT: TagType: Class -// CHECK-4-NEXT: ... - -// RUN: cat %t/docs/./X.yaml | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: --- -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Name: 'X' -// CHECK-5-NEXT: DefLocation: -// CHECK-5-NEXT: LineNumber: 38 -// CHECK-5-NEXT: Filename: 'test' -// CHECK-5-NEXT: TagType: Class -// CHECK-5-NEXT: ... - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: --- -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: ChildFunctions: -// CHECK-6-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'H' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 11 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: ReturnType: -// CHECK-6-NEXT: Type: -// CHECK-6-NEXT: Name: 'void' -// CHECK-6-NEXT: ChildEnums: -// CHECK-6-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'B' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 17 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: Members: -// CHECK-6-NEXT: - 'X' -// CHECK-6-NEXT: - 'Y' -// CHECK-6-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'Bc' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 19 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: Scoped: true -// CHECK-6-NEXT: Members: -// CHECK-6-NEXT: - 'A' -// CHECK-6-NEXT: - 'B' -// CHECK-6-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/public-records.cpp b/clang-tools-extra/test/clang-doc/public-records.cpp new file mode 100644 index 00000000000..a00a23b0ddc --- /dev/null +++ b/clang-tools-extra/test/clang-doc/public-records.cpp @@ -0,0 +1,341 @@ +// This test requires linux because it uses `diff` and compares filepaths +// REQUIRES: system-linux +// RUN: rm -rf %t +// RUN: mkdir %t +// RUN: echo "" > %t/compile_flags.txt +// RUN: cp "%s" "%t/test.cpp" +// RUN: clang-doc --public --doxygen -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --doxygen -p %t %t/test.cpp -output=%t/docs-without-flag +// RUN: cat %t/docs/function.yaml | FileCheck %s --check-prefix=CHECK-A +// RUN: cat %t/docs/inlinedFunction.yaml | FileCheck %s --check-prefix=CHECK-B +// RUN: cat %t/docs/functionWithInnerClass.yaml | FileCheck %s --check-prefix=CHECK-C +// RUN: cat %t/docs/inlinedFunctionWithInnerClass.yaml | FileCheck %s --check-prefix=CHECK-D +// RUN: cat %t/docs/Class/publicMethod.yaml| FileCheck %s --check-prefix=CHECK-E +// RUN: cat %t/docs/Class.yaml| FileCheck %s --check-prefix=CHECK-F +// RUN: cat %t/docs/Class/protectedMethod.yaml| FileCheck %s --check-prefix=CHECK-G +// RUN: cat %t/docs/named.yaml| FileCheck %s --check-prefix=CHECK-H +// RUN: cat %t/docs/named/NamedClass.yaml| FileCheck %s --check-prefix=CHECK-I +// RUN: cat %t/docs/named/namedFunction.yaml| FileCheck %s --check-prefix=CHECK-J +// RUN: cat %t/docs/named/namedInlineFunction.yaml| FileCheck %s --check-prefix=CHECK-K +// RUN: cat %t/docs/named/NamedClass/namedPublicMethod.yaml| FileCheck %s --check-prefix=CHECK-L +// RUN: cat %t/docs/named/NamedClass/namedProtectedMethod.yaml| FileCheck %s --check-prefix=CHECK-M +// RUN: (diff -qry %t/docs-without-flag %t/docs | sed 's:.*/::' > %t/public.diff) || true +// RUN: cat %t/public.diff | FileCheck %s --check-prefix=CHECK-N + +void function(int x); + +// CHECK-A: --- +// CHECK-A-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-A-NEXT: Name: 'function' +// CHECK-A-NEXT: Location: +// CHECK-A-NEXT: - LineNumber: 25 +// CHECK-A-NEXT: Filename: {{.*}} +// CHECK-A-NEXT: Params: +// CHECK-A-NEXT: - Type: +// CHECK-A-NEXT: Name: 'int' +// CHECK-A-NEXT: Name: 'x' +// CHECK-A-NEXT: ReturnType: +// CHECK-A-NEXT: Type: +// CHECK-A-NEXT: Name: 'void' +// CHECK-A-NEXT: ... + +inline int inlinedFunction(int x); + +// CHECK-B: --- +// CHECK-B-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-B-NEXT: Name: 'inlinedFunction' +// CHECK-B-NEXT: Location: +// CHECK-B-NEXT: - LineNumber: 42 +// CHECK-B-NEXT: Filename: {{.*}} +// CHECK-B-NEXT: Params: +// CHECK-B-NEXT: - Type: +// CHECK-B-NEXT: Name: 'int' +// CHECK-B-NEXT: Name: 'x' +// CHECK-B-NEXT: ReturnType: +// CHECK-B-NEXT: Type: +// CHECK-B-NEXT: Name: 'int' +// CHECK-B-NEXT: ... + +int functionWithInnerClass(int x){ + class InnerClass { //NoLinkage + public: + int innerPublicMethod() { return 2; }; + }; //end class + InnerClass temp; + return temp.innerPublicMethod(); +}; + +// CHECK-C: --- +// CHECK-C-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-C-NEXT: Name: 'functionWithInnerClass' +// CHECK-C-NEXT: DefLocation: +// CHECK-C-NEXT: LineNumber: 59 +// CHECK-C-NEXT: Filename: {{.*}} +// CHECK-C-NEXT: Params: +// CHECK-C-NEXT: - Type: +// CHECK-C-NEXT: Name: 'int' +// CHECK-C-NEXT: Name: 'x' +// CHECK-C-NEXT: ReturnType: +// CHECK-C-NEXT: Type: +// CHECK-C-NEXT: Name: 'int' +// CHECK-C-NEXT: ... + +inline int inlinedFunctionWithInnerClass(int x){ + class InnerClass { //VisibleNoLinkage + public: + int innerPublicMethod() { return 2; }; + }; //end class + InnerClass temp; + return temp.innerPublicMethod(); +}; + +// CHECK-D: --- +// CHECK-D-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-D-NEXT: Name: 'inlinedFunctionWithInnerClass' +// CHECK-D-NEXT: DefLocation: +// CHECK-D-NEXT: LineNumber: 83 +// CHECK-D-NEXT: Filename: {{.*}} +// CHECK-D-NEXT: Params: +// CHECK-D-NEXT: - Type: +// CHECK-D-NEXT: Name: 'int' +// CHECK-D-NEXT: Name: 'x' +// CHECK-D-NEXT: ReturnType: +// CHECK-D-NEXT: Type: +// CHECK-D-NEXT: Name: 'int' +// CHECK-D-NEXT: ... + +class Class { + public: + void publicMethod(); + int publicField; + protected: + void protectedMethod(); + int protectedField; + private: + void privateMethod(); + int privateField; +}; + +// CHECK-E: --- +// CHECK-E-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-E-NEXT: Name: 'publicMethod' +// CHECK-E-NEXT: Namespace: +// CHECK-E-NEXT: - Type: Record +// CHECK-E-NEXT: Name: 'Class' +// CHECK-E-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-E-NEXT: Location: +// CHECK-E-NEXT: - LineNumber: 109 +// CHECK-E-NEXT: Filename: {{.*}} +// CHECK-E-NEXT: IsMethod: true +// CHECK-E-NEXT: Parent: +// CHECK-E-NEXT: Type: Record +// CHECK-E-NEXT: Name: 'Class' +// CHECK-E-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-E-NEXT: ReturnType: +// CHECK-E-NEXT: Type: +// CHECK-E-NEXT: Name: 'void' +// CHECK-E-NEXT: ... + +// CHECK-F: --- +// CHECK-F-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-F-NEXT: Name: 'Class' +// CHECK-F-NEXT: DefLocation: +// CHECK-F-NEXT: LineNumber: 107 +// CHECK-F-NEXT: Filename: {{.*}} +// CHECK-F-NEXT: TagType: Class +// CHECK-F-NEXT: Members: +// CHECK-F-NEXT: - Type: +// CHECK-F-NEXT: Name: 'int' +// CHECK-F-NEXT: Name: 'publicField' +// CHECK-F-NEXT: - Type: +// CHECK-F-NEXT: Name: 'int' +// CHECK-F-NEXT: Name: 'protectedField' +// CHECK-F-NEXT: Access: Protected +// CHECK-F-NEXT: ... + +// CHECK-G: --- +// CHECK-G-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-G-NEXT: Name: 'protectedMethod' +// CHECK-G-NEXT: Namespace: +// CHECK-G-NEXT: - Type: Record +// CHECK-G-NEXT: Name: 'Class' +// CHECK-G-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-G-NEXT: Location: +// CHECK-G-NEXT: - LineNumber: 112 +// CHECK-G-NEXT: Filename: {{.*}} +// CHECK-G-NEXT: IsMethod: true +// CHECK-G-NEXT: Parent: +// CHECK-G-NEXT: Type: Record +// CHECK-G-NEXT: Name: 'Class' +// CHECK-G-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-G-NEXT: ReturnType: +// CHECK-G-NEXT: Type: +// CHECK-G-NEXT: Name: 'void' +// CHECK-G-NEXT: ... + +namespace named{ + class NamedClass { + public: + void namedPublicMethod(); + int namedPublicField; + protected: + void namedProtectedMethod(); + int namedProtectedField; + private: + void namedPrivateMethod(); + int namedPrivateField; + }; + + void namedFunction(); + static void namedStaticFunction(); + inline void namedInlineFunction(); +} + +// CHECK-H: --- +// CHECK-H-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-H-NEXT: Name: 'named' +// CHECK-H-NEXT: ... + +// CHECK-I: --- +// CHECK-I-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-I-NEXT: Name: 'NamedClass' +// CHECK-I-NEXT: Namespace: +// CHECK-I-NEXT: - Type: Namespace +// CHECK-I-NEXT: Name: 'named' +// CHECK-I-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-I-NEXT: DefLocation: +// CHECK-I-NEXT: LineNumber: 177 +// CHECK-I-NEXT: Filename: {{.*}} +// CHECK-I-NEXT: TagType: Class +// CHECK-I-NEXT: Members: +// CHECK-I-NEXT: - Type: +// CHECK-I-NEXT: Name: 'int' +// CHECK-I-NEXT: Name: 'namedPublicField' +// CHECK-I-NEXT: - Type: +// CHECK-I-NEXT: Name: 'int' +// CHECK-I-NEXT: Name: 'namedProtectedField' +// CHECK-I-NEXT: Access: Protected +// CHECK-I-NEXT: ... + +// CHECK-J: --- +// CHECK-J-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-J-NEXT: Name: 'namedFunction' +// CHECK-J-NEXT: Namespace: +// CHECK-J-NEXT: - Type: Namespace +// CHECK-J-NEXT: Name: 'named' +// CHECK-J-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-J-NEXT: Location: +// CHECK-J-NEXT: - LineNumber: 189 +// CHECK-J-NEXT: Filename: {{.*}} +// CHECK-J-NEXT: ReturnType: +// CHECK-J-NEXT: Type: +// CHECK-J-NEXT: Name: 'void' +// CHECK-J-NEXT: ... + +// CHECK-K: --- +// CHECK-K-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-K-NEXT: Name: 'namedInlineFunction' +// CHECK-K-NEXT: Namespace: +// CHECK-K-NEXT: - Type: Namespace +// CHECK-K-NEXT: Name: 'named' +// CHECK-K-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-K-NEXT: Location: +// CHECK-K-NEXT: - LineNumber: 191 +// CHECK-K-NEXT: Filename: {{.*}} +// CHECK-K-NEXT: ReturnType: +// CHECK-K-NEXT: Type: +// CHECK-K-NEXT: Name: 'void' +// CHECK-K-NEXT: ... + +// CHECK-L: --- +// CHECK-L-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-L-NEXT: Name: 'namedPublicMethod' +// CHECK-L-NEXT: Namespace: +// CHECK-L-NEXT: - Type: Record +// CHECK-L-NEXT: Name: 'NamedClass' +// CHECK-L-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-L-NEXT: - Type: Namespace +// CHECK-L-NEXT: Name: 'named' +// CHECK-L-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-L-NEXT: Location: +// CHECK-L-NEXT: - LineNumber: 179 +// CHECK-L-NEXT: Filename: {{.*}} +// CHECK-L-NEXT: IsMethod: true +// CHECK-L-NEXT: Parent: +// CHECK-L-NEXT: Type: Record +// CHECK-L-NEXT: Name: 'NamedClass' +// CHECK-L-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-L-NEXT: ReturnType: +// CHECK-L-NEXT: Type: +// CHECK-L-NEXT: Name: 'void' +// CHECK-L-NEXT: ... + +// CHECK-M: --- +// CHECK-M-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-M-NEXT: Name: 'namedProtectedMethod' +// CHECK-M-NEXT: Namespace: +// CHECK-M-NEXT: - Type: Record +// CHECK-M-NEXT: Name: 'NamedClass' +// CHECK-M-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-M-NEXT: - Type: Namespace +// CHECK-M-NEXT: Name: 'named' +// CHECK-M-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-M-NEXT: Location: +// CHECK-M-NEXT: - LineNumber: 182 +// CHECK-M-NEXT: Filename: {{.*}} +// CHECK-M-NEXT: IsMethod: true +// CHECK-M-NEXT: Parent: +// CHECK-M-NEXT: Type: Record +// CHECK-M-NEXT: Name: 'NamedClass' +// CHECK-M-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-M-NEXT: ReturnType: +// CHECK-M-NEXT: Type: +// CHECK-M-NEXT: Name: 'void' +// CHECK-M-NEXT: ... + + +static void staticFunction(int x); //Internal Linkage + +static int staticFunctionWithInnerClass(int x){ + class InnerClass { //NoLinkage + public: + int innerPublicMethod() { return 2; }; + }; //end class + InnerClass temp; + return temp.innerPublicMethod(); +}; + +namespace{ + class AnonClass { + public: + void anonPublicMethod(); + int anonPublicField; + protected: + void anonProtectedMethod(); + int anonProtectedField; + private: + void anonPrivateMethod(); + int anonPrivateField; + }; + + void anonFunction(); + static void anonStaticFunction(); + inline void anonInlineFunction(); +} + +// CHECK-N: docs-without-flag: .yaml +// CHECK-N-NEXT: docs-without-flag: AnonClass +// CHECK-N-NEXT: docs-without-flag: AnonClass.yaml +// CHECK-N-NEXT: Class: privateMethod.yaml +// CHECK-N-NEXT: Class.yaml differ +// CHECK-N-NEXT: docs-without-flag: anonFunction.yaml +// CHECK-N-NEXT: docs-without-flag: anonInlineFunction.yaml +// CHECK-N-NEXT: docs-without-flag: anonStaticFunction.yaml +// CHECK-N-NEXT: docs-without-flag: functionWithInnerClass +// CHECK-N-NEXT: docs-without-flag: inlinedFunctionWithInnerClass +// CHECK-N-NEXT: NamedClass: namedPrivateMethod.yaml +// CHECK-N-NEXT: NamedClass.yaml differ +// CHECK-N-NEXT: named: namedStaticFunction.yaml +// CHECK-N-NEXT: docs-without-flag: staticFunction.yaml +// CHECK-N-NEXT: docs-without-flag: staticFunctionWithInnerClass +// CHECK-N-NEXT: docs-without-flag: staticFunctionWithInnerClass.yaml diff --git a/clang-tools-extra/test/clang-doc/test_cases/linkage.cpp b/clang-tools-extra/test/clang-doc/test_cases/linkage.cpp deleted file mode 100644 index ed4b4a30345..00000000000 --- a/clang-tools-extra/test/clang-doc/test_cases/linkage.cpp +++ /dev/null @@ -1,95 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace diff --git a/clang-tools-extra/test/clang-doc/test_cases/module.cpp b/clang-tools-extra/test/clang-doc/test_cases/module.cpp deleted file mode 100644 index 3c30a5476f8..00000000000 --- a/clang-tools-extra/test/clang-doc/test_cases/module.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage diff --git a/clang-tools-extra/test/clang-doc/yaml-comment.cpp b/clang-tools-extra/test/clang-doc/yaml-comment.cpp index 7aa8e64d50d..445e2be199c 100644 --- a/clang-tools-extra/test/clang-doc/yaml-comment.cpp +++ b/clang-tools-extra/test/clang-doc/yaml-comment.cpp @@ -27,112 +27,110 @@ void F(int I, int J); /// Bonus comment on definition void F(int I, int J) {} -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --format=yaml --doxygen -p %t %t/test.cpp -output=%t/docs -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0 +// RUN: cat %t/docs/./F.yaml | FileCheck %s --check-prefix CHECK-0 // CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'F' -// CHECK-0-NEXT: Description: -// CHECK-0-NEXT: - Kind: 'FullComment' +// CHECK-0-NEXT: USR: '7574630614A535710E5A6ABCFFF98BCA2D06A4CA' +// CHECK-0-NEXT: Name: 'F' +// CHECK-0-NEXT: Description: +// CHECK-0-NEXT: - Kind: 'FullComment' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'ParagraphComment' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: - Kind: 'BlockCommandComment' +// CHECK-0-NEXT: Name: 'brief' // CHECK-0-NEXT: Children: // CHECK-0-NEXT: - Kind: 'ParagraphComment' // CHECK-0-NEXT: Children: // CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'BlockCommandComment' -// CHECK-0-NEXT: Name: 'brief' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Brief description.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Extended description that' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' continues onto the next line.' +// CHECK-0-NEXT: Text: ' Brief description.' +// CHECK-0-NEXT: - Kind: 'ParagraphComment' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: Text: ' Extended description that' +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: Text: ' continues onto the next line.' +// CHECK-0-NEXT: - Kind: 'ParagraphComment' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' +// CHECK-0-NEXT: Name: 'ul' +// CHECK-0-NEXT: AttrKeys: +// CHECK-0-NEXT: - 'class' +// CHECK-0-NEXT: AttrValues: +// CHECK-0-NEXT: - 'test' +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' +// CHECK-0-NEXT: Name: 'li' +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: Text: ' Testing.' +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: - Kind: 'HTMLEndTagComment' +// CHECK-0-NEXT: Name: 'ul' +// CHECK-0-NEXT: SelfClosing: true +// CHECK-0-NEXT: - Kind: 'ParagraphComment' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: - Kind: 'VerbatimBlockComment' +// CHECK-0-NEXT: Name: 'verbatim' +// CHECK-0-NEXT: CloseName: 'endverbatim' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'VerbatimBlockLineComment' +// CHECK-0-NEXT: Text: ' The description continues.' +// CHECK-0-NEXT: - Kind: 'ParagraphComment' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: Text: ' --' +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: - Kind: 'ParamCommandComment' +// CHECK-0-NEXT: Direction: '[out]' +// CHECK-0-NEXT: ParamName: 'I' +// CHECK-0-NEXT: Explicit: true +// CHECK-0-NEXT: Children: // CHECK-0-NEXT: - Kind: 'ParagraphComment' // CHECK-0-NEXT: Children: // CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' -// CHECK-0-NEXT: Name: 'ul' -// CHECK-0-NEXT: AttrKeys: -// CHECK-0-NEXT: - 'class' -// CHECK-0-NEXT: AttrValues: -// CHECK-0-NEXT: - 'test' +// CHECK-0-NEXT: Text: ' is a parameter.' // CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' -// CHECK-0-NEXT: Name: 'li' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Testing.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLEndTagComment' -// CHECK-0-NEXT: Name: 'ul' -// CHECK-0-NEXT: SelfClosing: true -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'VerbatimBlockComment' -// CHECK-0-NEXT: Name: 'verbatim' -// CHECK-0-NEXT: CloseName: 'endverbatim' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'VerbatimBlockLineComment' -// CHECK-0-NEXT: Text: ' The description continues.' +// CHECK-0-NEXT: - Kind: 'ParamCommandComment' +// CHECK-0-NEXT: Direction: '[in]' +// CHECK-0-NEXT: ParamName: 'J' +// CHECK-0-NEXT: Children: // CHECK-0-NEXT: - Kind: 'ParagraphComment' // CHECK-0-NEXT: Children: // CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' --' +// CHECK-0-NEXT: Text: ' is a parameter.' // CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'ParamCommandComment' -// CHECK-0-NEXT: Direction: '[out]' -// CHECK-0-NEXT: ParamName: 'I' -// CHECK-0-NEXT: Explicit: true -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' is a parameter.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'ParamCommandComment' -// CHECK-0-NEXT: Direction: '[in]' -// CHECK-0-NEXT: ParamName: 'J' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' is a parameter.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'BlockCommandComment' -// CHECK-0-NEXT: Name: 'return' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' void' -// CHECK-0-NEXT: - Kind: 'FullComment' +// CHECK-0-NEXT: - Kind: 'BlockCommandComment' +// CHECK-0-NEXT: Name: 'return' // CHECK-0-NEXT: Children: // CHECK-0-NEXT: - Kind: 'ParagraphComment' // CHECK-0-NEXT: Children: // CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Bonus comment on definition' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 28 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 25 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'I' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'J' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' +// CHECK-0-NEXT: Text: ' void' +// CHECK-0-NEXT: - Kind: 'FullComment' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'ParagraphComment' +// CHECK-0-NEXT: Children: +// CHECK-0-NEXT: - Kind: 'TextComment' +// CHECK-0-NEXT: Text: ' Bonus comment on definition' +// CHECK-0-NEXT: DefLocation: +// CHECK-0-NEXT: LineNumber: 28 +// CHECK-0-NEXT: Filename: 'test' +// CHECK-0-NEXT: Location: +// CHECK-0-NEXT: - LineNumber: 25 +// CHECK-0-NEXT: Filename: 'test' +// CHECK-0-NEXT: Params: +// CHECK-0-NEXT: - Type: +// CHECK-0-NEXT: Name: 'int' +// CHECK-0-NEXT: Name: 'I' +// CHECK-0-NEXT: - Type: +// CHECK-0-NEXT: Name: 'int' +// CHECK-0-NEXT: Name: 'J' +// CHECK-0-NEXT: ReturnType: +// CHECK-0-NEXT: Type: +// CHECK-0-NEXT: Name: 'void' // CHECK-0-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/yaml-linkage.cpp b/clang-tools-extra/test/clang-doc/yaml-linkage.cpp deleted file mode 100644 index 3a0aa5bf92b..00000000000 --- a/clang-tools-extra/test/clang-doc/yaml-linkage.cpp +++ /dev/null @@ -1,529 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./Class.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 32 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: TagType: Class -// CHECK-0-NEXT: Members: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'publicField' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'protectedField' -// CHECK-0-NEXT: Access: Protected -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'privateField' -// CHECK-0-NEXT: Access: Private -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'publicMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 34 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'protectedMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 38 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'privateMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 42 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/./named.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: ChildFunctions: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 61 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedStaticFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 62 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedInlineFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 63 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: ... - -// RUN: cat %t/docs/./AnonClass.yaml | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: --- -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: Namespace: -// CHECK-2-NEXT: - Type: Namespace -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 78 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: TagType: Class -// CHECK-2-NEXT: Members: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'anonPublicField' -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'anonProtectedField' -// CHECK-2-NEXT: Access: Protected -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'anonPrivateField' -// CHECK-2-NEXT: Access: Private -// CHECK-2-NEXT: ChildFunctions: -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'anonPublicMethod' -// CHECK-2-NEXT: Namespace: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: - Type: Namespace -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 80 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: IsMethod: true -// CHECK-2-NEXT: Parent: -// CHECK-2-NEXT: Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'void' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'anonProtectedMethod' -// CHECK-2-NEXT: Namespace: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: - Type: Namespace -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 84 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: IsMethod: true -// CHECK-2-NEXT: Parent: -// CHECK-2-NEXT: Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'void' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'anonPrivateMethod' -// CHECK-2-NEXT: Namespace: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: - Type: Namespace -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 88 -// CHECK-2-NEXT: Filename: 'test' -// CHECK-2-NEXT: IsMethod: true -// CHECK-2-NEXT: Parent: -// CHECK-2-NEXT: Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'void' -// CHECK-2-NEXT: ... - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: --- -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ChildFunctions: -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'anonFunction' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 92 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'anonStaticFunction' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 93 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'anonInlineFunction' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 94 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: ... - -// RUN: cat %t/docs/staticFunctionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: --- -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'InnerClass' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Function -// CHECK-4-NEXT: Name: 'staticFunctionWithInnerClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 69 -// CHECK-4-NEXT: Filename: 'test' -// CHECK-4-NEXT: TagType: Class -// CHECK-4-NEXT: ChildFunctions: -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'innerPublicMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'InnerClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: - Type: Function -// CHECK-4-NEXT: Name: 'staticFunctionWithInnerClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 71 -// CHECK-4-NEXT: Filename: 'test' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'InnerClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'int' -// CHECK-4-NEXT: ... - -// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: --- -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Name: 'NamedClass' -// CHECK-5-NEXT: Namespace: -// CHECK-5-NEXT: - Type: Namespace -// CHECK-5-NEXT: Name: 'named' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: DefLocation: -// CHECK-5-NEXT: LineNumber: 47 -// CHECK-5-NEXT: Filename: 'test' -// CHECK-5-NEXT: TagType: Class -// CHECK-5-NEXT: Members: -// CHECK-5-NEXT: - Type: -// CHECK-5-NEXT: Name: 'int' -// CHECK-5-NEXT: Name: 'namedPublicField' -// CHECK-5-NEXT: - Type: -// CHECK-5-NEXT: Name: 'int' -// CHECK-5-NEXT: Name: 'namedProtectedField' -// CHECK-5-NEXT: Access: Protected -// CHECK-5-NEXT: - Type: -// CHECK-5-NEXT: Name: 'int' -// CHECK-5-NEXT: Name: 'namedPrivateField' -// CHECK-5-NEXT: Access: Private -// CHECK-5-NEXT: ChildFunctions: -// CHECK-5-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Name: 'namedPublicMethod' -// CHECK-5-NEXT: Namespace: -// CHECK-5-NEXT: - Type: Record -// CHECK-5-NEXT: Name: 'NamedClass' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: - Type: Namespace -// CHECK-5-NEXT: Name: 'named' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Location: -// CHECK-5-NEXT: - LineNumber: 49 -// CHECK-5-NEXT: Filename: 'test' -// CHECK-5-NEXT: IsMethod: true -// CHECK-5-NEXT: Parent: -// CHECK-5-NEXT: Type: Record -// CHECK-5-NEXT: Name: 'NamedClass' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: ReturnType: -// CHECK-5-NEXT: Type: -// CHECK-5-NEXT: Name: 'void' -// CHECK-5-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Name: 'namedProtectedMethod' -// CHECK-5-NEXT: Namespace: -// CHECK-5-NEXT: - Type: Record -// CHECK-5-NEXT: Name: 'NamedClass' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: - Type: Namespace -// CHECK-5-NEXT: Name: 'named' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Location: -// CHECK-5-NEXT: - LineNumber: 53 -// CHECK-5-NEXT: Filename: 'test' -// CHECK-5-NEXT: IsMethod: true -// CHECK-5-NEXT: Parent: -// CHECK-5-NEXT: Type: Record -// CHECK-5-NEXT: Name: 'NamedClass' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: ReturnType: -// CHECK-5-NEXT: Type: -// CHECK-5-NEXT: Name: 'void' -// CHECK-5-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Name: 'namedPrivateMethod' -// CHECK-5-NEXT: Namespace: -// CHECK-5-NEXT: - Type: Record -// CHECK-5-NEXT: Name: 'NamedClass' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: - Type: Namespace -// CHECK-5-NEXT: Name: 'named' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Location: -// CHECK-5-NEXT: - LineNumber: 57 -// CHECK-5-NEXT: Filename: 'test' -// CHECK-5-NEXT: IsMethod: true -// CHECK-5-NEXT: Parent: -// CHECK-5-NEXT: Type: Record -// CHECK-5-NEXT: Name: 'NamedClass' -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: ReturnType: -// CHECK-5-NEXT: Type: -// CHECK-5-NEXT: Name: 'void' -// CHECK-5-NEXT: ... - -// RUN: cat %t/docs/functionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: --- -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'InnerClass' -// CHECK-6-NEXT: Namespace: -// CHECK-6-NEXT: - Type: Function -// CHECK-6-NEXT: Name: 'functionWithInnerClass' -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 15 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: TagType: Class -// CHECK-6-NEXT: ChildFunctions: -// CHECK-6-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'innerPublicMethod' -// CHECK-6-NEXT: Namespace: -// CHECK-6-NEXT: - Type: Record -// CHECK-6-NEXT: Name: 'InnerClass' -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: - Type: Function -// CHECK-6-NEXT: Name: 'functionWithInnerClass' -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 17 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: IsMethod: true -// CHECK-6-NEXT: Parent: -// CHECK-6-NEXT: Type: Record -// CHECK-6-NEXT: Name: 'InnerClass' -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: ReturnType: -// CHECK-6-NEXT: Type: -// CHECK-6-NEXT: Name: 'int' -// CHECK-6-NEXT: ... - -// RUN: cat %t/docs/inlinedFunctionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-7 -// CHECK-7: --- -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'InnerClass' -// CHECK-7-NEXT: Namespace: -// CHECK-7-NEXT: - Type: Function -// CHECK-7-NEXT: Name: 'inlinedFunctionWithInnerClass' -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 24 -// CHECK-7-NEXT: Filename: 'test' -// CHECK-7-NEXT: TagType: Class -// CHECK-7-NEXT: ChildFunctions: -// CHECK-7-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'innerPublicMethod' -// CHECK-7-NEXT: Namespace: -// CHECK-7-NEXT: - Type: Record -// CHECK-7-NEXT: Name: 'InnerClass' -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: - Type: Function -// CHECK-7-NEXT: Name: 'inlinedFunctionWithInnerClass' -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 26 -// CHECK-7-NEXT: Filename: 'test' -// CHECK-7-NEXT: IsMethod: true -// CHECK-7-NEXT: Parent: -// CHECK-7-NEXT: Type: Record -// CHECK-7-NEXT: Name: 'InnerClass' -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: ReturnType: -// CHECK-7-NEXT: Type: -// CHECK-7-NEXT: Name: 'int' -// CHECK-7-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/yaml-module.cpp b/clang-tools-extra/test/clang-doc/yaml-module.cpp deleted file mode 100644 index 80602aca81a..00000000000 --- a/clang-tools-extra/test/clang-doc/yaml-module.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage - -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'moduleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 11 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'x' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'staticModuleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 13 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'x' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'exportedModuleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 15 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'double' -// CHECK-0-NEXT: Name: 'y' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'z' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'double' -// CHECK-0-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/yaml-namespace.cpp b/clang-tools-extra/test/clang-doc/yaml-namespace.cpp index d187f7e39d7..c547c5c496f 100644 --- a/clang-tools-extra/test/clang-doc/yaml-namespace.cpp +++ b/clang-tools-extra/test/clang-doc/yaml-namespace.cpp @@ -25,72 +25,81 @@ E func(int i) { return X; } } // namespace B } // namespace A -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --format=yaml --doxygen -p %t %t/test.cpp -output=%t/docs // RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-0 // CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-0-NEXT: USR: '8D042EFFC98B373450BC6B5B90A330C25A150E9C' // CHECK-0-NEXT: Name: 'A' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'f' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Namespace -// CHECK-0-NEXT: Name: 'A' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 17 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 11 -// CHECK-0-NEXT: Filename: 'test' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' // CHECK-0-NEXT: ... -// RUN: cat %t/docs/A/B.yaml | FileCheck %s --check-prefix CHECK-1 +// RUN: cat %t/docs/A/f.yaml | FileCheck %s --check-prefix CHECK-1 // CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'B' +// CHECK-1-NEXT: USR: '39D3C95A5F7CE2BA4937BD7B01BAE09EBC2AD8AC' +// CHECK-1-NEXT: Name: 'f' // CHECK-1-NEXT: Namespace: // CHECK-1-NEXT: - Type: Namespace // CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: ChildFunctions: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'func' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 23 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: Params: -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'i' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'enum A::B::E' -// CHECK-1-NEXT: ChildEnums: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'E' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 21 -// CHECK-1-NEXT: Filename: 'test' -// CHECK-1-NEXT: Members: -// CHECK-1-NEXT: - 'X' +// CHECK-1-NEXT: USR: '8D042EFFC98B373450BC6B5B90A330C25A150E9C' +// CHECK-1-NEXT: DefLocation: +// CHECK-1-NEXT: LineNumber: 17 +// CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: Location: +// CHECK-1-NEXT: - LineNumber: 11 +// CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: ReturnType: +// CHECK-1-NEXT: Type: +// CHECK-1-NEXT: Name: 'void' // CHECK-1-NEXT: ... + +// RUN: cat %t/docs/A/B.yaml | FileCheck %s --check-prefix CHECK-2 +// CHECK-2: --- +// CHECK-2-NEXT: USR: 'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5' +// CHECK-2-NEXT: Name: 'B' +// CHECK-2-NEXT: Namespace: +// CHECK-2-NEXT: - Type: Namespace +// CHECK-2-NEXT: Name: 'A' +// CHECK-2-NEXT: USR: '8D042EFFC98B373450BC6B5B90A330C25A150E9C' +// CHECK-2-NEXT: ... + +// RUN: cat %t/docs/A/B/E.yaml | FileCheck %s --check-prefix CHECK-3 +// CHECK-3: --- +// CHECK-3-NEXT: USR: 'E9ABF7E7E2425B626723D41E76E4BC7E7A5BD775' +// CHECK-3-NEXT: Name: 'E' +// CHECK-3-NEXT: Namespace: +// CHECK-3-NEXT: - Type: Namespace +// CHECK-3-NEXT: Name: 'B' +// CHECK-3-NEXT: USR: 'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5' +// CHECK-3-NEXT: - Type: Namespace +// CHECK-3-NEXT: Name: 'A' +// CHECK-3-NEXT: USR: '8D042EFFC98B373450BC6B5B90A330C25A150E9C' +// CHECK-3-NEXT: DefLocation: +// CHECK-3-NEXT: LineNumber: 21 +// CHECK-3-NEXT: Filename: 'test' +// CHECK-3-NEXT: Members: +// CHECK-3-NEXT: - 'X' +// CHECK-3-NEXT: ... + +// RUN: cat %t/docs/A/B/func.yaml | FileCheck %s --check-prefix CHECK-4 +// CHECK-4: --- +// CHECK-4-NEXT: USR: '9A82CB33ED0FDF81EE383D31CD0957D153C5E840' +// CHECK-4-NEXT: Name: 'func' +// CHECK-4-NEXT: Namespace: +// CHECK-4-NEXT: - Type: Namespace +// CHECK-4-NEXT: Name: 'B' +// CHECK-4-NEXT: USR: 'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5' +// CHECK-4-NEXT: - Type: Namespace +// CHECK-4-NEXT: Name: 'A' +// CHECK-4-NEXT: USR: '8D042EFFC98B373450BC6B5B90A330C25A150E9C' +// CHECK-4-NEXT: DefLocation: +// CHECK-4-NEXT: LineNumber: 23 +// CHECK-4-NEXT: Filename: 'test' +// CHECK-4-NEXT: Params: +// CHECK-4-NEXT: - Type: +// CHECK-4-NEXT: Name: 'int' +// CHECK-4-NEXT: Name: 'i' +// CHECK-4-NEXT: ReturnType: +// CHECK-4-NEXT: Type: +// CHECK-4-NEXT: Name: 'enum A::B::E' +// CHECK-4-NEXT: ... diff --git a/clang-tools-extra/test/clang-doc/yaml-record.cpp b/clang-tools-extra/test/clang-doc/yaml-record.cpp index 8fad2201751..1d5235f5cc6 100644 --- a/clang-tools-extra/test/clang-doc/yaml-record.cpp +++ b/clang-tools-extra/test/clang-doc/yaml-record.cpp @@ -39,12 +39,12 @@ class X { class Y {}; }; -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --format=yaml --doxygen -p %t %t/test.cpp -output=%t/docs // RUN: cat %t/docs/./C.yaml | FileCheck %s --check-prefix CHECK-0 // CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-0-NEXT: USR: '06B5F6A19BA9F6A832E127C9968282B94619B210' // CHECK-0-NEXT: Name: 'C' // CHECK-0-NEXT: DefLocation: // CHECK-0-NEXT: LineNumber: 21 @@ -57,7 +57,7 @@ class X { // RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-1 // CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-1-NEXT: USR: 'ACE81AFA6627B4CEF2B456FB6E1252925674AF7E' // CHECK-1-NEXT: Name: 'A' // CHECK-1-NEXT: DefLocation: // CHECK-1-NEXT: LineNumber: 15 @@ -74,7 +74,7 @@ class X { // RUN: cat %t/docs/./F.yaml | FileCheck %s --check-prefix CHECK-2 // CHECK-2: --- -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-2-NEXT: USR: 'E3B54702FABFF4037025BA194FC27C47006330B5' // CHECK-2-NEXT: Name: 'F' // CHECK-2-NEXT: DefLocation: // CHECK-2-NEXT: LineNumber: 36 @@ -83,81 +83,26 @@ class X { // CHECK-2-NEXT: Parents: // CHECK-2-NEXT: - Type: Record // CHECK-2-NEXT: Name: 'E' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-2-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1' // CHECK-2-NEXT: VirtualParents: // CHECK-2-NEXT: - Type: Record // CHECK-2-NEXT: Name: 'D' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-2-NEXT: USR: '0921737541208B8FA9BB42B60F78AC1D779AA054' // CHECK-2-NEXT: ... // RUN: cat %t/docs/./E.yaml | FileCheck %s --check-prefix CHECK-3 // CHECK-3: --- -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-3-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1' // CHECK-3-NEXT: Name: 'E' // CHECK-3-NEXT: DefLocation: // CHECK-3-NEXT: LineNumber: 25 // CHECK-3-NEXT: Filename: 'test' // CHECK-3-NEXT: TagType: Class -// CHECK-3-NEXT: ChildFunctions: -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 27 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: '~E' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 28 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'ProtectedMethod' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 34 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 31 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' // CHECK-3-NEXT: ... // RUN: cat %t/docs/./D.yaml | FileCheck %s --check-prefix CHECK-4 // CHECK-4: --- -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-4-NEXT: USR: '0921737541208B8FA9BB42B60F78AC1D779AA054' // CHECK-4-NEXT: Name: 'D' // CHECK-4-NEXT: DefLocation: // CHECK-4-NEXT: LineNumber: 23 @@ -165,72 +110,143 @@ class X { // CHECK-4-NEXT: TagType: Class // CHECK-4-NEXT: ... -// RUN: cat %t/docs/./X.yaml | FileCheck %s --check-prefix CHECK-5 +// RUN: cat %t/docs/./B.yaml | FileCheck %s --check-prefix CHECK-5 // CHECK-5: --- -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Name: 'X' +// CHECK-5-NEXT: USR: 'FC07BD34D5E77782C263FA944447929EA8753740' +// CHECK-5-NEXT: Name: 'B' // CHECK-5-NEXT: DefLocation: -// CHECK-5-NEXT: LineNumber: 38 +// CHECK-5-NEXT: LineNumber: 17 // CHECK-5-NEXT: Filename: 'test' -// CHECK-5-NEXT: TagType: Class +// CHECK-5-NEXT: Members: +// CHECK-5-NEXT: - 'X' +// CHECK-5-NEXT: - 'Y' // CHECK-5-NEXT: ... -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-6 +// RUN: cat %t/docs/./X.yaml | FileCheck %s --check-prefix CHECK-6 // CHECK-6: --- -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: ChildFunctions: -// CHECK-6-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'H' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 11 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: ReturnType: -// CHECK-6-NEXT: Type: -// CHECK-6-NEXT: Name: 'void' -// CHECK-6-NEXT: ChildEnums: -// CHECK-6-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'B' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 17 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: Members: -// CHECK-6-NEXT: - 'X' -// CHECK-6-NEXT: - 'Y' -// CHECK-6-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'Bc' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 19 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: Scoped: true -// CHECK-6-NEXT: Members: -// CHECK-6-NEXT: - 'A' -// CHECK-6-NEXT: - 'B' +// CHECK-6-NEXT: USR: 'CA7C7935730B5EACD25F080E9C83FA087CCDC75E' +// CHECK-6-NEXT: Name: 'X' +// CHECK-6-NEXT: DefLocation: +// CHECK-6-NEXT: LineNumber: 38 +// CHECK-6-NEXT: Filename: 'test' +// CHECK-6-NEXT: TagType: Class // CHECK-6-NEXT: ... -// RUN: cat %t/docs/H/I.yaml | FileCheck %s --check-prefix CHECK-7 +// RUN: cat %t/docs/./H.yaml | FileCheck %s --check-prefix CHECK-7 // CHECK-7: --- -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'I' -// CHECK-7-NEXT: Namespace: -// CHECK-7-NEXT: - Type: Function -// CHECK-7-NEXT: Name: 'H' -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-7-NEXT: USR: 'B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E' +// CHECK-7-NEXT: Name: 'H' // CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 12 +// CHECK-7-NEXT: LineNumber: 11 // CHECK-7-NEXT: Filename: 'test' -// CHECK-7-NEXT: TagType: Class +// CHECK-7-NEXT: ReturnType: +// CHECK-7-NEXT: Type: +// CHECK-7-NEXT: Name: 'void' // CHECK-7-NEXT: ... -// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix CHECK-8 +// RUN: cat %t/docs/./Bc.yaml | FileCheck %s --check-prefix CHECK-8 // CHECK-8: --- -// CHECK-8-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-8-NEXT: Name: 'Y' -// CHECK-8-NEXT: Namespace: -// CHECK-8-NEXT: - Type: Record -// CHECK-8-NEXT: Name: 'X' -// CHECK-8-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-8-NEXT: USR: '1E3438A08BA22025C0B46289FF0686F92C8924C5' +// CHECK-8-NEXT: Name: 'Bc' // CHECK-8-NEXT: DefLocation: -// CHECK-8-NEXT: LineNumber: 39 +// CHECK-8-NEXT: LineNumber: 19 // CHECK-8-NEXT: Filename: 'test' -// CHECK-8-NEXT: TagType: Class +// CHECK-8-NEXT: Scoped: true +// CHECK-8-NEXT: Members: +// CHECK-8-NEXT: - 'A' +// CHECK-8-NEXT: - 'B' // CHECK-8-NEXT: ... + +// RUN: cat %t/docs/H/I.yaml | FileCheck %s --check-prefix CHECK-9 +// CHECK-9: --- +// CHECK-9-NEXT: USR: '3FB542274573CAEAD54CEBFFCAEE3D77FB9713D8' +// CHECK-9-NEXT: Name: 'I' +// CHECK-9-NEXT: Namespace: +// CHECK-9-NEXT: - Type: Function +// CHECK-9-NEXT: Name: 'H' +// CHECK-9-NEXT: USR: 'B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E' +// CHECK-9-NEXT: DefLocation: +// CHECK-9-NEXT: LineNumber: 12 +// CHECK-9-NEXT: Filename: 'test' +// CHECK-9-NEXT: TagType: Class +// CHECK-9-NEXT: ... + +// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix CHECK-10 +// CHECK-10: --- +// CHECK-10-NEXT: USR: '641AB4A3D36399954ACDE29C7A8833032BF40472' +// CHECK-10-NEXT: Name: 'Y' +// CHECK-10-NEXT: Namespace: +// CHECK-10-NEXT: - Type: Record +// CHECK-10-NEXT: Name: 'X' +// CHECK-10-NEXT: USR: 'CA7C7935730B5EACD25F080E9C83FA087CCDC75E' +// CHECK-10-NEXT: DefLocation: +// CHECK-10-NEXT: LineNumber: 39 +// CHECK-10-NEXT: Filename: 'test' +// CHECK-10-NEXT: TagType: Class +// CHECK-10-NEXT: ... + +// RUN: cat %t/docs/E/ProtectedMethod.yaml | FileCheck %s --check-prefix CHECK-11 +// CHECK-11: --- +// CHECK-11-NEXT: USR: '5093D428CDC62096A67547BA52566E4FB9404EEE' +// CHECK-11-NEXT: Name: 'ProtectedMethod' +// CHECK-11-NEXT: Namespace: +// CHECK-11-NEXT: - Type: Record +// CHECK-11-NEXT: Name: 'E' +// CHECK-11-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1' +// CHECK-11-NEXT: DefLocation: +// CHECK-11-NEXT: LineNumber: 34 +// CHECK-11-NEXT: Filename: 'test' +// CHECK-11-NEXT: Location: +// CHECK-11-NEXT: - LineNumber: 31 +// CHECK-11-NEXT: Filename: 'test' +// CHECK-11-NEXT: IsMethod: true +// CHECK-11-NEXT: Parent: +// CHECK-11-NEXT: Type: Record +// CHECK-11-NEXT: Name: 'E' +// CHECK-11-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1' +// CHECK-11-NEXT: ReturnType: +// CHECK-11-NEXT: Type: +// CHECK-11-NEXT: Name: 'void' +// CHECK-11-NEXT: ... + +// RUN: cat %t/docs/E/E.yaml | FileCheck %s --check-prefix CHECK-12 +// CHECK-12: --- +// CHECK-12-NEXT: USR: 'DEB4AC1CD9253CD9EF7FBE6BCAC506D77984ABD4' +// CHECK-12-NEXT: Name: 'E' +// CHECK-12-NEXT: Namespace: +// CHECK-12-NEXT: - Type: Record +// CHECK-12-NEXT: Name: 'E' +// CHECK-12-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1' +// CHECK-12-NEXT: DefLocation: +// CHECK-12-NEXT: LineNumber: 27 +// CHECK-12-NEXT: Filename: 'test' +// CHECK-12-NEXT: IsMethod: true +// CHECK-12-NEXT: Parent: +// CHECK-12-NEXT: Type: Record +// CHECK-12-NEXT: Name: 'E' +// CHECK-12-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1' +// CHECK-12-NEXT: ReturnType: +// CHECK-12-NEXT: Type: +// CHECK-12-NEXT: Name: 'void' +// CHECK-12-NEXT: ... + +// RUN: cat %t/docs/E/~E.yaml | FileCheck %s --check-prefix CHECK-13 +// CHECK-13: --- +// CHECK-13-NEXT: USR: 'BD2BDEBD423F80BACCEA75DE6D6622D355FC2D17' +// CHECK-13-NEXT: Name: '~E' +// CHECK-13-NEXT: Namespace: +// CHECK-13-NEXT: - Type: Record +// CHECK-13-NEXT: Name: 'E' +// CHECK-13-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1' +// CHECK-13-NEXT: DefLocation: +// CHECK-13-NEXT: LineNumber: 28 +// CHECK-13-NEXT: Filename: 'test' +// CHECK-13-NEXT: IsMethod: true +// CHECK-13-NEXT: Parent: +// CHECK-13-NEXT: Type: Record +// CHECK-13-NEXT: Name: 'E' +// CHECK-13-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1' +// CHECK-13-NEXT: ReturnType: +// CHECK-13-NEXT: Type: +// CHECK-13-NEXT: Name: 'void' +// CHECK-13-NEXT: ... |