2192 Commits
Author SHA1 Message Date
Josh SorefandGitHub 3a75ef0df4 src: correct spelling errors (#1162) 2021-03-14 07:47:26 +01:00
Malte LangkabelandGitHub 5932e9f1e8 ui: hide news widget if no news are available (#1160) 2021-03-09 07:48:16 +01:00
Malte LangkabelandGitHub 804e564c8d update SourcetrailPythonIndexer to version 1.25.6 to fix TextAccess issue (#1159)
* before this update the SourcetrailPythonIndexer was saving indexed code to the database different than Sourcetrail, which could result in crashes
2021-03-09 07:43:27 +01:00
Malte LangkabelandGitHub 33e3f96283 build: make Windows CI build and test Java language support (#1156) 2021-03-03 07:33:29 +01:00
Malte LangkabelandGitHub 220ac82681 data: update Java dependencies to add support for Java 13, 14 and 15 (#1152)
* updated java indexer dependencies
* replaced old gradle tooling jar that is shipped with Sourcetrail because it is not working for new JRE versions anymore
* fixed crash in Java indexer
* added language standard sleection for Java 13, 14 and 15
* fixed console logging for recent jdk versions
2021-02-25 18:28:17 +01:00
Malte LangkabelandGitHub 7cb232af86 remove call to boost::filesystem::canonical when preparing indexer (issue #1149) (#1151)
boost::filesystem::canonical causes issues on Windows and will throw an exception if path is too long. Now those paths will be ignored by the indexer because boost::filesystem::exists returns false.
2021-02-25 07:38:01 +01:00
mlangkabel 5a2b0fd591 test: add HierarchyCache test for diamond inheritance and fix cyclic inheritance test 2021-02-23 23:12:16 +01:00
Toni DietzeandGitHub 7d344fb08e logic: fix multi-level inheritance edges when there are diamonds (#1142)
The old implementation produces several multi-inheritance edges between
two classes if there are multiple inheritance paths between them due to
multiple inheritance diamonds. The new implementation produces only one
edge in such a case.

Also, the old implementation has performance issues when there is a huge
number of inheritance paths starting at the focused class. With a
pathological multiple inheritance class structure, the number of paths
can be exponential in the number of involved classes. The new
implementation solves this issue by considering subgraphs instead of
paths.

The following is a small problematic example, which does not show the
performance problem due to its small size. However, when focusing on
X::foo, the old implementation produces 4 different multi-level
inheritance edges from X to B1 while the new implementation produces
only one multi-level inheritance edge, which is basically the union of
the edges of the old implementation:

    struct B1 {
    	virtual void foo() = 0;
    };
    struct C1 : B1 {};
    struct D1 : B1 {};
    struct B2 : C1, D1 {};
    struct C2 : B2 {};
    struct D2 : B2 {};
    struct B3 : C2, D2 {};

    struct X : B3 {
    	void foo() override {};
    };

    int main () {
    	X x;
    	x.foo();
    	return 0;
    }
2021-02-23 23:04:18 +01:00
Malte LangkabelandGitHub 4b922ed103 src: specify if file or directory path is returned by helpers (#1146) 2021-02-22 21:55:30 +01:00
mlangkabel 6ab808852c test: make HierarchyCache tests independent of edge order 2021-02-22 18:22:51 +01:00
mlangkabel 4d35697f9e test: add inheritance edge tests for HierarchyCache 2021-02-22 17:04:16 +01:00
Malte LangkabelandGitHub 3c1638da25 src: switch from Qt to boost implementation of executeProcess (#1145)
* changed implementation of executeProcess
* unified all different implementations of executeProcess
* separated arg list from command for all calls of executeProcess (this also required to remove quotes that were added to path args because otherwise the Python indexer would mistake absolute paths for relative paths.)
* update expected output for custom command tests
2021-02-22 16:00:32 +01:00
mlangkabel 9a13c194df ui: remove "beta" notice for Python support 2021-02-17 07:30:30 +01:00
midchildanandGitHub 64b42f1de4 src: fix java path detection failures on linux (#1138)
readlink was being invoked as "readlink" "-f path/to/java". It should've been "readlink" "-f" "path/to/java" instead.
2021-02-15 19:48:06 +01:00
Malte LangkabelandGitHub b642929790 Revert "Revert "test: fix expected output for CXX indexer tests"" (#1137)
This reverts commit e3c0ed9349.
2021-02-08 12:47:08 +01:00
Malte LangkabelandGitHub a4e0296471 src: revert migration of QProcess::start() to QStringList (#1136)
* Revert "src: Migrate QProcess::start() to QStringList (#1107)"

This reverts commit 8b8c186697.

* Revert "fix escaping in mvn path detector (necessary after 8b8c1866)"

This reverts commit fcd2f33304.
2021-02-08 11:20:02 +01:00
mlangkabel 220b8bad0b logic: add nullpointer checks in CXX ast visitor 2021-01-25 22:02:16 +01:00
mlangkabel e3c0ed9349 Revert "test: fix expected output for CXX indexer tests"
This reverts commit ce1d5e8443.
2021-01-12 07:49:05 +01:00
mlangkabel ce1d5e8443 test: fix expected output for CXX indexer tests 2021-01-11 19:54:02 +01:00
Malte LangkabelandGitHub f18bef7f73 build: make Java tests run on Linux CI (#1127) 2021-01-11 14:34:28 +01:00
Malte LangkabelandGitHub d0f9056f15 ui: move "Save Graph as Image..." up in "Edit" menu to keep "Preferences..." at the bottom (#1124)
This is done because users may already be used to "preferences" being the bottom-most button and may accidentally click "Save Graph as Image..." when they actually want to open the preferences screen.
2020-12-31 18:39:07 +01:00
Malte Langkabel a087ef9454 build: fix warning (treated as error on windows) 2020-12-31 16:27:52 +01:00
Frédéric SimonisandGitHub f70e9ecbc4 build: Add compatibility layer for Qt versions (#1118) 2020-12-07 15:34:14 +01:00
mlangkabel 1a0b564b1e ui: change text of error message if Java could not be loaded to be less narrow regarding the cause 2020-11-30 16:12:04 +01:00
Malte LangkabelandGitHub efc80fde57 logic: check if clang NamedDecl really has a name before asking for it to prevent assert (issue #1075) (#1112) 2020-11-18 19:25:12 +01:00
mlangkabel fcd2f33304 fix escaping in mvn path detector (necessary after 8b8c1866) 2020-11-18 17:44:32 +01:00
mlangkabel d3873213f1 logic: add another codeblocks related null check 2020-11-18 17:11:03 +01:00
William WoldandGitHub 4b6b58de86 logic: fix crash when using codeblocks project (issue #1109) (#1110) 2020-11-18 16:47:14 +01:00
miltolstoyandGitHub 8990eb320d logic: add menu action for graph 'save as image' (issue #426) (#1104) 2020-11-18 16:19:27 +01:00
Frédéric SimonisandGitHub 8b8c186697 src: Migrate QProcess::start() to QStringList (#1107)
The non-QStringList variant of QProcess::start() was removed in Qt 5.15.
The adapted method handles escaping of the arguments, which simplifies
code in some locations.
2020-11-18 15:45:38 +01:00
miltolstoyandGitHub ad9d8d7930 logic: remember graph zoom level on restart (issue #801) (#1099) 2020-10-23 19:25:44 +02:00
midchildanandGitHub d079d1787c logic: explicitly add u+w permission when copying initial user data on Linux (#1072) 2020-08-23 00:31:48 +02:00
Malte LangkabelandGitHub e946c475c4 Qt 5.12 deprecation fixes (#1003) 2020-08-04 18:13:18 +02:00
Eberhard GrätherandGitHub 3950da7999 src: Rename aggregation edge to bundled edges (#1051)
The term aggregation is misleading. Bundled edges is a better definition for this type of edge.

closes #962
2020-06-29 19:41:12 +02:00
Malte LangkabelandGitHub 7008d2abdd logic: fix error recording for multi-threaded custom command indexing (issue #1043) (#1049)
In multi-threaded custom command indexing errors were read from the wrong storage.
2020-06-29 19:25:26 +02:00
Eberhard GrätherandGitHub 27558c42bb ui: Fixed crash when changing tabs during animation (#1046)
Changing tabs during animation triggers a hover leave event on the focused node, which moves the focus to the parent node if available. This parent node however is still the old node, and deleted after the graph transition animation finishes, which leaves a dangling pointer.

closes #1021
2020-06-29 01:05:53 +02:00
Malte LangkabelandGitHub 6d39039b4a ui: improve help message for cxx "source file extensions" in project settings (#1039) 2020-06-08 21:19:59 +02:00
Malte LangkabelandGitHub 0294589f16 logic: set language to "C" for "Empty C" Sourcegroups (#1038) 2020-06-08 19:47:38 +02:00
mlangkabel b307a106f7 fixed last filepicker location was cleared when file picker dialog was aborted 2020-06-08 11:42:34 +02:00
miltolstoyandGitHub 0da704eabe logic: save last filepicker location (issue #802) (#1024) 2020-06-08 11:24:38 +02:00
Louis St-AmourandGitHub a12deb2056 Fixes for Clang 10 compatibility (closes #965) (#968)
Primarily FrontendAction now gets passed as unique_ptr, but also StringRef was added in a few places. See https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html#internal-api-changes and http://llvm.org/docs/ProgrammersManual.html#the-stringref-class Also, llvm::make_unique is now std::make_unique: https://reviews.llvm.org/D66259 because LLVM requires C++14.
2020-06-07 16:18:58 +02:00
Eberhard GrätherandGitHub a3abdf7c04 java: Updated macOS Java Path detector and docs to current JDK file structure (#1031) 2020-06-01 23:42:02 +02:00
Eberhard GrätherandGitHub ef8b9e0031 src: Improved performance of FilePathFilter (#1030)
* Only retrieve FilePath::wstr once per checked FilePath
* Replaced all invokation of FilePathFilter::isMatching with FilePathFilter::areMatching
* Don't pass match to std::regex_match
* set 'optimize' flag on regexes

partly fixes #1007
2020-05-31 21:34:14 +02:00
Malte LangkabelandGitHub 11563a0f48 build: fix warnings due to empty switch statememts if no language support is built (#1015) 2020-05-15 18:34:02 +02:00
Malte LangkabelandGitHub 66ea5a9be4 ui: fix corrupted display of non-ascii characters in about window (issue #1011) (#1013) 2020-05-15 11:59:50 +02:00
Malte LangkabelandGitHub 8a75946c73 logic: improve logging if exception occurred while loading project (#1004) 2020-05-08 16:09:29 +02:00
Frédéric SimonisandGitHub f86a4afdc5 ui: Add graph action 'copy to clipboard' (#999)
* Refactor image generation into separate function
2020-05-06 06:17:33 +02:00
Malte LangkabelandGitHub 6cef832329 ui: extend "compiler flags" help message (issue #974) (#990)
* extend help dialog for preprocessor defines in project setup to assign values to defines
* make documentation consistent with message box
2020-04-23 16:30:23 +02:00
Eberhard Graether 242fe22419 src: Minor refactorings in graph focus handling 2020-04-20 22:02:58 +02:00
Louis St-AmourandGitHub 224c89182a src: Apply clang-format and extend use to Java code (#973) 2020-04-19 14:11:48 +02:00