src: code cleanup

* removed unused code: ParseFunction, ParseVariable and ParseTypeUsage. All this is handled using NameHierarchies now.
* Moved the getErrorCount method from ParserClient to the StorageAccess
* MessageFinishedParsing doesn't know the error count anymore.
* StatusBarController now has a StorageAccess to fetch the error count when needed.
This commit is contained in:
malte_langkabel
2016-03-07 10:59:39 +01:00
parent 5cdaafc6de
commit 6d7a1faaa4
25 changed files with 121 additions and 590 deletions
-349
View File
@@ -1,358 +1,22 @@
ConfigManager.cpp WARNING: value path/to/nowhere is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config. ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:1:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:1:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:1:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:1:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:1:11 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:1:11
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:1:13 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:1:13
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:7:15 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:7:15
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:5:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:5:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:48 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:48
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:7:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:7:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:3:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:3:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20 CxxDeclNameResolver.cpp ERROR: could not resolve name of decl at: input.cc:4:20
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Settings.cpp WARNING: File for Settings not found: data/TestSettings.xml
ConfigManager.cpp WARNING: value source/header_search_paths/header_search_path is not present in config.
Token.cpp ERROR: Location Id was not referenced by this Token. Token.cpp ERROR: Location Id was not referenced by this Token.
Node.cpp WARNING: Cannot change NodeType after it was already set from namespace to class Node.cpp WARNING: Cannot change NodeType after it was already set from namespace to class
Edge.cpp ERROR: Nodes are not plain copies. Edge.cpp ERROR: Nodes are not plain copies.
@@ -401,20 +65,7 @@ Edge.cpp ERROR: Nodes are not plain copies.
NetworkProtocolHelper.cpp ERROR: Failed to parse message, invalid type token NetworkProtocolHelper.cpp ERROR: Failed to parse message, invalid type token
NetworkProtocolHelper.cpp ERROR: Failed to parse setActiveToken message, invalid token count NetworkProtocolHelper.cpp ERROR: Failed to parse setActiveToken message, invalid token count
Settings.cpp WARNING: File for Settings not found: data/SettingsTestSuite/wrong_settings.xml Settings.cpp WARNING: File for Settings not found: data/SettingsTestSuite/wrong_settings.xml
ConfigManager.cpp WARNING: value Bool is not present in config.
ConfigManager.cpp WARNING: value Int is not present in config.
ConfigManager.cpp WARNING: value Float is not present in config.
ConfigManager.cpp WARNING: value String is not present in config.
Settings.cpp WARNING: File for Settings not found: data/SettingsTestSuite/wrong_settings.xml Settings.cpp WARNING: File for Settings not found: data/SettingsTestSuite/wrong_settings.xml
ConfigManager.cpp WARNING: value Bool is not present in config.
ConfigManager.cpp WARNING: value Int is not present in config.
ConfigManager.cpp WARNING: value Float is not present in config.
ConfigManager.cpp WARNING: value String is not present in config.
ConfigManager.cpp WARNING: value Bool is not present in config.
ConfigManager.cpp WARNING: value Int is not present in config.
ConfigManager.cpp WARNING: value Float is not present in config.
ConfigManager.cpp WARNING: value String is not present in config.
ConfigManager.cpp WARNING: value NewBool is not present in config.
INFO: file: file.cpp < 0:0 0:0> INFO: file: file.cpp < 0:0 0:0>
TextAccess.cpp ERROR: Could not open file file.cpp TextAccess.cpp ERROR: Could not open file file.cpp
INFO: typedef: type <file.cpp 1:1 1:1> INFO: typedef: type <file.cpp 1:1 1:1>
+1 -2
View File
@@ -95,8 +95,7 @@ void TaskParseCxx::exit()
MessageFinishedParsing( MessageFinishedParsing(
fileRegister->getParsedFilesCount(), fileRegister->getParsedFilesCount(),
fileRegister->getFilesCount(), fileRegister->getFilesCount(),
utility::duration(m_start), utility::duration(m_start)
m_parser->getParserClient()->getErrorCount()
).dispatch(); ).dispatch();
} }
-6
View File
@@ -123,18 +123,12 @@ add_files(
data/parser/cxx/TaskParseCxx.h data/parser/cxx/TaskParseCxx.h
data/parser/ParseFunction.cpp
data/parser/ParseFunction.h
data/parser/ParseLocation.cpp data/parser/ParseLocation.cpp
data/parser/ParseLocation.h data/parser/ParseLocation.h
data/parser/Parser.cpp data/parser/Parser.cpp
data/parser/Parser.h data/parser/Parser.h
data/parser/ParserClient.cpp data/parser/ParserClient.cpp
data/parser/ParserClient.h data/parser/ParserClient.h
data/parser/ParseTypeUsage.cpp
data/parser/ParseTypeUsage.h
data/parser/ParseVariable.cpp
data/parser/ParseVariable.h
data/search/SearchIndex.cpp data/search/SearchIndex.cpp
data/search/SearchIndex.h data/search/SearchIndex.h
+1 -1
View File
@@ -43,7 +43,7 @@ bool Project::load(const FilePath& projectSettingsFile)
{ {
m_storage->startParsing(); m_storage->startParsing();
m_storage->finishParsing(); m_storage->finishParsing();
MessageFinishedParsing(0, 0, 0, m_storage->getErrorCount()).dispatch(); MessageFinishedParsing(0, 0, 0).dispatch();
} }
else else
{ {
+1 -1
View File
@@ -85,7 +85,7 @@ std::shared_ptr<Component> ComponentFactory::createUndoRedoComponent(ViewLayout*
std::shared_ptr<Component> ComponentFactory::createStatusBarComponent(ViewLayout* viewLayout) std::shared_ptr<Component> ComponentFactory::createStatusBarComponent(ViewLayout* viewLayout)
{ {
std::shared_ptr<StatusBarView> view = m_viewFactory->createStatusBarView(viewLayout); std::shared_ptr<StatusBarView> view = m_viewFactory->createStatusBarView(viewLayout);
std::shared_ptr<StatusBarController> controller = std::make_shared<StatusBarController>(); std::shared_ptr<StatusBarController> controller = std::make_shared<StatusBarController>(m_storageAccess);
return std::make_shared<Component>(view, controller); return std::make_shared<Component>(view, controller);
} }
@@ -1,10 +1,11 @@
#include "component/controller/StatusBarController.h" #include "component/controller/StatusBarController.h"
#include "component/view/StatusBarView.h"
#include "data/access/StorageAccess.h"
#include "utility/logging/logging.h" #include "utility/logging/logging.h"
#include "component/view/StatusBarView.h" StatusBarController::StatusBarController(StorageAccess* storageAccess)
: m_storageAccess(storageAccess)
StatusBarController::StatusBarController()
{ {
} }
@@ -24,7 +25,17 @@ void StatusBarController::handleMessage(MessageClearErrorCount* message)
void StatusBarController::handleMessage(MessageFinishedParsing* message) void StatusBarController::handleMessage(MessageFinishedParsing* message)
{ {
getView()->setErrorCount(message->errorCount); ErrorCountInfo errorCount = m_storageAccess->getErrorCount();
getView()->setErrorCount(errorCount);
std::string status = message->getStatusStr();
status += " " + std::to_string(errorCount.total) + " error" + (errorCount.total > 1 ? "s" : "");
if (errorCount.fatal > 0)
{
status += " (" + std::to_string(errorCount.fatal) + " fatal)";
}
MessageStatus(status, errorCount.total > 0).dispatch();
} }
void StatusBarController::handleMessage(MessageShowErrors* message) void StatusBarController::handleMessage(MessageShowErrors* message)
@@ -12,6 +12,7 @@
#include "utility/messaging/type/MessageStatus.h" #include "utility/messaging/type/MessageStatus.h"
class StatusBarView; class StatusBarView;
class StorageAccess;
class StatusBarController class StatusBarController
: public Controller : public Controller
@@ -21,7 +22,7 @@ class StatusBarController
, public MessageListener<MessageStatus> , public MessageListener<MessageStatus>
{ {
public: public:
StatusBarController(void); StatusBarController(StorageAccess* storageAccess);
virtual ~StatusBarController(void); virtual ~StatusBarController(void);
StatusBarView* getView(); StatusBarView* getView();
@@ -33,6 +34,8 @@ private:
virtual void handleMessage(MessageStatus* message); virtual void handleMessage(MessageStatus* message);
void setStatus(const std::string& status, bool isError, bool showLoader); void setStatus(const std::string& status, bool isError, bool showLoader);
StorageAccess* m_storageAccess;
}; };
#endif // STATUS_BAR_CONTROLLER_H #endif // STATUS_BAR_CONTROLLER_H
+5 -8
View File
@@ -19,10 +19,7 @@
#include "data/location/TokenLocation.h" #include "data/location/TokenLocation.h"
#include "data/location/TokenLocationFile.h" #include "data/location/TokenLocationFile.h"
#include "data/location/TokenLocationLine.h" #include "data/location/TokenLocationLine.h"
#include "data/parser/ParseFunction.h"
#include "data/parser/ParseLocation.h" #include "data/parser/ParseLocation.h"
#include "data/parser/ParseTypeUsage.h"
#include "data/parser/ParseVariable.h"
#include "data/type/DataType.h" #include "data/type/DataType.h"
#include "settings/ApplicationSettings.h" #include "settings/ApplicationSettings.h"
@@ -209,11 +206,6 @@ void Storage::onError(const ParseLocation& location, const std::string& message,
} }
} }
ErrorCountInfo Storage::getErrorCount() const
{
return ErrorCountInfo(m_sqliteStorage.getAllErrors().size(), m_sqliteStorage.getFatalErrors().size());
}
Id Storage::onTypedefParsed( Id Storage::onTypedefParsed(
const ParseLocation& location, const NameHierarchy& typedefName, AccessType access const ParseLocation& location, const NameHierarchy& typedefName, AccessType access
){ ){
@@ -1091,6 +1083,11 @@ TimePoint Storage::getFileModificationTime(const FilePath& filePath) const
return TimePoint(m_sqliteStorage.getFileByPath(filePath.str()).modificationTime); return TimePoint(m_sqliteStorage.getFileByPath(filePath.str()).modificationTime);
} }
ErrorCountInfo Storage::getErrorCount() const
{
return ErrorCountInfo(m_sqliteStorage.getAllErrors().size(), m_sqliteStorage.getFatalErrors().size());
}
StorageStats Storage::getStorageStats() const StorageStats Storage::getStorageStats() const
{ {
StorageStats stats; StorageStats stats;
+1 -1
View File
@@ -90,7 +90,7 @@ public:
const ParseLocation& location, const NameHierarchy& argumentTypeNameHierarchy, const ParseLocation& location, const NameHierarchy& argumentTypeNameHierarchy,
const NameHierarchy& templateNameHierarchy); const NameHierarchy& templateNameHierarchy);
virtual Id onTemplateDefaultArgumentTypeParsed( virtual Id onTemplateDefaultArgumentTypeParsed(
const ParseLocation& location, const NameHierarchy& defaultArgumentTypeNameHierarchy, const ParseLocation& location, const NameHierarchy& defaultArgumentTypeNameHierarchy,
const NameHierarchy& templateParameterNameHierarchy); const NameHierarchy& templateParameterNameHierarchy);
virtual Id onTemplateParameterTypeParsed( virtual Id onTemplateParameterTypeParsed(
const ParseLocation& location, const NameHierarchy& templateParameterTypeNameHierarchy); const ParseLocation& location, const NameHierarchy& templateParameterTypeNameHierarchy);
+2
View File
@@ -10,6 +10,7 @@
#include "data/graph/Node.h" #include "data/graph/Node.h"
#include "data/search/SearchMatch.h" #include "data/search/SearchMatch.h"
#include "data/ErrorCountInfo.h"
#include "data/StorageStats.h" #include "data/StorageStats.h"
struct FileInfo; struct FileInfo;
@@ -62,6 +63,7 @@ public:
virtual std::shared_ptr<TextAccess> getFileContent(const FilePath& filePath) const = 0; virtual std::shared_ptr<TextAccess> getFileContent(const FilePath& filePath) const = 0;
virtual TimePoint getFileModificationTime(const FilePath& filePath) const = 0; virtual TimePoint getFileModificationTime(const FilePath& filePath) const = 0;
virtual ErrorCountInfo getErrorCount() const = 0;
virtual StorageStats getStorageStats() const = 0; virtual StorageStats getStorageStats() const = 0;
}; };
@@ -275,6 +275,16 @@ TimePoint StorageAccessProxy::getFileModificationTime(const FilePath& filePath)
return TimePoint(boost::posix_time::not_a_date_time); return TimePoint(boost::posix_time::not_a_date_time);
} }
ErrorCountInfo StorageAccessProxy::getErrorCount() const
{
if (hasSubject())
{
return m_subject->getErrorCount();
}
return ErrorCountInfo();
}
StorageStats StorageAccessProxy::getStorageStats() const StorageStats StorageAccessProxy::getStorageStats() const
{ {
if (hasSubject()) if (hasSubject())
+1
View File
@@ -51,6 +51,7 @@ public:
virtual std::shared_ptr<TextAccess> getFileContent(const FilePath& filePath) const; virtual std::shared_ptr<TextAccess> getFileContent(const FilePath& filePath) const;
virtual TimePoint getFileModificationTime(const FilePath& filePath) const; virtual TimePoint getFileModificationTime(const FilePath& filePath) const;
virtual ErrorCountInfo getErrorCount() const;
virtual StorageStats getStorageStats() const; virtual StorageStats getStorageStats() const;
private: private:
-23
View File
@@ -1,23 +0,0 @@
#include "data/parser/ParseFunction.h"
#include "utility/utilityString.h"
ParseFunction::ParseFunction(
const ParseTypeUsage& returnType,
const NameHierarchy& nameHierarchy,
const std::vector<ParseTypeUsage>& parameters,
bool isStatic,
bool isConst
)
: returnType(returnType)
, nameHierarchy(nameHierarchy)
, parameters(parameters)
, isStatic(isStatic)
, isConst(isConst)
{
}
std::string ParseFunction::getFullName() const
{
return nameHierarchy.getQualifiedNameWithSignature();
}
-26
View File
@@ -1,26 +0,0 @@
#ifndef PARSE_FUNCTION_H
#define PARSE_FUNCTION_H
#include "data/name/NameHierarchy.h"
#include "data/parser/ParseTypeUsage.h"
struct ParseFunction
{
ParseFunction(
const ParseTypeUsage& returnType,
const NameHierarchy& nameHierarchy,
const std::vector<ParseTypeUsage>& parameters,
bool isStatic = false,
bool isConst = false
);
std::string getFullName() const;
const ParseTypeUsage returnType;
const NameHierarchy nameHierarchy;
const std::vector<ParseTypeUsage> parameters;
const bool isStatic;
const bool isConst;
};
#endif // PARSE_FUNCTION_H
-7
View File
@@ -1,7 +0,0 @@
#include "data/parser/ParseTypeUsage.h"
ParseTypeUsage::ParseTypeUsage(const ParseLocation& location, const std::shared_ptr<DataType> dataType)
: location(location)
, dataType(dataType)
{
}
-16
View File
@@ -1,16 +0,0 @@
#ifndef PARSE_TYPE_USAGE_H
#define PARSE_TYPE_USAGE_H
#include <memory>
#include "data/type/DataType.h"
#include "data/parser/ParseLocation.h"
struct ParseTypeUsage
{
ParseTypeUsage(const ParseLocation& location, const std::shared_ptr<DataType> dataType);
const ParseLocation location;
const std::shared_ptr<DataType> dataType;
};
#endif // PARSE_TYPE_USAGE_H
-15
View File
@@ -1,15 +0,0 @@
#include "data/parser/ParseVariable.h"
#include "utility/utilityString.h"
ParseVariable::ParseVariable(const ParseTypeUsage& type, const NameHierarchy& nameHierarchy, bool isStatic)
: type(type)
, nameHierarchy(nameHierarchy)
, isStatic(isStatic)
{
}
std::string ParseVariable::getFullName() const
{
return nameHierarchy.getQualifiedNameWithSignature();
}
-20
View File
@@ -1,20 +0,0 @@
#ifndef PARSE_VARIABLE_H
#define PARSE_VARIABLE_H
#include <string>
#include "data/name/NameHierarchy.h"
#include "data/parser/ParseTypeUsage.h"
struct ParseVariable
{
ParseVariable(const ParseTypeUsage& type, const NameHierarchy& nameHierarchy, bool isStatic);
std::string getFullName() const;
const ParseTypeUsage type;
const NameHierarchy nameHierarchy;
const bool isStatic;
};
#endif // PARSE_VARIABLE_H
-31
View File
@@ -2,10 +2,7 @@
#include <sstream> #include <sstream>
#include "data/parser/ParseFunction.h"
#include "data/parser/ParseLocation.h" #include "data/parser/ParseLocation.h"
#include "data/parser/ParseTypeUsage.h"
#include "data/parser/ParseVariable.h"
#include "data/type/DataType.h" #include "data/type/DataType.h"
#include "utility/utilityString.h" #include "utility/utilityString.h"
@@ -85,34 +82,6 @@ std::string ParserClient::addLocationSuffix(
return ss.str(); return ss.str();
} }
std::string ParserClient::variableStr(const ParseVariable& variable)
{
std::string str = variable.type.dataType->getFullTypeName() + " " + variable.getFullName();
return addStaticPrefix(str, variable.isStatic);
}
std::string ParserClient::parameterStr(const std::vector<ParseTypeUsage> parameters)
{
std::string str = "(";
for (size_t i = 0; i < parameters.size(); i++)
{
str += parameters[i].dataType->getFullTypeName();
if (i < parameters.size() - 1)
{
str += ", ";
}
}
return str + ")";
}
std::string ParserClient::functionStr(const ParseFunction& function)
{
/*std::string str =
function.returnType.dataType->getFullTypeName() + " " + function.getFullName() + parameterStr(function.parameters);
return addConstPrefix(addStaticPrefix(str, function.isStatic), function.isConst, false);*/
return function.nameHierarchy.getQualifiedNameWithSignature();
}
ParserClient::ParserClient() ParserClient::ParserClient()
{ {
} }
+1 -14
View File
@@ -6,17 +6,10 @@
#include "utility/types.h" #include "utility/types.h"
#include "data/name/NameHierarchy.h" #include "data/name/NameHierarchy.h"
#include "data/ErrorCountInfo.h"
#include "utility/file/FileInfo.h" #include "utility/file/FileInfo.h"
#include "ParseLocation.h"
struct ParseFunction;
struct ParseLocation; struct ParseLocation;
struct ParseTypeUsage;
struct ParseVariable;
class DataType; class DataType;
class ParserClient class ParserClient
@@ -48,10 +41,6 @@ public:
static std::string addLocationSuffix( static std::string addLocationSuffix(
const std::string& str, const ParseLocation& location, const ParseLocation& scopeLocation); const std::string& str, const ParseLocation& location, const ParseLocation& scopeLocation);
static std::string variableStr(const ParseVariable& variable);
static std::string parameterStr(const std::vector<ParseTypeUsage> parameters);
static std::string functionStr(const ParseFunction& function);
static std::string functionSignatureStr(const ParseFunction& function); // should this be in here? consider languages other than c++.
ParserClient(); ParserClient();
virtual ~ParserClient(); virtual ~ParserClient();
@@ -63,7 +52,6 @@ public:
virtual void finishParsingFile(const FilePath& filePath) = 0; virtual void finishParsingFile(const FilePath& filePath) = 0;
virtual void onError(const ParseLocation& location, const std::string& message, bool fatal) = 0; virtual void onError(const ParseLocation& location, const std::string& message, bool fatal) = 0;
virtual ErrorCountInfo getErrorCount() const = 0;
virtual Id onTypedefParsed( virtual Id onTypedefParsed(
const ParseLocation& location, const NameHierarchy& typedefName, AccessType access) = 0; const ParseLocation& location, const NameHierarchy& typedefName, AccessType access) = 0;
@@ -107,7 +95,7 @@ public:
const ParseLocation& location, const NameHierarchy& argumentTypeNameHierarchy, const ParseLocation& location, const NameHierarchy& argumentTypeNameHierarchy,
const NameHierarchy& templateNameHierarchy) = 0; const NameHierarchy& templateNameHierarchy) = 0;
virtual Id onTemplateDefaultArgumentTypeParsed( virtual Id onTemplateDefaultArgumentTypeParsed(
const ParseLocation& location, const NameHierarchy& defaultArgumentTypeNameHierarchy, const ParseLocation& location, const NameHierarchy& defaultArgumentTypeNameHierarchy,
const NameHierarchy& templateArgumentTypeNameHierarchy) = 0; const NameHierarchy& templateArgumentTypeNameHierarchy) = 0;
virtual Id onTemplateParameterTypeParsed( virtual Id onTemplateParameterTypeParsed(
const ParseLocation& location, const NameHierarchy& templateParameterTypeNameHierarchy) = 0; const ParseLocation& location, const NameHierarchy& templateParameterTypeNameHierarchy) = 0;
@@ -121,7 +109,6 @@ public:
virtual Id onFileIncludeParsed( virtual Id onFileIncludeParsed(
const ParseLocation& location, const FileInfo& fileInfo, const FileInfo& includedFileInfo) = 0; const ParseLocation& location, const FileInfo& fileInfo, const FileInfo& includedFileInfo) = 0;
virtual Id onMacroDefineParsed( virtual Id onMacroDefineParsed(
const ParseLocation& location, const NameHierarchy& macroNameHierarchy, const ParseLocation& scopeLocation) = 0; const ParseLocation& location, const NameHierarchy& macroNameHierarchy, const ParseLocation& scopeLocation) = 0;
virtual Id onMacroExpandParsed( virtual Id onMacroExpandParsed(
@@ -12,11 +12,10 @@ class MessageFinishedParsing
: public Message<MessageFinishedParsing> : public Message<MessageFinishedParsing>
{ {
public: public:
MessageFinishedParsing(size_t fileCount, size_t totalFileCount, float parseTime, ErrorCountInfo errorCount) MessageFinishedParsing(size_t fileCount, size_t totalFileCount, float parseTime)
: fileCount(fileCount) : fileCount(fileCount)
, totalFileCount(totalFileCount) , totalFileCount(totalFileCount)
, parseTime(parseTime) , parseTime(parseTime)
, errorCount(errorCount)
{ {
} }
@@ -27,8 +26,6 @@ public:
virtual void dispatch() virtual void dispatch()
{ {
MessageStatus(getStatusStr(), errorCount.total > 0).dispatch();
Message<MessageFinishedParsing>::dispatch(); Message<MessageFinishedParsing>::dispatch();
} }
@@ -37,12 +34,7 @@ public:
std::stringstream ss; std::stringstream ss;
ss << "Finished analysis: "; ss << "Finished analysis: ";
ss << fileCount << "/" << totalFileCount << " files, "; ss << fileCount << "/" << totalFileCount << " files, ";
ss << std::setprecision(2) << std::fixed << parseTime << " seconds, "; ss << std::setprecision(2) << std::fixed << parseTime << " seconds.";
ss << errorCount.total << " error" << (errorCount.total > 1 ? "s" : "");
if (errorCount.fatal > 0)
{
ss << " (" << errorCount.fatal << " fatal)";
}
return ss.str(); return ss.str();
} }
@@ -54,7 +46,6 @@ public:
size_t fileCount; size_t fileCount;
size_t totalFileCount; size_t totalFileCount;
float parseTime; float parseTime;
ErrorCountInfo errorCount;
}; };
#endif // MESSAGE_FINISHED_PARSING_H #endif // MESSAGE_FINISHED_PARSING_H
+54 -20
View File
@@ -7,6 +7,8 @@
#include <string> #include <string>
#include "data/parser/cxx/utilityCxx.h" #include "data/parser/cxx/utilityCxx.h"
#include "data/parser/ParseLocation.h"
#include "utility/file/FileManager.h" #include "utility/file/FileManager.h"
#include "utility/file/FileSystem.h" #include "utility/file/FileSystem.h"
#include "utility/ScopedSwitcher.h" #include "utility/ScopedSwitcher.h"
@@ -131,7 +133,9 @@ bool ASTVisitor::TraverseDecl(clang::Decl *d)
if (d && clang::isa<clang::DeclContext>(d) && clang::isa<clang::NamedDecl>(d) && !clang::isa<clang::NamespaceDecl>(d)) if (d && clang::isa<clang::DeclContext>(d) && clang::isa<clang::NamedDecl>(d) && !clang::isa<clang::NamespaceDecl>(d))
{ {
clang::NamedDecl* nd = clang::dyn_cast<clang::NamedDecl>(d); clang::NamedDecl* nd = clang::dyn_cast<clang::NamedDecl>(d);
sw3 = std::make_shared<ScopedSwitcher<std::shared_ptr<ContextNameGenerator>>>(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(nd, m_declNameCache)); sw3 = std::make_shared<ScopedSwitcher<std::shared_ptr<ContextNameGenerator>>>(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(nd, m_declNameCache)
);
} }
return base::TraverseDecl(d); return base::TraverseDecl(d);
@@ -139,25 +143,33 @@ bool ASTVisitor::TraverseDecl(clang::Decl *d)
bool ASTVisitor::TraverseLambdaExpr(clang::LambdaExpr* e) bool ASTVisitor::TraverseLambdaExpr(clang::LambdaExpr* e)
{ {
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(e->getCallOperator(), m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(e->getCallOperator(), m_declNameCache)
);
return base::TraverseLambdaExpr(e); return base::TraverseLambdaExpr(e);
} }
bool ASTVisitor::TraverseFunctionDecl(clang::FunctionDecl* d) bool ASTVisitor::TraverseFunctionDecl(clang::FunctionDecl* d)
{ {
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_childContextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); // store context for template arguments of function specialitzation ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_childContextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
); // store context for template arguments of function specialitzation
return base::TraverseFunctionDecl(d); return base::TraverseFunctionDecl(d);
} }
bool ASTVisitor::TraverseTypedefDecl(clang::TypedefDecl *d) bool ASTVisitor::TraverseTypedefDecl(clang::TypedefDecl *d)
{ {
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
return base::TraverseTypedefDecl(d); return base::TraverseTypedefDecl(d);
} }
bool ASTVisitor::TraverseFieldDecl(clang::FieldDecl *d) bool ASTVisitor::TraverseFieldDecl(clang::FieldDecl *d)
{ {
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
return base::TraverseFieldDecl(d); return base::TraverseFieldDecl(d);
} }
@@ -168,21 +180,27 @@ bool ASTVisitor::TraverseVarDecl(clang::VarDecl *d)
NameHierarchy contextNameHierarchy = getContextName(); NameHierarchy contextNameHierarchy = getContextName();
if (!(contextNameHierarchy.size() > 0 && contextNameHierarchy.back()->hasSignature())) // TODO: whle test if its a function. optimize this: remove requirement to get the name here! if (!(contextNameHierarchy.size() > 0 && contextNameHierarchy.back()->hasSignature())) // TODO: whle test if its a function. optimize this: remove requirement to get the name here!
{ {
switcher = std::make_shared<ScopedSwitcher<std::shared_ptr<ContextNameGenerator>>>(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); switcher = std::make_shared<ScopedSwitcher<std::shared_ptr<ContextNameGenerator>>>(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
} }
return base::TraverseVarDecl(d); return base::TraverseVarDecl(d);
} }
bool ASTVisitor::TraverseClassTemplateDecl(clang::ClassTemplateDecl* d) bool ASTVisitor::TraverseClassTemplateDecl(clang::ClassTemplateDecl* d)
{ {
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
return base::TraverseClassTemplateDecl(d); return base::TraverseClassTemplateDecl(d);
} }
bool ASTVisitor::TraverseFunctionTemplateDecl(clang::FunctionTemplateDecl* d) bool ASTVisitor::TraverseFunctionTemplateDecl(clang::FunctionTemplateDecl* d)
{ {
// we need to use the templated decl here because name resolving for FunctionTemplateDecl is not returning a correct signature yet. // we need to use the templated decl here because name resolving for FunctionTemplateDecl is not returning a correct signature yet.
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d->getTemplatedDecl(), m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d->getTemplatedDecl(), m_declNameCache)
);
return base::TraverseFunctionTemplateDecl(d); return base::TraverseFunctionTemplateDecl(d);
} }
@@ -194,7 +212,9 @@ bool ASTVisitor::TraverseTemplateTypeParmDecl(clang::TemplateTypeParmDecl* d)
if (d->hasDefaultArgument() && !d->defaultArgumentWasInherited()) if (d->hasDefaultArgument() && !d->defaultArgumentWasInherited())
{ {
ScopedSwitcher<RefType> sw1(m_typeContext, RT_TemplateDefaultArgument); ScopedSwitcher<RefType> sw1(m_typeContext, RT_TemplateDefaultArgument);
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> sw2(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> sw2(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
TraverseTypeLoc(d->getDefaultArgumentInfo()->getTypeLoc()); TraverseTypeLoc(d->getDefaultArgumentInfo()->getTypeLoc());
} }
@@ -212,7 +232,9 @@ bool ASTVisitor::TraverseTemplateTemplateParmDecl(clang::TemplateTemplateParmDec
if (d->hasDefaultArgument() && !d->defaultArgumentWasInherited()) if (d->hasDefaultArgument() && !d->defaultArgumentWasInherited())
{ {
ScopedSwitcher<RefType> sw1(m_typeContext, RT_TemplateDefaultArgument); ScopedSwitcher<RefType> sw1(m_typeContext, RT_TemplateDefaultArgument);
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> sw2(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> sw2(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
TraverseTemplateArgumentLoc(d->getDefaultArgument()); TraverseTemplateArgumentLoc(d->getDefaultArgument());
} }
@@ -232,20 +254,26 @@ bool ASTVisitor::TraverseTemplateTemplateParmDecl(clang::TemplateTemplateParmDec
bool ASTVisitor::TraverseClassTemplatePartialSpecializationDecl(clang::ClassTemplatePartialSpecializationDecl* d) bool ASTVisitor::TraverseClassTemplatePartialSpecializationDecl(clang::ClassTemplatePartialSpecializationDecl* d)
{ {
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_childContextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_childContextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
return base::TraverseClassTemplatePartialSpecializationDecl(d); return base::TraverseClassTemplatePartialSpecializationDecl(d);
} }
bool ASTVisitor::TraverseDeclRefExpr(clang::DeclRefExpr* e) bool ASTVisitor::TraverseDeclRefExpr(clang::DeclRefExpr* e)
{ {
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_childContextNameGenerator, std::make_shared<ContextDeclNameGenerator>(e->getDecl(), m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_childContextNameGenerator, std::make_shared<ContextDeclNameGenerator>(e->getDecl(), m_declNameCache)
);
return base::TraverseDeclRefExpr(e); return base::TraverseDeclRefExpr(e);
} }
bool ASTVisitor::TraverseTemplateSpecializationTypeLoc(clang::TemplateSpecializationTypeLoc loc) bool ASTVisitor::TraverseTemplateSpecializationTypeLoc(clang::TemplateSpecializationTypeLoc loc)
{ {
const clang::Type* t = loc.getTypePtr(); const clang::Type* t = loc.getTypePtr();
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_childContextNameGenerator, std::make_shared<ContextTypeNameGenerator>(t, m_typeNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_childContextNameGenerator, std::make_shared<ContextTypeNameGenerator>(t, m_typeNameCache)
);
return base::TraverseTemplateSpecializationTypeLoc(loc); return base::TraverseTemplateSpecializationTypeLoc(loc);
} }
@@ -262,12 +290,12 @@ bool ASTVisitor::TraverseTemplateArgumentLoc(const clang::TemplateArgumentLoc& l
std::shared_ptr<ScopedSwitcher<std::shared_ptr<ContextNameGenerator>>> sw2; std::shared_ptr<ScopedSwitcher<std::shared_ptr<ContextNameGenerator>>> sw2;
if (m_typeContext != RT_TemplateDefaultArgument if (m_typeContext != RT_TemplateDefaultArgument
&& && m_childContextNameGenerator)
m_childContextNameGenerator
)
{ {
sw1 = std::make_shared<ScopedSwitcher<RefType>>(m_typeContext, RT_TemplateArgument); sw1 = std::make_shared<ScopedSwitcher<RefType>>(m_typeContext, RT_TemplateArgument);
sw2 = std::make_shared<ScopedSwitcher<std::shared_ptr<ContextNameGenerator>>>(m_contextNameGenerator, m_childContextNameGenerator); sw2 = std::make_shared<ScopedSwitcher<std::shared_ptr<ContextNameGenerator>>>(
m_contextNameGenerator, m_childContextNameGenerator
);
} }
clang::TemplateArgument::ArgKind kk = loc.getArgument().getKind(); clang::TemplateArgument::ArgKind kk = loc.getArgument().getKind();
@@ -652,8 +680,12 @@ bool ASTVisitor::TraverseCXXRecordDecl(clang::CXXRecordDecl *d)
++it) { ++it) {
clang::CXXBaseSpecifier *baseSpecifier = it; clang::CXXBaseSpecifier *baseSpecifier = it;
ScopedSwitcher<RefType> sw1(m_typeContext, RT_BaseClass); ScopedSwitcher<RefType> sw1(m_typeContext, RT_BaseClass);
ScopedSwitcher<ParserClient::AccessType> sw2(m_contextAccess, convertAccessType(baseSpecifier->getAccessSpecifier())); ScopedSwitcher<ParserClient::AccessType> sw2(
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> sw3(m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); m_contextAccess, convertAccessType(baseSpecifier->getAccessSpecifier())
);
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> sw3(
m_contextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
TraverseTypeLoc(baseSpecifier->getTypeSourceInfo()->getTypeLoc()); TraverseTypeLoc(baseSpecifier->getTypeSourceInfo()->getTypeLoc());
} }
} }
@@ -678,7 +710,9 @@ bool ASTVisitor::TraverseClassTemplateSpecializationDecl(
if (clang::TypeSourceInfo* tsi = d->getTypeAsWritten()) if (clang::TypeSourceInfo* tsi = d->getTypeAsWritten())
{ {
ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(m_childContextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)); ScopedSwitcher<std::shared_ptr<ContextNameGenerator>> switcher(
m_childContextNameGenerator, std::make_shared<ContextDeclNameGenerator>(d, m_declNameCache)
);
clang::TypeLoc tl = tsi->getTypeLoc(); clang::TypeLoc tl = tsi->getTypeLoc();
clang::TemplateSpecializationTypeLoc tstl = tl.castAs<clang::TemplateSpecializationTypeLoc>(); clang::TemplateSpecializationTypeLoc tstl = tl.castAs<clang::TemplateSpecializationTypeLoc>();
for (unsigned I = 0, E = tstl.getNumArgs(); I != E; ++I) for (unsigned I = 0, E = tstl.getNumArgs(); I != E; ++I)
@@ -1,5 +1,6 @@
#include "data/parser/cxx/CommentHandler.h" #include "data/parser/cxx/CommentHandler.h"
#include "data/parser/ParseLocation.h"
#include "data/parser/ParserClient.h" #include "data/parser/ParserClient.h"
#include "utility/file/FileManager.h" #include "utility/file/FileManager.h"
#include "utility/file/FileRegister.h" #include "utility/file/FileRegister.h"
+15 -24
View File
@@ -5,16 +5,12 @@
#include "utility/utilityString.h" #include "utility/utilityString.h"
#include "data/parser/cxx/CxxParser.h" #include "data/parser/cxx/CxxParser.h"
#include "data/parser/ParseFunction.h"
#include "data/parser/ParseLocation.h" #include "data/parser/ParseLocation.h"
#include "data/parser/ParserClient.h" #include "data/parser/ParserClient.h"
#include "data/parser/ParseTypeUsage.h"
#include "data/parser/ParseVariable.h"
#include "settings/ApplicationSettings.h" #include "settings/ApplicationSettings.h"
#include "helper/TestFileManager.h" #include "helper/TestFileManager.h"
class CxxParserTestSuite: public CxxTest::TestSuite class CxxParserTestSuite: public CxxTest::TestSuite
{ {
public: public:
@@ -110,7 +106,7 @@ public:
TS_ASSERT_EQUALS(client->functions.size(), 1); TS_ASSERT_EQUALS(client->functions.size(), 1);
TS_ASSERT_EQUALS(client->functions[0], "int ceil(float) <1:1 <1:5 1:8> 4:1>"); TS_ASSERT_EQUALS(client->functions[0], "int ceil(float) <1:1 <1:5 1:8> 4:1>");
} }
void test_cxx_parser_finds_static_function_declaration() void test_cxx_parser_finds_static_function_declaration()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -773,7 +769,7 @@ public:
TS_ASSERT_EQUALS(client->structs.size(), 1); TS_ASSERT_EQUALS(client->structs.size(), 1);
TS_ASSERT_EQUALS(client->structs[0], "private A::B <3:2 <3:9 3:9> 5:2>"); TS_ASSERT_EQUALS(client->structs[0], "private A::B <3:2 <3:9 3:9> 5:2>");
} }
void test_cxx_parser_finds_struct_definition_in_namespace() void test_cxx_parser_finds_struct_definition_in_namespace()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -823,7 +819,7 @@ public:
TS_ASSERT_EQUALS(client->globalVariables.size(), 1); TS_ASSERT_EQUALS(client->globalVariables.size(), 1);
TS_ASSERT_EQUALS(client->globalVariables[0], "n::x <2:6 2:6>"); TS_ASSERT_EQUALS(client->globalVariables[0], "n::x <2:6 2:6>");
} }
void test_cxx_parser_finds_field_in_nested_class() void test_cxx_parser_finds_field_in_nested_class()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -1002,7 +998,7 @@ public:
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
"int x;\n" "int x;\n"
); );
TS_ASSERT_EQUALS(client->typeUses.size(), 1); TS_ASSERT_EQUALS(client->typeUses.size(), 1);
TS_ASSERT_EQUALS(client->typeUses[0], "x -> int <1:1 1:3>"); TS_ASSERT_EQUALS(client->typeUses[0], "x -> int <1:1 1:3>");
} }
@@ -1012,9 +1008,9 @@ public:
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
"typedef unsigned int uint;\n" "typedef unsigned int uint;\n"
); );
TS_ASSERT_EQUALS(client->typeUses.size(), 1); TS_ASSERT_EQUALS(client->typeUses.size(), 1);
TS_ASSERT_EQUALS(client->typeUses[0], "uint -> unsigned int <1:9 1:16>"); TS_ASSERT_EQUALS(client->typeUses[0], "uint -> unsigned int <1:9 1:16>");
} }
void test_cxx_parser_finds_typedef_that_uses_type_defined_in_named_namespace() void test_cxx_parser_finds_typedef_that_uses_type_defined_in_named_namespace()
@@ -1052,7 +1048,7 @@ public:
TS_ASSERT_EQUALS(client->inheritances.size(), 1); TS_ASSERT_EQUALS(client->inheritances.size(), 1);
TS_ASSERT_EQUALS(client->inheritances[0], "B : private A <2:11 2:11>"); TS_ASSERT_EQUALS(client->inheritances[0], "B : private A <2:11 2:11>");
} }
void test_cxx_parser_finds_class_public_inheritance() void test_cxx_parser_finds_class_public_inheritance()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -1161,7 +1157,7 @@ public:
TS_ASSERT_EQUALS(client->inheritances[0], "C : public A <4:11 4:11>"); TS_ASSERT_EQUALS(client->inheritances[0], "C : public A <4:11 4:11>");
TS_ASSERT_EQUALS(client->inheritances[1], "C : private B <5:12 5:12>"); TS_ASSERT_EQUALS(client->inheritances[1], "C : private B <5:12 5:12>");
} }
void test_cxx_parser_finds_method_override_when_virtual() void test_cxx_parser_finds_method_override_when_virtual()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -1240,7 +1236,7 @@ public:
TS_ASSERT_EQUALS(client->overrides.size(), 0); TS_ASSERT_EQUALS(client->overrides.size(), 0);
} }
void test_cxx_parser_finds_call_in_function() void test_cxx_parser_finds_call_in_function()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -1300,7 +1296,7 @@ public:
TS_ASSERT_EQUALS(client->calls[0], "int main() -> int sum(int, int) <11:2 11:4>"); TS_ASSERT_EQUALS(client->calls[0], "int main() -> int sum(int, int) <11:2 11:4>");
TS_ASSERT_EQUALS(client->calls[1], "int main() -> float sum(float, float) <12:2 12:4>"); TS_ASSERT_EQUALS(client->calls[1], "int main() -> float sum(float, float) <12:2 12:4>");
} }
void test_cxx_parser_finds_function_call_in_function_parameter_list() void test_cxx_parser_finds_function_call_in_function_parameter_list()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -1318,7 +1314,7 @@ public:
TS_ASSERT_EQUALS(client->calls[0], "int main() -> int sum(int, int) <7:9 7:11>"); TS_ASSERT_EQUALS(client->calls[0], "int main() -> int sum(int, int) <7:9 7:11>");
TS_ASSERT_EQUALS(client->calls[1], "int main() -> int sum(int, int) <7:16 7:18>"); TS_ASSERT_EQUALS(client->calls[1], "int main() -> int sum(int, int) <7:16 7:18>");
} }
void test_cxx_parser_finds_function_call_in_method() void test_cxx_parser_finds_function_call_in_method()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -2669,7 +2665,7 @@ public:
TS_ASSERT_EQUALS(client->calls.size(), 2); TS_ASSERT_EQUALS(client->calls.size(), 2);
TS_ASSERT_EQUALS(client->calls[1], "int main() -> void n::App::App(int) <11:16 11:18>"); TS_ASSERT_EQUALS(client->calls[1], "int main() -> void n::App::App(int) <11:16 11:18>");
} }
void test_cxx_parser_finds_macro_define_scope() void test_cxx_parser_finds_macro_define_scope()
{ {
std::shared_ptr<TestParserClient> client = parseCode( std::shared_ptr<TestParserClient> client = parseCode(
@@ -2679,7 +2675,7 @@ public:
TS_ASSERT_EQUALS(client->macros.size(), 1); TS_ASSERT_EQUALS(client->macros.size(), 1);
TS_ASSERT_EQUALS(client->macros[0], "MAX <1:9 <1:9 1:11> 2:17>"); TS_ASSERT_EQUALS(client->macros[0], "MAX <1:9 <1:9 1:11> 2:17>");
} }
//void __test_cxx_parser_finds_type_template_argument_of_static_cast_expression() //void __test_cxx_parser_finds_type_template_argument_of_static_cast_expression()
//{ //{
// std::shared_ptr<TestParserClient> client = parseCode( // std::shared_ptr<TestParserClient> client = parseCode(
@@ -2708,7 +2704,7 @@ public:
// TS_ASSERT_EQUALS(client->calls.size(), 1); // TS_ASSERT_EQUALS(client->calls.size(), 1);
// TS_ASSERT_EQUALS(client->calls[0], "void B::B() -> A::A() <6:2 6:2>"); // TS_ASSERT_EQUALS(client->calls[0], "void B::B() -> A::A() <6:2 6:2>");
//} //}
void test_cxx_parser_parses_multiple_files() void test_cxx_parser_parses_multiple_files()
{ {
TestFileManager fm; TestFileManager fm;
@@ -2741,7 +2737,7 @@ public:
TS_ASSERT_EQUALS(client.inheritances.size(), 1); TS_ASSERT_EQUALS(client.inheritances.size(), 1);
TS_ASSERT_EQUALS(client.calls.size(), 1); TS_ASSERT_EQUALS(client.calls.size(), 1);
TS_ASSERT_EQUALS(client.usages.size(), 3); TS_ASSERT_EQUALS(client.usages.size(), 3);
TS_ASSERT_EQUALS(client.typeUses.size(), 19); // TODO: this test fails?! TS_ASSERT_EQUALS(client.typeUses.size(), 17);
TS_ASSERT_EQUALS(client.files.size(), 3); TS_ASSERT_EQUALS(client.files.size(), 3);
TS_ASSERT_EQUALS(client.includes.size(), 1); TS_ASSERT_EQUALS(client.includes.size(), 1);
@@ -2820,11 +2816,6 @@ private:
errors.push_back(addLocationSuffix(message, location)); errors.push_back(addLocationSuffix(message, location));
} }
virtual ErrorCountInfo getErrorCount() const
{
return ErrorCountInfo();
}
virtual Id onTypedefParsed( virtual Id onTypedefParsed(
const ParseLocation& location, const NameHierarchy& typedefName, AccessType access const ParseLocation& location, const NameHierarchy& typedefName, AccessType access
) )
+7 -10
View File
@@ -6,10 +6,7 @@
#include "data/graph/token_component/TokenComponentAccess.h" #include "data/graph/token_component/TokenComponentAccess.h"
#include "data/graph/token_component/TokenComponentStatic.h" #include "data/graph/token_component/TokenComponentStatic.h"
#include "data/location/TokenLocation.h" #include "data/location/TokenLocation.h"
#include "data/parser/ParseFunction.h"
#include "data/parser/ParseLocation.h" #include "data/parser/ParseLocation.h"
#include "data/parser/ParseTypeUsage.h"
#include "data/parser/ParseVariable.h"
#include "data/Storage.h" #include "data/Storage.h"
#include "data/type/DataType.h" #include "data/type/DataType.h"
#include "data/type/NamedDataType.h" #include "data/type/NamedDataType.h"
@@ -263,16 +260,16 @@ public:
NameHierarchy b = createFunctionNameHierarchy("void", "B::isMethod", "(bool)"); NameHierarchy b = createFunctionNameHierarchy("void", "B::isMethod", "(bool)");
storage.onMethodParsed( storage.onMethodParsed(
validLocation(9), validLocation(9),
a, a,
ParserClient::ACCESS_PRIVATE, ParserClient::ACCESS_PRIVATE,
ParserClient::ABSTRACTION_VIRTUAL, ParserClient::ABSTRACTION_VIRTUAL,
validLocation(4)); validLocation(4));
storage.onMethodParsed( storage.onMethodParsed(
validLocation(7), validLocation(7),
b, b,
ParserClient::ACCESS_PRIVATE, ParserClient::ACCESS_PRIVATE,
ParserClient::ABSTRACTION_NONE, ParserClient::ABSTRACTION_NONE,
validLocation(3)); validLocation(3));
storage.onMethodOverrideParsed(validLocation(4), a, b); storage.onMethodOverrideParsed(validLocation(4), a, b);