CodeCompass
CodeCompass copied to clipboard
CodeCompass is a software comprehension tool for large scale software written in C/C++ and Java
Querying for an an InfoTree on an undeclared class crashes the webserver: ```.cpp class MyClass; int main() { } ```
According to `sqlite3_analyzer` tool the 3 largest tables are `CppDocComment` (50.3%), `CppAstNode` (33.1%) and `FileContent` (5.0%). Measurement is done on a Xerces parsing. CppDocComment is this huge, because we're storing...
When opening git blame view on the GUI, the CPU seems to be working but there is no result.
CodeCompass crashes on Xerces when we call `class collaboration diagram` on a certain class from vscode. To reproduce I attach the neccessary revision details for the related sources. I also...
In the `VisitMemberExpr()` function an entry is added for accessing members. However, if this is a method call, then it is already inserted as a function call. So in this...
When allocating an object on the heap, the corresponding constructor call is also registered at that position besides the `operator new()` call. However, in case of a `delete` expression only...
The namespace "using" declarative is not handled in the C++ parser: ```.cpp namespace N {} void f() { using namespace N; // "N" is missing from the database } ```
An inclusion relationship can also be added by `-include` flag. The question is: should `CppHeaderInclusion` table contain these relations too? If yes, then which file includes the header provided by...
In `SourceManager` the `persistFiles()` method unloads the `FileContent` for the cached `File` entities for (unverified) memory management considerations: ```cpp void SourceManager::persistFiles() { std::lock_guard guard(_createFileMutex); _transaction([&, this]() { for (const auto&...
We should handle non-type template parameters in cpp parser: ```cpp template // param is a NonTypeTemplateParmDecl bool f() { if (param < 0) // NonTypeTemplateParm return false; return true; }...