From 6970d60dca9454227a3d85006193d625f63e0603 Mon Sep 17 00:00:00 2001 From: Jacob Dufault Date: Sun, 19 Feb 2017 22:40:55 -0800 Subject: [PATCH] reorg --- main.cpp | 134 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 100 insertions(+), 34 deletions(-) diff --git a/main.cpp b/main.cpp index 9333f676..e98520a3 100644 --- a/main.cpp +++ b/main.cpp @@ -483,6 +483,7 @@ VarDef* Resolve(Database* db, VarId id) { } */ +#if false struct NamespaceStack { std::vector stack; @@ -602,22 +603,6 @@ void InsertReference(ParsingDatabase* db, std::optional func_id, clang:: -clang::VisiterResult DumpVisitor(clang::Cursor cursor, clang::Cursor parent, int* level) { - for (int i = 0; i < *level; ++i) - std::cout << " "; - std::cout << clang::ToString(cursor.get_kind()) << " " << cursor.get_spelling() << std::endl; - - *level += 1; - cursor.VisitChildren(&DumpVisitor, level); - *level -= 1; - - return clang::VisiterResult::Continue; -} - -void Dump(clang::Cursor cursor) { - int level = 0; - cursor.VisitChildren(&DumpVisitor, &level); -} @@ -1036,6 +1021,88 @@ clang::VisiterResult VisitFile(clang::Cursor cursor, clang::Cursor parent, FileP return clang::VisiterResult::Continue; } + + +ParsingDatabase Parse2(std::string filename) { + std::vector args; + + clang::Index index(0 /*excludeDeclarationsFromPCH*/, 0 /*displayDiagnostics*/); + clang::TranslationUnit tu(index, filename, args); + + std::cout << "Start document dump" << std::endl; + Dump(tu.document_cursor()); + std::cout << "Done document dump" << std::endl << std::endl; + + ParsingDatabase db; + NamespaceStack ns; + FileParam file_param(&db, &ns); + + tu.document_cursor().VisitChildren(&VisitFile, &file_param); + return db; +} + +#endif + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1068,6 +1135,23 @@ CXIdxClientContainer startedTranslationUnit(CXClientData client_data, void *rese +clang::VisiterResult DumpVisitor(clang::Cursor cursor, clang::Cursor parent, int* level) { + for (int i = 0; i < *level; ++i) + std::cout << " "; + std::cout << clang::ToString(cursor.get_kind()) << " " << cursor.get_spelling() << std::endl; + + *level += 1; + cursor.VisitChildren(&DumpVisitor, level); + *level -= 1; + + return clang::VisiterResult::Continue; +} + +void Dump(clang::Cursor cursor) { + int level = 0; + cursor.VisitChildren(&DumpVisitor, &level); +} + @@ -1591,24 +1675,6 @@ ParsingDatabase Parse(std::string filename) { } -ParsingDatabase Parse2(std::string filename) { - std::vector args; - - clang::Index index(0 /*excludeDeclarationsFromPCH*/, 0 /*displayDiagnostics*/); - clang::TranslationUnit tu(index, filename, args); - - std::cout << "Start document dump" << std::endl; - Dump(tu.document_cursor()); - std::cout << "Done document dump" << std::endl << std::endl; - - ParsingDatabase db; - NamespaceStack ns; - FileParam file_param(&db, &ns); - - tu.document_cursor().VisitChildren(&VisitFile, &file_param); - return db; -} - template bool AreEqual(const std::vector& a, const std::vector& b) { if (a.size() != b.size())