Author: ioeric Date: Sat Dec 3 09:28:03 2016 New Revision: 288586 URL: http://llvm.org/viewvc/llvm-project?rev=288586&view=rev Log: [clang-move] don't miss ',' in json output when there are duplicate elements.
Modified: clang-tools-extra/trunk/clang-move/tool/ClangMoveMain.cpp Modified: clang-tools-extra/trunk/clang-move/tool/ClangMoveMain.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-move/tool/ClangMoveMain.cpp?rev=288586&r1=288585&r2=288586&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-move/tool/ClangMoveMain.cpp (original) +++ clang-tools-extra/trunk/clang-move/tool/ClangMoveMain.cpp Sat Dec 3 09:28:03 2016 @@ -144,15 +144,13 @@ int main(int argc, const char **argv) { if (DumpDecls) { llvm::outs() << "[\n"; const auto &Declarations = Reporter.getDeclarationList(); - for (auto DeclPair : Declarations) { + for (auto I = Declarations.begin(), E = Declarations.end(); I != E; ++I) { llvm::outs() << " {\n"; - llvm::outs() << " \"DeclarationName\": \"" << DeclPair.first - << "\",\n"; - llvm::outs() << " \"DeclarationType\": \"" << DeclPair.second - << "\"\n"; + llvm::outs() << " \"DeclarationName\": \"" << I->first << "\",\n"; + llvm::outs() << " \"DeclarationType\": \"" << I->second << "\"\n"; llvm::outs() << " }"; // Don't print trailing "," at the end of last element. - if (DeclPair != *(--Declarations.end())) + if (I != std::prev(E)) llvm::outs() << ",\n"; } llvm::outs() << "\n]\n"; @@ -196,10 +194,10 @@ int main(int argc, const char **argv) { Files.insert(it.first); auto WriteToJson = [&](llvm::raw_ostream &OS) { OS << "[\n"; - for (auto File : Files) { + for (auto I = Files.begin(), E = Files.end(); I != E; ++I) { OS << " {\n"; - OS << " \"FilePath\": \"" << File << "\",\n"; - const auto *Entry = FileMgr.getFile(File); + OS << " \"FilePath\": \"" << *I << "\",\n"; + const auto *Entry = FileMgr.getFile(*I); auto ID = SM.translateFile(Entry); std::string Content; llvm::raw_string_ostream ContentStream(Content); @@ -207,7 +205,7 @@ int main(int argc, const char **argv) { OS << " \"SourceText\": \"" << llvm::yaml::escape(ContentStream.str()) << "\"\n"; OS << " }"; - if (File != *(--Files.end())) + if (I != std::prev(E)) OS << ",\n"; } OS << "\n]\n"; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits