[clang-doc] Fix use of source-root flag
authorDiego Astiazaran <diegoaat97@gmail.com>
Thu, 15 Aug 2019 23:20:42 +0000 (23:20 +0000)
committerDiego Astiazaran <diegoaat97@gmail.com>
Thu, 15 Aug 2019 23:20:42 +0000 (23:20 +0000)
The value, if any, of --source-root flag was not being used.
This has been fixed and the logic was moved to the ClangDocContext
contructor.

Differential revision: https://reviews.llvm.org/D66268

llvm-svn: 369065

clang-tools-extra/clang-doc/Representation.cpp
clang-tools-extra/clang-doc/tool/ClangDocMain.cpp

index 18cec16..4b9d9e5 100644 (file)
@@ -257,8 +257,12 @@ ClangDocContext::ClangDocContext(tooling::ExecutionContext *ECtx,
                                  std::vector<std::string> UserStylesheets,
                                  std::vector<std::string> JsScripts)
     : ECtx(ECtx), PublicOnly(PublicOnly), OutDirectory(OutDirectory),
-      SourceRoot(SourceRoot), UserStylesheets(UserStylesheets),
-      JsScripts(JsScripts) {
+      UserStylesheets(UserStylesheets), JsScripts(JsScripts) {
+  llvm::SmallString<128> SourceRootDir(SourceRoot);
+  if (SourceRoot.empty())
+    // If no SourceRoot was provided the current path is used as the default
+    llvm::sys::fs::current_path(SourceRootDir);
+  this->SourceRoot = SourceRootDir.str();
   if (!RepositoryUrl.empty()) {
     this->RepositoryUrl = RepositoryUrl;
     if (!RepositoryUrl.empty() && RepositoryUrl.find("http://") != 0 &&
index e569d89..5cb6e9e 100644 (file)
@@ -203,17 +203,11 @@ int main(int argc, const char **argv) {
                                   tooling::ArgumentInsertPosition::END),
         ArgAdjuster);
 
-  llvm::SmallString<128> SourceRootDir;
-  // Check if the --source-root flag has a value
-  if (SourceRoot.empty())
-    // If it's empty the current path is used as the default
-    llvm::sys::fs::current_path(SourceRootDir);
-
   clang::doc::ClangDocContext CDCtx = {
       Exec->get()->getExecutionContext(),
       PublicOnly,
       OutDirectory,
-      SourceRootDir.str(),
+      SourceRoot,
       RepositoryUrl,
       {UserStylesheets.begin(), UserStylesheets.end()},
       {"index.js", "index_json.js"}};