Commit Graph
55 Commits
Author SHA1 Message Date
mlangkabel f08f27717f logic: record and display include edges for non-indexed files
* non-indexed files are shown in graph view and in code view
* non-indexed files are ignored in search view, overview, stats and refresh dialog
2018-04-23 12:13:49 +02:00
mlangkabel 6acfe0688f logic: implemented usage of FilePathFilters for excluded paths
* removed check in settings for existing paths of exclude filters
2018-03-12 08:51:38 +01:00
mlangkabel bae6bd73d6 src: replaced some usages of string by wstring in filepath 2018-02-26 15:03:28 +01:00
mlangkabel ca20cb7bc9 src: use nullptr instead of NULL 2018-02-23 19:11:35 +01:00
mlangkabel 90efb11775 logic: fixed passing non-ascii characters to indexer process via command-line 2018-02-20 17:02:50 +01:00
mlangkabel fc92cb1ad9 ui: use wstring in gui relates places
* loading icons
* loading fonts
* context menu action for copy path to clipboard
* context menu action for open containing folder
2018-02-19 12:45:47 +01:00
mlangkabel 70d619a173 logic: implemented handling of non-ASCII characters in Gradle and Maven project paths
* also: fixed loading sqlite database from path with non-ascii characters
2018-02-09 15:54:28 +01:00
mlangkabel 333fc7eea2 logic: switched to using wstring for compiler flags
* removed getter for strings from QtDirectoryListBox because it is not used anymore
* regard encoding of clang error messages
2018-02-09 13:37:30 +01:00
mlangkabel f0b817eb0a src: broad refactoring to use FilePath.wstr() where easily possible 2018-02-06 11:35:36 +01:00
mlangkabel 9e041c1f0a logic: use wstring in symbol and bookmark names
* use wstring in symbol and bookmark names
* fixed setting apppath in windows includes
* regard utf8 encoding in shared indexer commands
* regard utf8 encoding in shared indexer status
2018-02-05 17:17:33 +01:00
mlangkabel 0dda63f7ae logic: used wstring in FilePath constructor
* used wstring in FilePath constructor where easily possible
* added FilePath concatenate method that accepts string parameter
* implemented using only wstring in MessageStatus
* used wstring in config
2018-01-30 11:00:23 +01:00
mlangkabel c569f921a2 logic : Fixed no indexed information saved for compilation database referencing certain compiler (issue #531)
* changed order of compiler flags for CDB indexer commands so that manually added flags are appended to the flags form the compile command.
* removed usage of clang::tooling::FixedCompilationDatabase and used CompilationDatabaseSingle for empty and cdb indexer commands.
* removed reference to a specific clang tool (e.g. "cl" or "cl.exe") from compile command and prepended "clang-tool" before running the indexer.
2018-01-15 09:58:38 +01:00
mlangkabel cb3cf7d651 src: harmonized indexer command names
* some parts of the indexer were called "manual" while others used the
  name "empty". renamed everything that was called "manual" to "empty"
  to conform to names in GUI
2017-12-28 12:35:04 +01:00
mlangkabel 455c1230b1 logic: fixed bug where anonymous symbols were only partly named like the enclosing typedef
* removed post processing for anonymous typedefs. The storage transformation did not work in
  cases where the typedef is recorded in a previously indexed header. No type information
  was recorded while indexing the header a second time. But this type information would have
  been required by the transformation.
2017-12-21 19:36:16 +01:00
mlangkabel 928aa45bfc data: removed storing commandline for errors
* reason: commandline string may be large (7GB for 20k errors in the UnrealEngine)
2017-12-12 10:04:44 +01:00
mlangkabel 343caebcf6 src: split storage types into data and type
* this shortens the signature of many methods and allows to pass a single object as reference instead of passing multiple references and values
2017-11-19 01:31:50 +01:00
Eberhard Graether ead9f9a634 logic: Allow duplicate indexing of source files if the indexer command is different 2017-11-09 17:24:28 +01:00
mlangkabel 6fad9eea84 logic: added all previous java version to Java language standard selection 2017-11-06 18:49:29 +01:00
Eberhard Graether a7363b329b logic: Use sizeof(SharedMemory::String) in shared memory size estimation instead of std::string (issue #471) 2017-10-13 12:26:45 +02:00
Eberhard Graether cfb690b035 logic: Fixes for release
* Added timeout before checking new version on startscreen
* Fixed size estimation in indexercommand
* Fixed update title when project loading fails
2017-10-13 11:08:38 +02:00
Eberhard Graether af626143a5 logic: Improvements in indexing to avoid OOM (issue #471)
* indexer processes wait if already too many storages queued
* storage fetcher waits if already too many storages queued
* increased size estimation for shared memory of indexer commands
* Added MessageFilterNewErrors to combine messages for new errors

bug id = 471
2017-10-12 17:15:46 +02:00
Eberhard Graether d8413b1cb4 logic: Fixed intermediate storage fetching starving when indexers are really fast because of other UI updates 2017-08-25 11:17:34 +02:00
Andreas Stallinger 37ead804bf src: clazy compiler warnings
get rid of most clazy warnings (https://github.com/KDE/clazy)
* range loop use refs
* qcolor ctor with ints
* missing Q_OBJECT macro
* use .constfirst instead of .first

enabled ccache for unix systems for fasterr recompiling
* if ccache is in path we use it now
2017-08-10 09:45:55 +02:00
Eberhard Graether d9c8de2951 src: Fixed FilePath::canonical() for UNIX
* fixed clang warnings
* fixed ApplicationSettings loaded from wrong location in tests
* added symlink within canonical path to tests
2017-08-10 02:04:03 +02:00
Andreas Stallinger 802153883e logic: commandline indexing and configuration 2017-08-09 12:33:43 +02:00
Eberhard Graether 2e375112e6 data: Save command line info for CXX indexer commands to errors and show within errors table (issue #351)
bug id = 351
2017-08-09 12:16:16 +02:00
Eberhard Graether d80b1fc848 logic: removed preprocessor only option when indexing CXX source groups 2017-08-03 16:54:41 +02:00
malte_langkabel 91969770d5 logic: sort and shuffle indexer commands for performance
Before indexing the indexer commands are sorted according to byte size of the
indexed source file. Afterwards the list is split into two halves and each half
is shuffled. This ensures that bigger files tend to be indexed first, so that
no indexer thread runs idle at the end of indexing.
2017-08-02 12:03:53 +02:00
malte_langkabel cad595a32c logic: add storage transformation to merge anonymous types and the respective typedef
* moved storage related classes to data/storage folder
* implemented recording c++ unions as NODE_UNION instead of just using NODE_TYPE
* added transformation to merge anonymous classes/structs/enums/unions and typedef nodes
* added tests for this transformation
* added setting for enabling/disabling this transformation
2017-07-18 15:14:43 +02:00
malte_langkabel a66daa9ac0 build: reduce boost includes in FilePath.h 2017-06-28 17:50:51 +02:00
malte_langkabel e6c5ffa97a logic: apply some shared memory fixes
* corrections in estimating size of intermediate indexer commands
* avoided clearing and refilling the indexed files list every time files get added
* changed memory growth policy of InterprocessIndexingStatusManager to double allocated memory when it gets full
* added potential to grow memory when adding crashed file paths
2017-06-19 16:24:01 +02:00
Andreas Stallinger 148588b179 logic: add 1MB buffer to pushIntermediateStorge 2017-06-12 12:05:34 +02:00
Eberhard Graether 082dfc2e1a logic: Fixed source files within CDB not indexed unless within Indexed Header Paths 2017-05-22 23:02:35 +02:00
Eberhard Graether 65b5bd47f6 logic: Fixed indexing progress file count in status bar and status view (issue #387)
bug id = 387
2017-05-19 14:26:52 +02:00
Eberhard Graether 83356e58ee src: Fixed clang build 2017-05-17 13:02:38 +02:00
malte_langkabel 6cb2119cce src: remove unused includes 2017-05-17 12:10:22 +02:00
Eberhard Graether ea3fd8b928 build: updated changlog for release 0.12.25
* and fixed clang warnings
2017-05-16 16:38:34 +02:00
Eberhard Graether d4e5808524 src: Fixed clang issues 2017-05-16 16:30:50 +02:00
malte_langkabel 4d140e396a src: add IndexerCommandType that will be used instead of string 2017-05-16 15:29:46 +02:00
malte_langkabel 8a92453d60 logic: fix update of Java indexer to new version of Java dependencies
* reapplied previous reverts
* added cache for TypeSolvers in Java code
2017-05-10 17:54:21 +02:00
Eberhard Graether 960ca6703e logic: Fix indexing progress dialog not updated when fetching storage 2017-05-10 15:52:24 +02:00
Eberhard Graether 3fdd24f038 data: Fixes in indexing
* Show status update for every indexed translation unit and only once
* Save nodes in same order they were indexed
2017-05-09 22:55:49 +02:00
Eberhard Graether 14fa67b909 logic: Limit multi process indexing to projects with C/C++ source groups 2017-05-08 14:45:37 +02:00
malte_langkabel e8a24d3d98 logic: release fixes
* disable windows error dialogs on application crash for indexer target
* show indexing dialog at the start of indexing task instead of waiting for processes to start
* fix escaping path to binary for indexer process
* join garbagecollector thread when stopping
* fix compile errors related to FilePath in deploy mode on windows
2017-05-05 16:37:48 +02:00
Eberhard Graether 9c6114336c data: Fixed TaskBuildIndex stops fetching when indexer commands are out and waits for indexer threads to stop first 2017-05-05 12:37:16 +02:00
Eberhard Graether 706119ebcc data: indexer processes
* TaskBuildIndex starts seperate indexer processes and communicates via shared memory
* indexer processes get restarted if they fail
* indexer processes are killed when the app closes or crashes
* added utility class SharedMemory to allocate and access shared memory, providing basic data structures
* added SharedMemoryGarbageCollector for keeping track of running instances and cleaning up shared memory in case of a crash
* show errors for source files that crashed during indexing
* added basic exception handling to task scheduling
* added option to turn off processes and use threads in preferences, but still use shared memory

fortune cookie message = Good news from someone dear is coming soon.
2017-05-04 15:50:59 +02:00
Eberhard Graether 9beea94fd8 src: Removed ApplicationStateMonitor 2017-05-04 13:49:38 +02:00
Eberhard Graether 63087913bd data: Option to run only C/C++ preprocessor when indexing (issue 297)
* Added as checkbox to indexing start dialog
* Only shown for C/C++ projects
* Files will be marked incomplete
2017-04-18 22:11:20 +02:00
Eberhard Graether 6cd6552343 data: improvements on error management
* mark all files with errors as incomplete
* fix incomplete label in codeview tooltip not updated properly
* added setting for canceling indexing for files with fatal errors
2017-04-15 17:57:20 +02:00
Eberhard Graether 8dc5ac7cbe data: stop indexing of files with fatal errors and store them as incomplete (issue 358)
* avoid AST traversial for CXX translation units with fatal errors
* save all files within those translation units as incomplete
* show number of complete files in finished indexing dialog and overview stats
* display incomplete files hatched in graph view
* display incomplete file titles hatched in code view
* mention file incompleteness in tooltips
* removed derived Indexer classes and set ParserType via template parameter instead
* moved getSourceFileFromCDB from IndexerCxxCdb to IndexerCommandCxxCdb

bug id = 358
2017-04-15 01:02:09 +02:00