93 Commits
Author SHA1 Message Date
malte_langkabel 42513fe102 data: revised indexing
* increased performance. coati is now 1.55 times as fast as at version 0.4
* integrated sourceweb parsing code
* removed astbodyvisitor
* NameHierarchy now store signatures in a new format
* storage does not allow to re-set the type of a node, once it is marked as "defined".
* made onTemplateRecordSpecParsed just create the edge, not the node.
* removed distinction between template specialitzations for functions and classes
2016-02-17 10:45:35 +01:00
wrongway88 9047d602ff logic: windows app path hotfix
windows app path hotfix
2016-02-16 19:54:17 +01:00
Manuel Dobusch d31557cb66 Logic: VS Solution Parsing update
Updated vs solution parsing, fixed some issues. Also fixed some issues with corresponding unit tests.
2016-02-15 17:55:01 +01:00
Manuel Dobusch 082b94ac8d logic: code view asset fix
Fixed asset paths for code view
2016-02-09 14:05:25 +01:00
Manuel Dobusch e13eaa85da logic: visual studio solution parsing
Can now parse visual studio solutions. VS Plugin can send a command, parsing is implemented in Coati.
Some minor changes: added project file icon, added language check to vs plugin
2016-02-08 15:58:25 +01:00
Manuel Dobusch 8d6220dafb logic: file paths
Changed relative file paths for resources to absolute paths to ensure functionality of shortcuts and file associations on windows platform
2016-01-26 15:28:43 +01:00
Eberhard Graether e0d7f1d613 logic: save template parameters as child nodes with member access 'template parameter'
* added access node to graph for template parameters, no icon so far
* don't reexpand function nodes with children when active before
* removed console warnings for edges
2016-01-26 14:38:41 +01:00
malte_langkabel ada00cc627 logic: template parameter as child nodes
* when generating the name hierarchy of a template parameter the parameter name is now an extra element that follows the template class/struct/function element.
2016-01-26 12:08:07 +01:00
Manuel Dobusch ed1aba8858 build: Botan include fix
Fixed CMakeLists to allow debug build
2016-01-18 17:59:46 +01:00
Andreas StallingerandEberhard Graether 23257a3071 build,logic : Key/License Generator
Generator using the Botan Cyrptography library
2016-01-18 11:42:31 +01:00
malte_langkabel 899138a6bd data: performance optimization NameHierarchy
* For performance reasons nodes now store a serialized version of their name hierarchy directly. Removed NameHierarchy table from database.
2016-01-05 16:42:29 +01:00
Manuel Dobusch 5af8d0f03f ui: graph toggle button number position
Improved the position of the small number in the graph node toggle button for windows.
2015-12-30 00:21:38 +01:00
Manuel Dobusch afc2d1e6b5 ui: windows start menu shortcut
Fixed an issue with the start menu shortcut generated when installing on windows.
2015-12-27 18:45:05 +01:00
malte_langkabel b6beab8283 logic: fixed locations in macro
* fixed a bug where the end of source locations contained in a macro was not calculated correctly.
2015-12-17 14:14:03 +01:00
Manuel Dobusch 8a1914182f ui: disabled language selection
Disabled language selection because parsing C code caused crashes.
2015-12-16 16:58:40 +01:00
Manuel Dobusch 28c1a0048b ui: windows setup prerequisit
Added windows prerequisit to installer project. This prompts the user to download and install prerequisit automatically.
2015-12-14 18:24:17 +01:00
malte_langkabel 3000b88bd3 test: fixed tests
* changed the tests to reflect the changes to source location parsing in commit 26203c4ac8
2015-12-14 17:21:38 +01:00
Eberhard Graether 26203c4ac8 data: Fixes for parsing Coati
* reverted to old source location retrieval for CxxConstructExpr, because source locations were outside file
* removed exisiting source location check for better performance
* fixed CXXParserTestSuite to use c++11 standard
* fixed crash on missing signature retrieval
2015-12-12 15:14:44 +01:00
Manuel Dobusch 0f4e49477a ui: language standard options
Added some language standard options.

