diff options
Diffstat (limited to 'clang/lib/Index/USRGeneration.cpp')
-rw-r--r-- | clang/lib/Index/USRGeneration.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/clang/lib/Index/USRGeneration.cpp b/clang/lib/Index/USRGeneration.cpp index 62ae7108fc6..8194c9508fb 100644 --- a/clang/lib/Index/USRGeneration.cpp +++ b/clang/lib/Index/USRGeneration.cpp @@ -1094,3 +1094,29 @@ bool clang::index::generateUSRForMacro(StringRef MacroName, SourceLocation Loc, Out << MacroName; return false; } + +bool clang::index::generateFullUSRForModule(const Module *Mod, + raw_ostream &OS) { + if (!Mod->Parent) + return generateFullUSRForTopLevelModuleName(Mod->Name, OS); + if (generateFullUSRForModule(Mod->Parent, OS)) + return true; + return generateUSRFragmentForModule(Mod, OS); +} + +bool clang::index::generateFullUSRForTopLevelModuleName(StringRef ModName, + raw_ostream &OS) { + OS << getUSRSpacePrefix(); + return generateUSRFragmentForModuleName(ModName, OS); +} + +bool clang::index::generateUSRFragmentForModule(const Module *Mod, + raw_ostream &OS) { + return generateUSRFragmentForModuleName(Mod->Name, OS); +} + +bool clang::index::generateUSRFragmentForModuleName(StringRef ModName, + raw_ostream &OS) { + OS << "@M@" << ModName; + return false; +} |