Index: clang-tools-extra/clang-doc/Representation.h =================================================================== --- clang-tools-extra/clang-doc/Representation.h +++ clang-tools-extra/clang-doc/Representation.h @@ -175,6 +175,7 @@ void mergeBase(Info &&I); bool mergeable(const Info &Other); + llvm::SmallString<16> extractFileName(); // Returns a reference to the parent scope (that is, the immediate parent // namespace or class in which this decl resides). Index: clang-tools-extra/clang-doc/Representation.cpp =================================================================== --- clang-tools-extra/clang-doc/Representation.cpp +++ clang-tools-extra/clang-doc/Representation.cpp @@ -22,6 +22,7 @@ //===----------------------------------------------------------------------===// #include "Representation.h" #include "llvm/Support/Error.h" +#include "llvm/Support/Path.h" namespace clang { namespace doc { @@ -189,5 +190,30 @@ SymbolInfo::merge(std::move(Other)); } +llvm::SmallString<16> Info::extractFileName() { + switch (IT) { + case InfoType::IT_namespace: + // The case of anonymous namespaces is taken care of in serialization, so + // here we can safely assume an unnamed namespace is the global one. + return Name.empty() ? llvm::SmallString<16>("GlobalNamespace") : Name; + case InfoType::IT_record: + return Name.empty() ? llvm::SmallString<16>("@nonymous_record_" + + toHex(llvm::toStringRef(USR))) + : Name; + case InfoType::IT_enum: + return Name.empty() ? llvm::SmallString<16>("@nonymous_enum_" + + toHex(llvm::toStringRef(USR))) + : Name; + case InfoType::IT_function: + return Name.empty() ? llvm::SmallString<16>("@nonymous_function_" + + toHex(llvm::toStringRef(USR))) + : Name; + case InfoType::IT_default: + return Name.empty() ? llvm::SmallString<16>("@nonymous_" + + toHex(llvm::toStringRef(USR))) + : Name; + } +} + } // namespace doc } // namespace clang Index: clang-tools-extra/clang-doc/Serialize.cpp =================================================================== --- clang-tools-extra/clang-doc/Serialize.cpp +++ clang-tools-extra/clang-doc/Serialize.cpp @@ -268,13 +268,19 @@ template static void populateParentNamespaces(llvm::SmallVector &Namespaces, - const T *D) { + const T *D, bool &IsAnonymousNamespace) { const auto *DC = dyn_cast(D); while ((DC = DC->getParent())) { - if (const auto *N = dyn_cast(DC)) - Namespaces.emplace_back(getUSRForDecl(N), N->getNameAsString(), + if (const auto *N = dyn_cast(DC)) { + std::string Namespace; + if (N->isAnonymousNamespace()) { + Namespace = "@nonymous"; + IsAnonymousNamespace = true; + } else + N->getNameAsString(); + Namespaces.emplace_back(getUSRForDecl(N), Namespace, InfoType::IT_namespace); - else if (const auto *N = dyn_cast(DC)) + } else if (const auto *N = dyn_cast(DC)) Namespaces.emplace_back(getUSRForDecl(N), N->getNameAsString(), InfoType::IT_record); else if (const auto *N = dyn_cast(DC)) @@ -287,10 +293,11 @@ } template -static void populateInfo(Info &I, const T *D, const FullComment *C) { +static void populateInfo(Info &I, const T *D, const FullComment *C, + bool &IsInAnonymousNamespace) { I.USR = getUSRForDecl(D); I.Name = D->getNameAsString(); - populateParentNamespaces(I.Namespace, D); + populateParentNamespaces(I.Namespace, D, IsInAnonymousNamespace); if (C) { I.Description.emplace_back(); parseFullComment(C, I.Description.back()); @@ -299,8 +306,9 @@ template static void populateSymbolInfo(SymbolInfo &I, const T *D, const FullComment *C, - int LineNumber, StringRef Filename) { - populateInfo(I, D, C); + int LineNumber, StringRef Filename, + bool &IsInAnonymousNamespace) { + populateInfo(I, D, C, IsInAnonymousNamespace); if (D->isThisDeclarationADefinition()) I.DefLoc.emplace(LineNumber, Filename); else @@ -309,8 +317,9 @@ static void populateFunctionInfo(FunctionInfo &I, const FunctionDecl *D, const FullComment *FC, int LineNumber, - StringRef Filename) { - populateSymbolInfo(I, D, FC, LineNumber, Filename); + StringRef Filename, + bool &IsInAnonymousNamespace) { + populateSymbolInfo(I, D, FC, LineNumber, Filename, IsInAnonymousNamespace); if (const auto *T = getDeclForType(D->getReturnType())) { if (dyn_cast(T)) I.ReturnType = @@ -327,21 +336,27 @@ std::unique_ptr emitInfo(const NamespaceDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool PublicOnly) { - if (PublicOnly && ((D->isAnonymousNamespace()) || + auto I = llvm::make_unique(); + bool IsInAnonymousNamespace = false; + populateInfo(*I, D, FC, IsInAnonymousNamespace); + if (PublicOnly && ((IsInAnonymousNamespace || D->isAnonymousNamespace()) || !isPublic(D->getAccess(), D->getLinkageInternal()))) return nullptr; - auto I = llvm::make_unique(); - populateInfo(*I, D, FC); + I->Name = + D->isAnonymousNamespace() ? llvm::SmallString<16>("@nonymous") : I->Name; return std::unique_ptr{std::move(I)}; } std::unique_ptr 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(); - populateSymbolInfo(*I, D, FC, LineNumber, File); + bool IsInAnonymousNamespace = false; + populateSymbolInfo(*I, D, FC, LineNumber, File, IsInAnonymousNamespace); + if (PublicOnly && ((IsInAnonymousNamespace || + !isPublic(D->getAccess(), D->getLinkageInternal())))) + return nullptr; + I->TagType = D->getTagKind(); parseFields(*I, D, PublicOnly); if (const auto *C = dyn_cast(D)) @@ -352,10 +367,13 @@ std::unique_ptr 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); + bool IsInAnonymousNamespace = false; + populateFunctionInfo(Func, D, FC, LineNumber, File, IsInAnonymousNamespace); + if (PublicOnly && ((IsInAnonymousNamespace || + !isPublic(D->getAccess(), D->getLinkageInternal())))) + return nullptr; + Func.Access = clang::AccessSpecifier::AS_none; // Wrap in enclosing scope @@ -371,10 +389,13 @@ std::unique_ptr 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); + bool IsInAnonymousNamespace = false; + populateFunctionInfo(Func, D, FC, LineNumber, File, IsInAnonymousNamespace); + if (PublicOnly && ((IsInAnonymousNamespace || + !isPublic(D->getAccess(), D->getLinkageInternal())))) + return nullptr; + Func.IsMethod = true; SymbolID ParentUSR = getUSRForDecl(D->getParent()); @@ -392,10 +413,13 @@ std::unique_ptr 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); + bool IsInAnonymousNamespace = false; + populateSymbolInfo(Enum, D, FC, LineNumber, File, IsInAnonymousNamespace); + if (PublicOnly && ((IsInAnonymousNamespace || + !isPublic(D->getAccess(), D->getLinkageInternal())))) + return nullptr; + Enum.Scoped = D->isScoped(); parseEnumerators(Enum, D); Index: clang-tools-extra/clang-doc/tool/ClangDocMain.cpp =================================================================== --- clang-tools-extra/clang-doc/tool/ClangDocMain.cpp +++ clang-tools-extra/clang-doc/tool/ClangDocMain.cpp @@ -154,9 +154,6 @@ if (CreateDirectory(Path)) return llvm::make_error("Unable to create directory.\n", llvm::inconvertibleErrorCode()); - - if (Name.empty()) - Name = "GlobalNamespace"; llvm::sys::path::append(Path, Name + Ext); return Path; } @@ -273,8 +270,8 @@ } doc::Info *I = Reduced.get().get(); - auto InfoPath = - getInfoOutputFile(OutDirectory, I->Namespace, I->Name, "." + Format); + auto InfoPath = getInfoOutputFile(OutDirectory, I->Namespace, + I->extractFileName(), "." + Format); if (!InfoPath) { llvm::errs() << toString(InfoPath.takeError()) << "\n"; continue; Index: clang-tools-extra/test/clang-doc/bc-linkage.cpp =================================================================== --- clang-tools-extra/test/clang-doc/bc-linkage.cpp +++ clang-tools-extra/test/clang-doc/bc-linkage.cpp @@ -102,15 +102,14 @@ // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: blob data = 'named' -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: blob data = 'namedFunction' -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: @@ -122,12 +121,11 @@ // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: blob data = 'namedStaticFunction' -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: @@ -139,12 +137,11 @@ // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: blob data = 'namedInlineFunction' -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: @@ -387,12 +384,11 @@ // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: @@ -422,7 +418,7 @@ // CHECK-3-NEXT: blob data = 'namedPrivateField' // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: blob data = 'namedPublicMethod' // CHECK-3-NEXT: @@ -431,9 +427,8 @@ // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: @@ -452,7 +447,7 @@ // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: blob data = 'namedProtectedMethod' // CHECK-3-NEXT: @@ -461,9 +456,8 @@ // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: @@ -482,7 +476,7 @@ // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: blob data = 'namedPrivateMethod' // CHECK-3-NEXT: @@ -491,9 +485,8 @@ // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: @@ -519,11 +512,12 @@ // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: +// CHECK-4-NEXT: blob data = '@nonymous' // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: @@ -553,7 +547,7 @@ // CHECK-4-NEXT: blob data = 'anonPrivateField' // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: blob data = 'anonPublicMethod' // CHECK-4-NEXT: @@ -562,8 +556,9 @@ // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: +// CHECK-4-NEXT: blob data = '@nonymous' // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: @@ -582,7 +577,7 @@ // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: blob data = 'anonProtectedMethod' // CHECK-4-NEXT: @@ -591,8 +586,9 @@ // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: +// CHECK-4-NEXT: blob data = '@nonymous' // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: @@ -611,7 +607,7 @@ // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: blob data = 'anonPrivateMethod' // CHECK-4-NEXT: @@ -620,8 +616,9 @@ // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: +// CHECK-4-NEXT: blob data = '@nonymous' // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: @@ -647,13 +644,15 @@ // CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: -// CHECK-5-NEXT: +// CHECK-5-NEXT: blob data = '@nonymous' +// CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: blob data = 'anonFunction' -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: +// CHECK-5-NEXT: blob data = '@nonymous' // CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: @@ -665,11 +664,12 @@ // CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: blob data = 'anonStaticFunction' -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: +// CHECK-5-NEXT: blob data = '@nonymous' // CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: @@ -681,11 +681,12 @@ // CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: blob data = 'anonInlineFunction' -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: +// CHECK-5-NEXT: blob data = '@nonymous' // CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: Index: clang-tools-extra/test/clang-doc/bc-namespace.cpp =================================================================== --- clang-tools-extra/test/clang-doc/bc-namespace.cpp +++ clang-tools-extra/test/clang-doc/bc-namespace.cpp @@ -33,15 +33,14 @@ // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: blob data = 'A' -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: blob data = 'f' -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'A' // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: @@ -61,27 +60,24 @@ // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: blob data = 'B' -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'A' // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: blob data = 'func' -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'B' // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'A' // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: @@ -100,18 +96,16 @@ // CHECK-1-NEXT: blob data = 'i' // CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: blob data = 'E' -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'B' // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'A' // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: Index: clang-tools-extra/test/clang-doc/mapper-linkage.cpp =================================================================== --- clang-tools-extra/test/clang-doc/mapper-linkage.cpp +++ clang-tools-extra/test/clang-doc/mapper-linkage.cpp @@ -102,14 +102,13 @@ // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: blob data = 'namedInlineFunction' -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: @@ -187,9 +186,9 @@ // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: blob data = 'namedPrivateMethod' // CHECK-3-NEXT: @@ -198,9 +197,8 @@ // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: +// CHECK-3-NEXT: // CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' // CHECK-3-NEXT: // CHECK-3-NEXT: // CHECK-3-NEXT: @@ -226,9 +224,9 @@ // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: blob data = 'anonPrivateMethod' // CHECK-4-NEXT: @@ -237,8 +235,9 @@ // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: -// CHECK-4-NEXT: +// CHECK-4-NEXT: // CHECK-4-NEXT: +// CHECK-4-NEXT: blob data = '@nonymous' // CHECK-4-NEXT: // CHECK-4-NEXT: // CHECK-4-NEXT: @@ -264,13 +263,14 @@ // CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: blob data = 'anonInlineFunction' -// CHECK-5-NEXT: +// CHECK-5-NEXT: // CHECK-5-NEXT: +// CHECK-5-NEXT: blob data = '@nonymous' // CHECK-5-NEXT: // CHECK-5-NEXT: // CHECK-5-NEXT: Index: clang-tools-extra/test/clang-doc/mapper-namespace.cpp =================================================================== --- clang-tools-extra/test/clang-doc/mapper-namespace.cpp +++ clang-tools-extra/test/clang-doc/mapper-namespace.cpp @@ -33,14 +33,13 @@ // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: blob data = 'f' -// CHECK-0-NEXT: +// CHECK-0-NEXT: // CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'A' // CHECK-0-NEXT: // CHECK-0-NEXT: // CHECK-0-NEXT: @@ -59,20 +58,18 @@ // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: blob data = 'func' -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'B' // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: +// CHECK-1-NEXT: // CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'A' // CHECK-1-NEXT: // CHECK-1-NEXT: // CHECK-1-NEXT: Index: clang-tools-extra/test/clang-doc/md-comment.cpp =================================================================== --- clang-tools-extra/test/clang-doc/md-comment.cpp +++ clang-tools-extra/test/clang-doc/md-comment.cpp @@ -27,7 +27,7 @@ /// Bonus comment on definition void F(int I, int J) {} -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --format=md --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs // RUN: cat %t/docs/./GlobalNamespace.md | FileCheck %s --check-prefix CHECK-0 Index: clang-tools-extra/test/clang-doc/md-linkage.cpp =================================================================== --- clang-tools-extra/test/clang-doc/md-linkage.cpp +++ clang-tools-extra/test/clang-doc/md-linkage.cpp @@ -94,7 +94,7 @@ inline void anonInlineFunction(); } // namespace -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --format=md --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs // RUN: cat %t/docs/./Class.md | FileCheck %s --check-prefix CHECK-0 @@ -103,14 +103,17 @@ // CHECK-0: ## Members // CHECK-0: int publicField // CHECK-0: protected int protectedField +// CHECK-0: private int privateField // CHECK-0: ## Functions // CHECK-0: ### void publicMethod() // CHECK-0: ### void protectedMethod() +// CHECK-0: ### void privateMethod() // RUN: cat %t/docs/./named.md | FileCheck %s --check-prefix CHECK-1 // CHECK-1: # namespace named // CHECK-1: ## Functions // CHECK-1: ### void namedFunction() +// CHECK-1: ### void namedStaticFunction() // CHECK-1: ### void namedInlineFunction() // RUN: cat %t/docs/./GlobalNamespace.md | FileCheck %s --check-prefix CHECK-2 @@ -122,13 +125,37 @@ // CHECK-2: *Defined at line 14 of test* // CHECK-2: ### int inlinedFunctionWithInnerClass(int x) // CHECK-2: *Defined at line 23 of test* +// CHECK-2: ### void staticFunction(int x) +// CHECK-2: ### int staticFunctionWithInnerClass(int x) +// CHECK-2: *Defined at line 68 of test* -// RUN: cat %t/docs/named/NamedClass.md | FileCheck %s --check-prefix CHECK-3 +// RUN: cat %t/docs/./NamedClass.md | FileCheck %s --check-prefix CHECK-3 // CHECK-3: # class NamedClass // CHECK-3: *Defined at line 47 of test* // CHECK-3: ## Members // CHECK-3: int namedPublicField // CHECK-3: protected int namedProtectedField +// CHECK-3: private int namedPrivateField // CHECK-3: ## Functions // CHECK-3: ### void namedPublicMethod() // CHECK-3: ### void namedProtectedMethod() +// CHECK-3: ### void namedPrivateMethod() + +// RUN: cat %t/docs/./@nonymous.md | FileCheck %s --check-prefix CHECK-4 +// CHECK-4: # namespace @nonymous +// CHECK-4: ## Functions +// CHECK-4: ### void anonFunction() +// CHECK-4: ### void anonStaticFunction() +// CHECK-4: ### void anonInlineFunction() + +// RUN: cat %t/docs/@nonymous/AnonClass.md | FileCheck %s --check-prefix CHECK-5 +// CHECK-5: # class AnonClass +// CHECK-5: *Defined at line 78 of test* +// CHECK-5: ## Members +// CHECK-5: int anonPublicField +// CHECK-5: protected int anonProtectedField +// CHECK-5: private int anonPrivateField +// CHECK-5: ## Functions +// CHECK-5: ### void anonPublicMethod() +// CHECK-5: ### void anonProtectedMethod() +// CHECK-5: ### void anonPrivateMethod() Index: clang-tools-extra/test/clang-doc/md-module.cpp =================================================================== --- clang-tools-extra/test/clang-doc/md-module.cpp +++ clang-tools-extra/test/clang-doc/md-module.cpp @@ -14,11 +14,12 @@ export double exportedModuleFunction(double y, int z); // ExternalLinkage -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --format=md --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs // RUN: cat %t/docs/./GlobalNamespace.md | FileCheck %s --check-prefix CHECK-0 // CHECK-0: # Global Namespace // CHECK-0: ## Functions // CHECK-0: ### int moduleFunction(int x) +// CHECK-0: ### int staticModuleFunction(int x) // CHECK-0: ### double exportedModuleFunction(double y, int z) Index: clang-tools-extra/test/clang-doc/md-namespace.cpp =================================================================== --- clang-tools-extra/test/clang-doc/md-namespace.cpp +++ clang-tools-extra/test/clang-doc/md-namespace.cpp @@ -25,22 +25,22 @@ } // namespace B } // namespace A -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --format=md --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs -// RUN: cat %t/docs/./A.md | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: # namespace A +// RUN: cat %t/docs/./B.md | FileCheck %s --check-prefix CHECK-0 +// CHECK-0: # namespace B // CHECK-0: ## Functions -// CHECK-0: ### void f() -// CHECK-0: *Defined at line 17 of test* - -// RUN: cat %t/docs/A/B.md | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: # namespace B +// CHECK-0: ### enum A::B::E func(int i) +// CHECK-0: *Defined at line 23 of test* +// CHECK-0: ## Enums +// CHECK-0: | enum E | +// CHECK-0: -- +// CHECK-0: | X | +// CHECK-0: *Defined at line 21 of test* + +// RUN: cat %t/docs/./A.md | FileCheck %s --check-prefix CHECK-1 +// CHECK-1: # namespace A // CHECK-1: ## Functions -// CHECK-1: ### enum A::B::E func(int i) -// CHECK-1: *Defined at line 23 of test* -// CHECK-1: ## Enums -// CHECK-1: | enum E | -// CHECK-1: -- -// CHECK-1: | X | -// CHECK-1: *Defined at line 21 of test* +// CHECK-1: ### void f() +// CHECK-1: *Defined at line 17 of test* Index: clang-tools-extra/test/clang-doc/md-record.cpp =================================================================== --- clang-tools-extra/test/clang-doc/md-record.cpp +++ clang-tools-extra/test/clang-doc/md-record.cpp @@ -41,7 +41,7 @@ class G; -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs +// RUN: clang-doc --format=md --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs // RUN: cat %t/docs/./F.md | FileCheck %s --check-prefix CHECK-0 @@ -100,3 +100,7 @@ // RUN: cat %t/docs/./G.md | FileCheck %s --check-prefix CHECK-7 // CHECK-7: # class G + +// RUN: cat %t/docs/X/Y.md | FileCheck %s --check-prefix CHECK-8 +// CHECK-8: # class Y +// CHECK-8: *Defined at line 39 of test* Index: clang-tools-extra/test/clang-doc/public-linkage.cpp =================================================================== --- clang-tools-extra/test/clang-doc/public-linkage.cpp +++ clang-tools-extra/test/clang-doc/public-linkage.cpp @@ -97,203 +97,198 @@ // 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 +// RUN: cat %t/docs/./NamedClass.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: Name: 'NamedClass' +// CHECK-0-NEXT: Namespace: +// CHECK-0-NEXT: - Type: Namespace +// 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: 32 +// CHECK-0-NEXT: LineNumber: 47 // 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: Name: 'namedPublicField' // CHECK-0-NEXT: - Type: // CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'protectedField' +// CHECK-0-NEXT: Name: 'namedProtectedField' // 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: Name: 'namedPublicMethod' // CHECK-0-NEXT: Namespace: // CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' +// CHECK-0-NEXT: Name: 'NamedClass' +// 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: - Type: Namespace // 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: - LineNumber: 49 // 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: Name: 'NamedClass' // 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: Name: 'namedProtectedMethod' // CHECK-0-NEXT: Namespace: // CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' +// CHECK-0-NEXT: Name: 'NamedClass' +// 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: - Type: Namespace // 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: - LineNumber: 53 // 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: Name: 'NamedClass' // 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 +// RUN: cat %t/docs/./Class.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: Name: 'Class' +// CHECK-1-NEXT: DefLocation: +// CHECK-1-NEXT: LineNumber: 32 +// CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: TagType: Class +// CHECK-1-NEXT: Members: +// CHECK-1-NEXT: - Type: +// CHECK-1-NEXT: Name: 'int' +// CHECK-1-NEXT: Name: 'publicField' +// CHECK-1-NEXT: - Type: +// CHECK-1-NEXT: Name: 'int' +// CHECK-1-NEXT: Name: 'protectedField' +// CHECK-1-NEXT: Access: Protected // 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: Name: 'publicMethod' // CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' +// CHECK-1-NEXT: - Type: Record +// CHECK-1-NEXT: Name: 'Class' // 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: - LineNumber: 34 // CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: IsMethod: true +// CHECK-1-NEXT: Parent: +// CHECK-1-NEXT: Type: Record +// CHECK-1-NEXT: Name: 'Class' +// 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: 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: Name: 'protectedMethod' // CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' +// CHECK-1-NEXT: - Type: Record +// CHECK-1-NEXT: Name: 'Class' // 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: - LineNumber: 38 // CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: IsMethod: true +// CHECK-1-NEXT: Parent: +// CHECK-1-NEXT: Type: Record +// CHECK-1-NEXT: Name: 'Class' +// 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: 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 +// RUN: cat %t/docs/./named.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: 'named' // 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: Name: 'namedFunction' +// 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: Location: -// CHECK-2-NEXT: - LineNumber: 10 +// CHECK-2-NEXT: - LineNumber: 61 // 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: Name: 'namedInlineFunction' +// 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: Location: -// CHECK-2-NEXT: - LineNumber: 12 +// CHECK-2-NEXT: - LineNumber: 63 // 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: Name: 'void' // CHECK-2-NEXT: ... -// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-3 +// 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: 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: Name: 'function' // CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 49 +// CHECK-3-NEXT: - LineNumber: 10 // 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: Params: +// CHECK-3-NEXT: - Type: +// CHECK-3-NEXT: Name: 'int' +// CHECK-3-NEXT: Name: 'x' // 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: Name: 'inlinedFunction' // CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 53 +// CHECK-3-NEXT: - LineNumber: 12 // 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: Params: +// CHECK-3-NEXT: - Type: +// CHECK-3-NEXT: Name: 'int' +// CHECK-3-NEXT: Name: 'x' // CHECK-3-NEXT: ReturnType: // CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' +// CHECK-3-NEXT: Name: 'int' +// 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: 'functionWithInnerClass' +// CHECK-3-NEXT: DefLocation: +// CHECK-3-NEXT: LineNumber: 14 +// CHECK-3-NEXT: Filename: 'test' +// CHECK-3-NEXT: Params: +// CHECK-3-NEXT: - Type: +// CHECK-3-NEXT: Name: 'int' +// CHECK-3-NEXT: Name: 'x' +// CHECK-3-NEXT: ReturnType: +// CHECK-3-NEXT: Type: +// CHECK-3-NEXT: Name: 'int' +// 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: 'inlinedFunctionWithInnerClass' +// CHECK-3-NEXT: DefLocation: +// CHECK-3-NEXT: LineNumber: 23 +// CHECK-3-NEXT: Filename: 'test' +// CHECK-3-NEXT: Params: +// CHECK-3-NEXT: - Type: +// CHECK-3-NEXT: Name: 'int' +// CHECK-3-NEXT: Name: 'x' +// CHECK-3-NEXT: ReturnType: +// CHECK-3-NEXT: Type: +// CHECK-3-NEXT: Name: 'int' // CHECK-3-NEXT: ... Index: clang-tools-extra/test/clang-doc/public-namespace.cpp =================================================================== --- clang-tools-extra/test/clang-doc/public-namespace.cpp +++ clang-tools-extra/test/clang-doc/public-namespace.cpp @@ -37,7 +37,6 @@ // 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 @@ -50,23 +49,20 @@ // 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/./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 @@ -83,10 +79,8 @@ // 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 Index: clang-tools-extra/test/clang-doc/yaml-linkage.cpp =================================================================== --- clang-tools-extra/test/clang-doc/yaml-linkage.cpp +++ clang-tools-extra/test/clang-doc/yaml-linkage.cpp @@ -97,214 +97,213 @@ // 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 +// RUN: cat %t/docs/./NamedClass.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: Name: 'NamedClass' +// CHECK-0-NEXT: Namespace: +// CHECK-0-NEXT: - Type: Namespace +// 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: 32 +// CHECK-0-NEXT: LineNumber: 47 // 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: Name: 'namedPublicField' // CHECK-0-NEXT: - Type: // CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'protectedField' +// CHECK-0-NEXT: Name: 'namedProtectedField' // CHECK-0-NEXT: Access: Protected // CHECK-0-NEXT: - Type: // CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'privateField' +// CHECK-0-NEXT: Name: 'namedPrivateField' // 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: Name: 'namedPublicMethod' // CHECK-0-NEXT: Namespace: // CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' +// CHECK-0-NEXT: Name: 'NamedClass' +// 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: - Type: Namespace // 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: - LineNumber: 49 // 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: Name: 'NamedClass' // 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: Name: 'namedProtectedMethod' // CHECK-0-NEXT: Namespace: // CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' +// CHECK-0-NEXT: Name: 'NamedClass' +// 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: - Type: Namespace // 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: - LineNumber: 53 // 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: Name: 'NamedClass' // 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: Name: 'namedPrivateMethod' // CHECK-0-NEXT: Namespace: // CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' +// CHECK-0-NEXT: Name: 'NamedClass' +// 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: - Type: Namespace // 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: - LineNumber: 57 // 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: Name: 'NamedClass' // 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 +// RUN: cat %t/docs/./Class.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: Name: 'Class' +// CHECK-1-NEXT: DefLocation: +// CHECK-1-NEXT: LineNumber: 32 +// CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: TagType: Class +// CHECK-1-NEXT: Members: +// CHECK-1-NEXT: - Type: +// CHECK-1-NEXT: Name: 'int' +// CHECK-1-NEXT: Name: 'publicField' +// CHECK-1-NEXT: - Type: +// CHECK-1-NEXT: Name: 'int' +// CHECK-1-NEXT: Name: 'protectedField' +// CHECK-1-NEXT: Access: Protected +// CHECK-1-NEXT: - Type: +// CHECK-1-NEXT: Name: 'int' +// CHECK-1-NEXT: Name: 'privateField' +// CHECK-1-NEXT: Access: Private // 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: Name: 'publicMethod' // CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' +// CHECK-1-NEXT: - Type: Record +// CHECK-1-NEXT: Name: 'Class' // 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: - LineNumber: 34 // CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: IsMethod: true +// CHECK-1-NEXT: Parent: +// CHECK-1-NEXT: Type: Record +// CHECK-1-NEXT: Name: 'Class' +// 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: 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: Name: 'protectedMethod' // CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' +// CHECK-1-NEXT: - Type: Record +// CHECK-1-NEXT: Name: 'Class' // 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: - LineNumber: 38 // CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: IsMethod: true +// CHECK-1-NEXT: Parent: +// CHECK-1-NEXT: Type: Record +// CHECK-1-NEXT: Name: 'Class' +// 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: 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: Name: 'privateMethod' // CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' +// CHECK-1-NEXT: - Type: Record +// CHECK-1-NEXT: Name: 'Class' // 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: - LineNumber: 42 // CHECK-1-NEXT: Filename: 'test' +// CHECK-1-NEXT: IsMethod: true +// CHECK-1-NEXT: Parent: +// CHECK-1-NEXT: Type: Record +// CHECK-1-NEXT: Name: 'Class' +// 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: 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 +// RUN: cat %t/docs/./named.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: Name: 'named' // 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: Name: 'namedFunction' // 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: - LineNumber: 61 // 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: Name: 'namedStaticFunction' // 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: - LineNumber: 62 // 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: Name: 'namedInlineFunction' // 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: - LineNumber: 63 // 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 +// RUN: cat %t/docs/./@nonymous.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: '@nonymous' // 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: Name: '@nonymous' // 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 @@ -316,6 +315,7 @@ // CHECK-3-NEXT: Name: 'anonStaticFunction' // CHECK-3-NEXT: Namespace: // CHECK-3-NEXT: - Type: Namespace +// CHECK-3-NEXT: Name: '@nonymous' // 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 @@ -327,6 +327,7 @@ // CHECK-3-NEXT: Name: 'anonInlineFunction' // CHECK-3-NEXT: Namespace: // CHECK-3-NEXT: - Type: Namespace +// CHECK-3-NEXT: Name: '@nonymous' // 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 @@ -336,89 +337,167 @@ // CHECK-3-NEXT: Name: 'void' // CHECK-3-NEXT: ... -// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-4 +// RUN: cat %t/docs/./GlobalNamespace.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: 'NamedClass' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Namespace -// CHECK-4-NEXT: Name: 'named' -// 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: 47 -// CHECK-4-NEXT: Filename: 'test' -// CHECK-4-NEXT: TagType: Class -// CHECK-4-NEXT: Members: -// CHECK-4-NEXT: - Type: -// CHECK-4-NEXT: Name: 'int' -// CHECK-4-NEXT: Name: 'namedPublicField' -// CHECK-4-NEXT: - Type: -// CHECK-4-NEXT: Name: 'int' -// CHECK-4-NEXT: Name: 'namedProtectedField' -// CHECK-4-NEXT: Access: Protected -// CHECK-4-NEXT: - Type: -// CHECK-4-NEXT: Name: 'int' -// CHECK-4-NEXT: Name: 'namedPrivateField' -// CHECK-4-NEXT: Access: Private // 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: 'namedPublicMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// 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: Namespace -// CHECK-4-NEXT: Name: 'named' -// 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: 'function' // CHECK-4-NEXT: Location: -// CHECK-4-NEXT: - LineNumber: 49 +// CHECK-4-NEXT: - LineNumber: 10 // CHECK-4-NEXT: Filename: 'test' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// 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: Params: +// CHECK-4-NEXT: - Type: +// CHECK-4-NEXT: Name: 'int' +// CHECK-4-NEXT: Name: 'x' // CHECK-4-NEXT: ReturnType: // CHECK-4-NEXT: Type: // CHECK-4-NEXT: Name: 'void' // 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: 'namedProtectedMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// 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: Namespace -// CHECK-4-NEXT: Name: 'named' -// 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: 'inlinedFunction' // CHECK-4-NEXT: Location: -// CHECK-4-NEXT: - LineNumber: 53 +// CHECK-4-NEXT: - LineNumber: 12 // CHECK-4-NEXT: Filename: 'test' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// 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: Params: +// CHECK-4-NEXT: - Type: +// CHECK-4-NEXT: Name: 'int' +// CHECK-4-NEXT: Name: 'x' // CHECK-4-NEXT: ReturnType: // CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' +// CHECK-4-NEXT: Name: 'int' // 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: 'namedPrivateMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// 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: Namespace -// CHECK-4-NEXT: Name: 'named' -// 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: 'functionWithInnerClass' +// CHECK-4-NEXT: DefLocation: +// CHECK-4-NEXT: LineNumber: 14 +// CHECK-4-NEXT: Filename: 'test' +// CHECK-4-NEXT: Params: +// CHECK-4-NEXT: - Type: +// CHECK-4-NEXT: Name: 'int' +// CHECK-4-NEXT: Name: 'x' +// CHECK-4-NEXT: ReturnType: +// CHECK-4-NEXT: Type: +// CHECK-4-NEXT: Name: 'int' +// 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: 'inlinedFunctionWithInnerClass' +// 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: 'x' +// CHECK-4-NEXT: ReturnType: +// CHECK-4-NEXT: Type: +// CHECK-4-NEXT: Name: 'int' +// 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: 'staticFunction' // CHECK-4-NEXT: Location: -// CHECK-4-NEXT: - LineNumber: 57 +// CHECK-4-NEXT: - LineNumber: 66 // CHECK-4-NEXT: Filename: 'test' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// 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: Params: +// CHECK-4-NEXT: - Type: +// CHECK-4-NEXT: Name: 'int' +// CHECK-4-NEXT: Name: 'x' // CHECK-4-NEXT: ReturnType: // CHECK-4-NEXT: Type: // CHECK-4-NEXT: Name: 'void' +// 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: 'staticFunctionWithInnerClass' +// CHECK-4-NEXT: DefLocation: +// CHECK-4-NEXT: LineNumber: 68 +// CHECK-4-NEXT: Filename: 'test' +// CHECK-4-NEXT: Params: +// CHECK-4-NEXT: - Type: +// CHECK-4-NEXT: Name: 'int' +// CHECK-4-NEXT: Name: 'x' +// CHECK-4-NEXT: ReturnType: +// CHECK-4-NEXT: Type: +// CHECK-4-NEXT: Name: 'int' // CHECK-4-NEXT: ... + +// RUN: cat %t/docs/@nonymous/AnonClass.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: 'AnonClass' +// CHECK-5-NEXT: Namespace: +// CHECK-5-NEXT: - Type: Namespace +// CHECK-5-NEXT: Name: '@nonymous' +// 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: 78 +// 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: 'anonPublicField' +// CHECK-5-NEXT: - Type: +// CHECK-5-NEXT: Name: 'int' +// CHECK-5-NEXT: Name: 'anonProtectedField' +// CHECK-5-NEXT: Access: Protected +// CHECK-5-NEXT: - Type: +// CHECK-5-NEXT: Name: 'int' +// CHECK-5-NEXT: Name: 'anonPrivateField' +// 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: 'anonPublicMethod' +// CHECK-5-NEXT: Namespace: +// CHECK-5-NEXT: - Type: Record +// CHECK-5-NEXT: Name: 'AnonClass' +// 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: '@nonymous' +// 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: 80 +// CHECK-5-NEXT: Filename: 'test' +// CHECK-5-NEXT: IsMethod: true +// CHECK-5-NEXT: Parent: +// CHECK-5-NEXT: Type: Record +// CHECK-5-NEXT: Name: 'AnonClass' +// 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: 'anonProtectedMethod' +// CHECK-5-NEXT: Namespace: +// CHECK-5-NEXT: - Type: Record +// CHECK-5-NEXT: Name: 'AnonClass' +// 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: '@nonymous' +// 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: 84 +// CHECK-5-NEXT: Filename: 'test' +// CHECK-5-NEXT: IsMethod: true +// CHECK-5-NEXT: Parent: +// CHECK-5-NEXT: Type: Record +// CHECK-5-NEXT: Name: 'AnonClass' +// 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: 'anonPrivateMethod' +// CHECK-5-NEXT: Namespace: +// CHECK-5-NEXT: - Type: Record +// CHECK-5-NEXT: Name: 'AnonClass' +// 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: '@nonymous' +// 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: 88 +// CHECK-5-NEXT: Filename: 'test' +// CHECK-5-NEXT: IsMethod: true +// CHECK-5-NEXT: Parent: +// CHECK-5-NEXT: Type: Record +// CHECK-5-NEXT: Name: 'AnonClass' +// 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: ... Index: clang-tools-extra/test/clang-doc/yaml-namespace.cpp =================================================================== --- clang-tools-extra/test/clang-doc/yaml-namespace.cpp +++ clang-tools-extra/test/clang-doc/yaml-namespace.cpp @@ -37,7 +37,6 @@ // 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 @@ -50,23 +49,20 @@ // 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/./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 @@ -83,10 +79,8 @@ // 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