<description>
2015-12-11 15:22:28 +01:00
malte_langkabel 52352baa8e data: fix anonymous record crash
* implemented handling of anonymous classes and structs.
2015-12-11 12:27:38 +01:00
malte_langkabel 3da20e3e32 data: location crash fix
* fixed a crash that occurred when trying to find the correct location of a constructor call.
* refactored that code while being at it ;)
2015-12-10 18:59:49 +01:00
malte_langkabel 01bcf7266b data: lambda handling
* implemented handling lambdas as functions
* functions can have child nodes now
* NameElements in NameHierarchy can have signatures now.
* fixed crash that occurred when message listener was used while being half way through its destruction process.
2015-12-10 18:00:54 +01:00
Manuel Dobusch 2b03215ea4 ui: language standard
Added language standard select functionality to gui and language standard to project settings.
2015-12-09 19:54:13 +01:00
Andreas Stallinger 59d6143fbf build: lib for the parser
lib_parser is new, its use by app and test

<description>
2015-12-09 14:34:14 +01:00
malte_langkabel ed4b6546f0 logic: template argument handling
* now Coati will also parse the body of an instantiated template function and follow calls to other template functions there.
* Coati will parse template arguments at the point of implicit or explicit template instantiation and explicit template specialization.
* refactored template handling in storage.
2015-12-08 10:29:21 +01:00
malte_langkabel 32db79a675 logic: fix infinite loop
* fixed a loop that might be running indefinitely while looking for the correct source location of an identifier.
2015-12-03 16:26:00 +01:00
Manuel Dobusch 04196db81d ui: windows installer
Created a windows installer (vs deployment project).
2015-12-02 14:50:02 +01:00
malte_langkabel bbf9c43909 src: Template Argument Handling
* improved handling of template arguments
2015-11-19 16:30:59 +01:00
Manuel Dobusch fbc5f7a7fe logic: network port option
Added options to Coati and VS plugin to set network ports
2015-11-18 17:08:05 +01:00
Eberhard Graether 372f262204 data: don't parse lambda calls to avoid subnodes within functions 2015-11-06 14:50:25 +01:00
Manuel Dobusch e186eefdff ui: context menu
Context menu for code view added, including option to set IDE cursor.
2015-11-04 18:51:49 +01:00
Eberhard Graether 884e42a30c test: fixed TestSettings.xml and cleansed test_log.txt 2015-11-04 13:02:35 +01:00
Manuel Dobusch 7d03166282 logic: VS plugin fixes
Fixed some vs plugin issues and added plugin project to repo
2015-11-03 15:26:47 +01:00
malte_langkabel 11147e982f test: template scope fixes
* changed expected scope locations of template classes in tests to include template parameters.
2015-11-03 11:11:20 +01:00
Andreas Stallinger cbb6fcd8e2 test: fixed settingstestsuite
changed settings.xml to new/refactored xml tags
2015-10-27 10:13:29 +01:00
Manuel Dobusch 0664f9a81b logic: IDE Communication
Network code and controller added to communicate with IDE plugins. Does not include GUI integration though.
2015-10-14 15:40:10 +02:00
Eberhard Graether 2286e7de1b test: Fixed tests to use new Node construction 2015-10-09 11:28:45 +02:00
malte_langkabel 87ff089178 build: update dependencies
* updated dependencies for windows
* implemented getFileInfo of TestFileManager as virtual.
2015-10-07 14:35:01 +02:00
Eberhard Graether 2704d47cd8 logic: multiple fixes and improvements
* showing project name in main window title
* keep reference count visible when maximizing code file
* show first node in db when no main function is available
* log Storage stats after parse
* fixed macro locations saved multiply
* using NameHierarchy when retrieving ids
2015-10-01 19:03:05 +02:00
Eberhard Graether ae27d8025b ui: show tooltips when hovering nodes and edges 2015-09-24 16:18:23 +02:00
Eberhard Graether 5c06dedf7c data: Fixed inheritance parsing for tests 2015-09-24 10:30:25 +02:00
Eberhard Graether 78c1b32797 data: increased parse and graph assembly performance
* removed header search in subdirectories of header search paths
* cache file node ids in Storage for faster lookup
* retrieve node names from SearchIndex
* fixed addNodeAndAllChildren also called for member edges
* added check if node already present in addEdgeAndAllChildren
2015-09-23 09:26:03 +02:00
Eberhard Graether 04f24ba63d test: Fixed tests 2015-09-17 15:07:46 +02:00
Eberhard Graether 2044ff9723 data: cleaned up Graph classes
* removed self assignment of id from Token
* removed FilterableGraph interface from Graph
* creating Nodes and Edges on Graph with addNode and addGraph methods
* removed obsolete Aggregation edge filtering
* fixed clang warnings
* fixed memory leak for Node creation
2015-08-27 17:25:52 +02:00
malte_langkabel e628241b02 data: database storage
* replaced storage by a new version that utilizes sqlite for persistence.
* added SqliteStorage to manage direct access to the database.
* added testsuit for sqlite.
* slimmed down the protected interface of the storage.
* changed tests in StorageTestSuit to avoid using protected methods of the storage.
* added functions to begin and commit a transaction to the storage.
* removed GraphFilterTestSuite.
* removed GraphFilterConductorTestSuite.
* added Node and Edge constructor that takes id as parameter
* added constructor for TokenComponentNameCached that accepts NameHierarchy as parameter
* added TokenLocation constructor that takes locationId as parameter.
* created respective construction functions in TokenLocatonLine, -File and -Collection.

