Commit Graph
1414 Commits
Author SHA1 Message Date
mlangkabel 7c039a2fb8 logic: fixed reading lines now also breaks at a single "\r" on windows 2018-09-21 18:00:34 +02:00
mlangkabel 951256c07b logic: reduced waiting time when interrupting indexer processes
* made multiprocess AST traversal interruptible again
* removed const variables that define sleep times for threads
2018-09-21 17:19:03 +02:00
Eberhard Graether 593e075399 utility: don't process log messages in stream macros when logging disabled 2018-09-21 16:28:07 +02:00
Eberhard Graether 56dcddfb83 cxx: Improved performance of CxxAstVisitor, CxxNameResolver and CxxName types
* use unique_ptr for CxxName handling
* create CxxNameResolver from other
* improved string handling in CxxName types
* only traverse decls within projects
* use macro in ast visitor to call into each component instead of virtual calls
* improved CxxName caching performance
* refactored CxxNameResolver classes to use less locals
2018-09-21 14:48:51 +02:00
Eberhard Graether 513988e51b src: Fixed tests for Mac 2018-09-21 14:38:31 +02:00
mlangkabel dfc6d88432 build: search headers in all source directories
* removed paths in include directives
* changed cmake to provide necessary header search paths
* changed name of version.h to productVersion.h due to name conflict
2018-09-18 19:00:18 +02:00
mlangkabel 9dc2bcc2f9 logic: indexer command refactoring
* moved SystemHeaderSearchPaths and FramewordSeearchPaths of indexer cxx indexer commands to CompilerFlags section
* added SourceGroupTestSuite to test indexer command generation of all source groups
* removed "compile_commands.json" from gitignore, because a resource file for the tests has this name
2018-09-18 17:09:28 +02:00
Eberhard Graether 07454f2045 data: Removed std::multimap optimization from LowMemoryStringMap and store local symbol names in std::map 2018-09-18 12:32:55 +02:00
Eberhard Graether 9f453ef376 src: Fixed clang warnings 2018-09-18 10:56:56 +02:00
mlangkabel 5517cd4ccf logic: refresh info generator fixes and tests
* fixed case where "to-index" state of a file has changed and thus the file needs to be re-indexed
* clear and re-index files that depend on changed non-indexed files
* clear and re-index files referenced by unchanged but cleared (due to referencing a changed file) files
* fixed: updated files with changed timestamp that do not have content in the db will now count as changed
* refined refresh info generator tests
* updated checklists for manual project setup tests
2018-09-14 16:02:01 +02:00
mlangkabel eb0bf063b8 logic: improved performance of "setting up indexers" step for CDB SourceGroups
* improved performance of generating IndexerCommandProviders of  CDB SourceGroups
2018-09-11 13:23:55 +02:00
mlangkabel cdbca77495 src: cleaned up code of Tasks and IndexerCommands 2018-09-10 13:17:49 +02:00
mlangkabel 9998855527 logic: generate indexer commands on demand to reduce shared memory consumption
* implemented task for sending IndexerCommands to shared memory on demand
* SourceGroups now return IndexerCommandProviders instead of just a list of indexer commands. This way information can be stored in a compressed format
* merged IndexerCommandCxxEmpty and IndexerCommandCxxCdb
* moved sorting of indexer commands by file size from IndexerCommandList to TaskFillIndexerCommandQueue
* removed obsolete IndexerCommandList class
* wait for IndexerCommandQueue to be filled before starting the indexers
* restart finished indexer processes while indexerCommandQueue is still running
* restart indexer threads as long as there are indexer commands to process
* removed Blackboard::getMutex() and added an atomic update() method
2018-09-10 12:40:30 +02:00
mlangkabel 1a39f9ddc0 logic: fixed crash and missing includes in LogMemoryStringMap 2018-09-04 21:43:00 +02:00
Eberhard Graether bb1d7f5b39 src: Fixed clang warnings 2018-09-02 21:23:07 +02:00
Eberhard Graether 06d64b76f7 data: Reduced memory usage during indexing with LowMemoryStringMap
* reduces node and local symbol index sizes by about 30-50%
2018-09-02 20:47:43 +02:00
mlangkabel ea68229303 logic: fixed crash that occurred in some cases when logging the clang invocation 2018-08-31 13:19:52 +02:00
Eberhard Graether ff92ac7929 logic: Fixed crash on self referencing connections in HierarchyCache 2018-08-28 16:05:34 +02:00
mlangkabel 21d58357f2 logic: fixed application crash on windows if JVM tries to allocate too much memory by reducing the amount of allocated memory to the available size. 2018-08-28 13:06:36 +02:00
mlangkabel d2b8b5567f build: fixed ShadedIntermediateStorage not compiling on Windows 2018-08-28 10:15:14 +02:00
Eberhard Graether a1ad9abc0d data: Faster creation of ParseLocation 2018-08-28 02:16:31 +02:00
Eberhard Graether 470a8a3920 data: Improved data storing performance in IntermediateStorage 2018-08-27 23:37:24 +02:00
Eberhard Graether e3e8fa1547 data: Request file modification time not until storing to index for faster indexing performance 2018-08-27 17:05:38 +02:00
mlangkabel e8a4830229 ui: fixed crash that had a chance to occur when showing source files of cdb/cbp/sonargraph project 2018-08-27 16:15:18 +02:00
Eberhard Graether 9bce2de57b data: reduced memory usage of sqlite index during indexing
* use std::string instead of std::wstring in temp indices
* use number types for edges and source locations in temp indices
* use map::emplace where appropriate
* moved 100 occurence insert optimization fully to sqlite index
2018-08-27 15:38:44 +02:00
Eberhard Graether bd1e79179b logic: Fixed source extensions not converted to lowercase (issue #614) 2018-08-24 16:12:53 +02:00
Eberhard Graether 1ba1b9f967 ui: Clear graph contents on overview (issue #609) 2018-08-24 13:54:53 +02:00
Eberhard Graether 5f6747d6a1 ui: Don't show overriden method in tooltip list when clicking overriding method 2018-08-21 16:08:41 +02:00
Eberhard Graether 023c6288d6 logic: Fixed issues releated to real signatures in tooltips (issue #604)
* Fixed crash when signature was wrongly recorded
* Fixed line break at wrong position for template functions/methods
* Fixed already qualified name replace with qualified name, repeating qualifiers
2018-08-20 23:22:50 +02:00
mlangkabel 9813c9873f logic: index and store Java annotations
* add annotation symbol kind
* add annotation_usage edge kind
* increment storage version
* record java annotation decls
* record java annotation member decls (as fields)
* update expected output of java sample project indexing tests
* add tests for recording annotations
* add annotation icon, annotation colors
* add new annotation node and edge types to legend
2018-08-14 17:33:00 +02:00
mlangkabel 195f5893c9 logic: reduce copies of intermediate storage data when creating shared memory representation 2018-08-10 16:19:45 +02:00
mlangkabel 5ace9e080f logic: removed shuffling of indexer commands 2018-08-10 16:10:06 +02:00
mlangkabel 337cf2d371 logic: improved performance of storing index to database
* add compiled statement for batch inserting 100 occurrences at once
* removed unnecessary primary key from component_access to get rid of additional index table
* changed explicit check for existing symbols when injecting to implicit check in insert statement (insert or ignore)
* improved performance of adding edges by replacing edge multi part index with in-memory-index
* added in-memory-index for node table
* added in-memory-index for local_symbol table
* added in-memory-index for lource_location table
* moved setting storage mode to SqliteIndexStorage, because storage modes are not used anywhere else.
* don't store current mode as member because re-creating an existing index takes no time.
* add getter for name of SqliteDatabaseIndex
* removed unused method from persistent storage
2018-08-10 15:37:08 +02:00
mlangkabel f9b43526f4 logic: improved performance of storing index to the database
* batch inject occurrences
* removed unnecessary destructor and keywords from storages
2018-08-03 13:51:31 +02:00
mlangkabel 1e77613a1b ui: implemented handling of case where index db is used by different process while trying to swap files 2018-07-31 18:06:46 +02:00
mlangkabel 70dba27f9e logic: fixed crash that occurred when trying to use a project that encountered an exception while loading
* fixed crash when storage access proxy tries to access a deleted storage pointer
* refactored StorageAccessProxy implementation to use macros to generate proxy methods
2018-07-31 15:55:29 +02:00
mlangkabel 40bd5ceb5a logic: improved "prepare indexing" performance for cxx sourcegroups
* improved performance of "prepare indexing" step for all cxx source groups except empty
* unified code for filtering to contained file paths of source groups
* cleaned up code of SourceGroupFactoryModules
2018-07-31 14:17:14 +02:00
mlangkabel 445e7f339e logic: Fixed full-text search sometimes showing more results than intended
* fixed building longest common prefix array for full-text search by making values not relative the the charcode of the "a" character, because this would result in characters (e.g. "_") having a negarive value.
2018-07-31 10:15:25 +02:00
Eberhard Graether ea0c249ad9 ui: Improved contrasts in color schemes
* fixed edge routed wrong issue in graph legend
* fixed Alt + Ctrl/Cmd + R refreshes UI
2018-07-27 14:45:25 +02:00
Eberhard Graether afec261872 ui: Made all indexing dialogs hideable
* all dialogs for the indexing usecase can be hidden regardless of project state
* fixed some dialogs could not be shown
* pass dialogview into project and all indexing tasks
* pass application to project and tasks
2018-07-25 23:49:46 +02:00
Eberhard Graether b055b4c7dc logic: Fixed click on macro activated first of multiple symbols instead of showing list 2018-07-25 20:53:54 +02:00
mlangkabel 7007cae02d logic: fixed parser client to record scope of nodes that have a signature 2018-07-24 16:34:06 +02:00
Eberhard Graether af8220968c ui: Fixed graph not interactive after showing legend 2018-07-24 15:18:21 +02:00
Eberhard Graether 704b1a4e9a logic: Disable activation of errors while indexing 2018-07-24 14:28:19 +02:00
Eberhard Graether d96baad91d src: Fixes for Release
* pass log directory absolute to indexers
* pass app and user paths absolute to indexers
* removed QCoreApplication instance from indexer process
* removed mutex from ConsoleLogger
* updated shortcut window
* renamed code reference menu items
2018-07-24 12:53:55 +02:00
mlangkabel f715e5c99e logic: only prefill application settings once 2018-07-24 11:55:44 +02:00
Eberhard Graether ac31bb6779 src: avoid indexing slowdown on macOS by not using unknown progress for progressbar in status bar 2018-07-24 03:36:27 +02:00
Eberhard Graether ed0ade034e ui: Graph legend (issue #308, #540)
* Show graph legend via 'legend' command or '?' button in the lower right corner
* Legend is not interactive: nodes and edges not clickable or moveable
* CXX and Java node types are mixed
2018-07-23 16:55:58 +02:00
mlangkabel 20086d14a6 logic: ship clang compiler header within Sourcetrail package on Windows
* added clang system headers to data folder of Sourcetrail repo
* added clang system header search directory to detected directories on windows
* updated migration to add clang system header search directory on windows
* updated windows installer and portable package to include compiler headers
* updated linux package
* cleaned code of path detectors
* unrelated removal of unnecessary code in LicenseChecker and UpdateChecker
2018-07-23 15:14:07 +02:00
mlangkabel 637857fb56 src: fixed crash when indexing in headless mode 2018-07-23 14:20:16 +02:00