Commit Graph
199 Commits
Author SHA1 Message Date
mlangkabel bff7b0d70a logic: added type usage edge for types that occur as template arguments 2018-11-02 13:27:44 +01:00
mlangkabel 1497941c3d logic: skip recording implicit local symbols
* for example this would be the parameter of an implicitly defined copy constructor
2018-10-30 13:34:16 +01:00
mlangkabel d12570ccf9 data: updated expected output for Cxx sample project tests
* changed expected output of Bullet and Box2D to new formatting (without duplicates)
* minor additions due to clang update
* updated expected output of TicTacToe project with all headers indexed
2018-10-30 12:04:33 +01:00
Eberhard Graether 4ae052cb9c data: Refactored ParserClient API to return and use Ids instead of NameHierarchies for faster indexing
* Pass NameHierarchy to record new symbol returning an Id
* Cache symbol Ids in Parser implementation
* Reuse symbol Ids as reference when recording related data
* Pass FilePath to record new file returning an Id
* Cache file Ids in CanonicalFilePathCache
* Store file Id in ParseLocation instead of FilePath

fortune cookie message = You know a silent way to impose your will.
2018-10-16 00:54:38 +02:00
Eberhard Graether aab29b241e test: Replaced DumpParserClient and TestParserClient with TestIntermediateStorage to ease switch to new ParserClient API 2018-10-15 15:05:15 +02:00
Eberhard Graether 513988e51b src: Fixed tests for Mac 2018-09-21 14:38:31 +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
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 5ff7d510d7 Re-Revert and fix "logic: changed Java type_argument edges to originate in the generic type or method" 2018-09-03 09:38:51 +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 8e6d5e6010 Revert "logic: changed Java type_argument edges to originate in the generic type or method" 2018-08-28 16:20:51 +02:00
mlangkabel c86f4d04dc logic: record "java.lang" symbol as package 2018-08-20 18:15:11 +02:00
mlangkabel 36a9d552da logic: changed Java type_argument edges to originate in the generic type or method
* added tests for java type argument recording
* implemented recording type arguments for java ExpressionMethodReferences
* changed type_argument edge to originate in generic type
* added type_usage edge for type_arguments that originates in context (e.g. calling method)
2018-08-20 16:27:53 +02:00
mlangkabel 14a8d024b9 logic: record all symbol types of package names qualifying a Java import declaration 2018-08-20 16:02:10 +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 c6f9d8f92c logic: show real code of signatures in tooltips
* added new location type
* refactored old recording code
* record signature locations for cxx functions and java methods
* added signature locations to sample project indexer tests
* ignore signature locations in ui
* signatures in tooltip with qualified name of the function/method
* added test for finding signature location of constructor with initializer list
2018-07-20 14:00:08 +02:00
mlangkabel 855d8f4e2e logic: implemented highlighting both opening and closing bracket in Code view while hovering either one (issue #12) 2018-07-16 10:38:40 +02:00
mlangkabel b1317457ab logic: added support for sonargraph manual cpp modules 2018-06-11 18:54:55 +02:00
mlangkabel 2584a1f4e2 logic: sonargraph fixes
* removed duplicates from detected indexed headers
* fixed indexed header paths not used in cxx sonargraph project
2018-06-05 15:48:54 +02:00
Eberhard Graether 59f32e9942 build: Fixed enum forward declarations and filepath checks in SonarGraphProjectTestSuite 2018-05-22 13:02:27 +02:00
mlangkabel 7b735cfd17 logic: added project setup support for Sonargraph projects (Java and CMake-JSON modules supported)
* added classes for loading a Sonargraph project
* added Sonargraph options to project setup wizard
* added test for generating indexer commands from Sonargraph modules
* fixed sqlite storage crashing in constructor when parent directory of provided path does not exist
* removed unused FileRegister from Java indexing
* removed unused info from IndexerCommandJava
* refactored loading and saving of SourceGroupSettings
* extracted sourcepaths settings to own class that can be re-used
* merged CDB wizard contentents for source file and indexed paths
* unified wizard content for sonargraph project path
* removed include filters from default source groups
* extracted generation of RefreshInfo from Project to RefreshInfoGenerator
* added tests for RefreshInfoGenerator
* added language and standard selection to sonargraph project setup
* added auto-detection for indexed header paths of sonargraph cmake json modules
* Sonargraph::Project can enable/disable support for specific modules
* warn if sonargraph project contains no matching modules
* indexed headers can be detected from sonargraph project
2018-05-18 16:07:57 +02:00
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 baf82f680a build: updated to clang 6.0 2018-04-03 17:15:36 +02:00
mlangkabel ed386fdbdf test: Updated results of cxx indexer tests for bullet
This is necessary because the standard headers have been updated with latest VS 2017 install.
2018-02-19 12:31:08 +01:00
mlangkabel adb9542c31 test: removed absolute filepaths from test output of recorded references 2018-02-06 15:09:39 +01:00
mlangkabel c99e79364f logic: more wstring usages
* removed header paths from VS Project setup message since VS doesn't send these anymore
* implemented using wstring in IDE communication
* fixed retrieving filepaths from QtDirectoryListbox that contain special characters
* use wstring for source extensions
* added special character as file extension to FileManagerTestSuite
2018-01-30 17:07:51 +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 f7a5f98f85 Revert "data: updated cxx windows tests for using clang 6.0" 2018-01-15 19:09:57 +01:00
mlangkabel 417f8d2286 data: updated cxx windows tests for using clang 6.0 2018-01-14 13:06:06 +01:00
Eberhard Graether c479493e02 test: Fixed tests and removed test_log.txt
* Deleted PlainFileLogger
* Fixed clang warnings
2018-01-09 15:53:18 +01:00
mlangkabel 686ba504c2 ui: added automatic include path detection for C/C++ Source Groups 2018-01-09 12:13:16 +01:00
mlangkabel 978cf4f4ed logic: fixed Maven setup not working for project without sub-modules 2018-01-08 16:38:31 +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 88d90bde8f logic: fixed policy for recording elements inside macro arguments and bodies 2017-12-21 12:50:37 +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 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
mlangkabel 6fad9eea84 logic: added all previous java version to Java language standard selection 2017-11-06 18:49:29 +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
mlangkabel 0d993011d8 data: updated eclipse dependencies for java indexing
* updated java indexer to use org.eclipse.jdt.core version 3.13.0.
* added test that checks if all jar dependencies can be found.
2017-10-18 14:52:14 +02:00
mlangkabel 91fc0f4148 logic: fixed recording type of rvalue reference as "&&" instead of "&" 2017-10-12 13:10:12 +02:00
mlangkabel cf984ca245 logic: name qualifiers of symbols are clickable now 2017-10-11 11:08:01 +02:00
mlangkabel 0c437fbab0 src: added test for indexing JavaSymbolSolver 0.6.0
* made DumpParserClient reusable by java tests
2017-09-28 17:50:17 +02:00
mlangkabel 687bfad4a6 logic: improved recording of template member specializations
* implemented recording template member specialitation relations for fields, static variables, member classes and enums
* added windows only tests that index whole projects (Bullet & Box2D) to prevent regression
2017-09-13 18:03:29 +02:00
Eberhard Graether 3f06724cad test: Fixed CommandlineTestSuite changed TestSettings.xml 2017-09-13 15:53:21 +02:00
mlangkabel 5c614c77e2 src: moved Java indexer from JavaSymbolSolver to Eclipse JDT
* added some more tests
* changed 3rd party licenses respectively

fortune cookie message = Your present plans are going to succeed.
2017-09-07 12:40:34 +02:00