fortune cookie message = Recognition will come from unexpected sources.
2015-08-25 18:07:02 +02:00
malte_langkabel d996cf384d build: qt and version patch for windows.
* added dlls for QT5.5.
* changed version script to find and use the git.exe
2015-08-25 17:56:59 +02:00
Eberhard Graether 5f25311389 logic: paths in ProjectSettings relative to file not working directory
This change checks all paths in the ProjectSettings file for relativity and makes them relative to the location of the
ProjectSettings file if necessary. The paths are also correctly saved relative to the file.
2015-07-29 22:20:26 +02:00
malte_langkabel 3738f196b9 data: fixed crashed when parsing own code
* fixed test that was expecting a wrong result.
* refactored DataType class.
* added code to parse dependent type names.
* refactored utilityCxx a little.
2015-03-23 17:00:54 +01:00
Eberhard Graether 03cf9eeb5f data: Fixes and features for loading Coati into Coati
This change facilitates loading Coati into Coati:
* removed error logs for TokenComponent setting
* fixed edge checks regarding template stuff
* separated CommonSettings to be inherited by Project- and ApplicationSettings for common settings
* pluralized SourcePaths setting in xml to allow for loading multiple directories and single files
* added CompilerFlags section to settings
* passing Compiler arguments to Parser via struct Parser::Arguments
* setting -isystem for all header search paths to avoid distinction between "" and <> headers
* parsing all headers from the SourcePaths, even the ones that are not included
* fixed parsing time measurement and display
* added utility.h file for general utility functionality
2015-03-16 10:07:57 +01:00
Eberhard Graether ca85d5a5d3 build: bug fixes for release version
* fixed search activating 2 nodes, because of NodeType in query
* fixed search results didn't contain results with same name
* added protected contents to sample and tictactoe code
* fixed CxxParserTests not logging errors, disabled logging for tests with errors
* fixed CxxParserTests not finding system headers, added TestSettings.xml and pass headers to Parser::parseFile()
2015-03-11 13:14:22 +01:00