Commit Graph
135 Commits
Author SHA1 Message Date
mlangkabel ca20cb7bc9 src: use nullptr instead of NULL 2018-02-23 19:11:35 +01:00
mlangkabel 0df32f239e logic: switched to wstring in include processing
* this allows for non-ascii characters in detected include paths and in processed include directives.
2018-02-23 18:20:55 +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 b2bad8ab05 logic: fixed handling non-ascii characters in cdb path and in cdb filename and command 2018-02-13 16:10:10 +01:00
mlangkabel e31624a4b7 src: switched to use only wstring for FilePath::filename and FilePath::extension 2018-02-09 17:04:17 +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 5423d0b053 src: use wstring for showing text in QtTextEditDialog 2018-02-06 15:17:10 +01:00
mlangkabel 9da3ac3d3c src: switch to wstring for printing messages 2018-02-06 10:03:46 +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 7c863ddf00 logic: improved include detection
* also search for include paths of include directives extracted from header search paths
* extracted logic to gather unsolved includes
* extracted some code to filetree class
2018-01-23 21:35:53 +01:00
mlangkabel 2c52425d99 ui: Showing indexing progress in windows task bar
* implemented showing indexing progress in windows taskbar button
* renamed TaskShowStatusDialog
* added "Qt5WinExtras.dll" for windows builds
2018-01-16 11:16:08 +01:00
Eberhard Graether 6672127c68 build: Fixed linker problem in Linux build 2018-01-16 10:11:06 +01:00
mlangkabel cad064b9da logic: implemented disabling of source groups
* added source group status (enabled/disabled)
* fixed bug where the removal of an indexed directory has not affected the files to clear
* added lots of const and override keywords in SourceGroupSettings
2018-01-15 14:39:15 +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 911c0fabba logic: implemented handling Microsoft inline assembly statements 2018-01-09 18:53:08 +01:00
mlangkabel 686ba504c2 ui: added automatic include path detection for C/C++ Source Groups 2018-01-09 12:13:16 +01:00
Eberhard Graether c17f7dd3d4 data: Fixed indexing performance regression in FileRegister
* removed debug cout uses
* add source paths first as header search paths
2018-01-02 23:15:05 +01:00
Eberhard Graether 33572e2104 src: Fixed Mac build and clang warnings 2018-01-02 12:58:11 +01:00
mlangkabel 592f5fb4b1 logic: improved performance of include validation
* added cache to store canonicalized versions of both, resolved as well as unresolved includes
2017-12-28 14:38:05 +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 4686ce7e91 src: fixed some clang tidy warnings
* implemented CxxDeclName constructors that just move the members
* removed empty destructors because they disable default move constructors
* removed some unnecessary code
* replaced ".size() == 0" with ".empty()" because it's more explicit
2017-12-27 18:46:56 +01:00
mlangkabel 8b21d57750 src: implemented move constructor/assignment for filepath
* improves indexing performance by roughly 5%
* switched to use uniqu_ptr for boost path to get rid of including boost in header
* added different methods to change the current FilePath or to make a copy and change that one
* used these methods appropriately throughout the code base
* removed exists() method from FileSystem because it is already contained in FilePath
* added const in some places
2017-12-23 10:28:25 +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 1a9d736f28 src: improved cache implementation
* use const ref in cache
* improved performance of FilePath caching in FileRegister
2017-12-21 13:35:41 +01:00
mlangkabel 88d90bde8f logic: fixed policy for recording elements inside macro arguments and bodies 2017-12-21 12:50:37 +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 351fa35ec3 logic: fixed case where reference to member recorded as usage instead of call 2017-12-11 10:10:09 +01:00
mlangkabel b02596ddfa logic: implemented recording template variable specialization edges 2017-12-04 15:39:44 +01:00
Eberhard Graether f9e4afda77 logic: Added indexing mode to reindex incomplete files (issue #493, #496)
* added radio buttons to start indexing dialog
* don't block task scheduler thread while start indexing dialog is visible
* don't force whole project refresh on settings change
* added help button to start indexing dialog explaining indexing modes
* disable unavailable modes when project needs full refresh
* improved label texts on indexing dialogs
* added --incomplete flag to index command of commandline API
* fixed deletion of window stack elements
2017-12-03 22:30:09 +01:00
mlangkabel a5c4287e53 src: removed last unused references to PreprocessorOnlyAction 2017-11-27 16:23:44 +01:00
Eberhard Graether e4f30555e6 src: Fixed clang errors and warnings 2017-11-24 00:55:29 +01:00
mlangkabel 90e17c5868 src: converted NodeType to a class
NodeType internally still uses the Type enum
2017-11-23 17:05:15 +01:00
mlangkabel c512992e2c logic: fixed parent node hierarchy for C++ template parameters of variable declarations 2017-11-19 20:56:42 +01:00
mlangkabel 952ea1651f src: renamed recording methods 2017-11-19 13:44:10 +01:00
Eberhard Graether 69781acc51 build: Fixed build for Linux 2017-11-17 23:50:36 +01:00
mlangkabel 9d17e2e7e6 logic: fixed getting the parent of a Cxx template parameter's declaration
* switched to getting the template parameter's parent from the ASTContext instead of using the DeclContext
2017-11-14 12:09:32 +01:00
mlangkabel 6488c6538e logic: fixed filepaths to always use a canonical casing (issue #516)
* added CanonicalFilePathCache to also reserve the initially recorded casing of file names
* use canonical file path cache to resolve filepaths in names of symbols (anonymous, static, ...)
* null reference fixes
2017-11-12 16:29:12 +01:00
mlangkabel 7c40f7afe8 logic: add filename info to static functions (issue #515) 2017-11-10 11:38:33 +01:00
mlangkabel e7f9940582 logic: add filename info to static global variables (issue #514) 2017-11-09 17:29:59 +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
Eberhard Graether a2d412ccfa logic: add contained symlinked directories to indexed and excluded paths 2017-11-07 13:43:50 +01:00
mlangkabel 595f918f4d logic: template related fixes
* fixed recording template member specializations of methods as explicit nodes
* fixed template members variables sometimes recorded as functions with call edges
2017-11-06 17:11:15 +01:00
mlangkabel ad20275dae logic: fixed recorded location of function bodies that are defined inside macros 2017-11-06 16:56:35 +01:00
mlangkabel 09694409f1 logic: skip recording macro usages in non-indexed files 2017-11-03 16:20:31 +01:00
Eberhard Graether c73e58893e ui: Fixes in project setup
* fixed include paths fetched from CDB not canonical
* fixed content names
2017-10-25 00:57:28 +02:00
mlangkabel d1536031c9 ui: revised project setup wizard
* adjusted some help texts
* moved exclude paths and source file extensions contents to indexed paths selection in project setup wizard
* removed compiler flags from CDB project setup wizard
* added wizard content that shows some info text regarding the purpose of source groups
* renamed ContentSummary to ContentGroup
* fixed issue with CompilationDatabase include path extraction
2017-10-23 16:10:54 +02:00
Eberhard Graether 8e908c2a78 logic: Added Non-Commercial Use option and removed trial mode
* Added non-commercial use option to enter license window
* Show enter license window on first start and force license selection
* Added ApplicationSettings migration that removed private/academic license and switches user to non-commercial mode
* Added commandline option to choose non-commercial use and provide better hints to license selection
* Removed trial mode

fortune cookie message = A secret admirer will soon send you a sign of affection.
2017-10-19 16:58:47 +02: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
mlangkabel 91fc0f4148 logic: fixed recording type of rvalue reference as "&&" instead of "&" 2017-10-12 13:10:12 +02:00