Commit Graph
175 Commits
Author SHA1 Message Date
Eberhard Graether cefaeae1ab resource: Updated documentation and smaller fixes
* updated documentation of: cdb loading, advanced settings, graph view
* removed stats of search index
* added global search paths to cdb summary
2016-03-14 14:45:42 +01:00
malte_langkabel f82da323b3 data: increased project load and codeview performance
* rewrote searchnode to use map
* added local cache for parent node ids when creating the Hierarchy Cache.
* added indices to SqliteStorage to increase code view performance.
2016-03-14 12:32:01 +01:00
malte_langkabel 9a7b818dba data: parser performance optimization for large projects
* moved inserting everything into the database to the end of parsing a file. this reduces many duplicate queries.
* removed ParserClient interface from Storage.
* errors are updated after parsing a file because we only if there are any duplicate errors after merging the new errors into the database.
* renamed field in db
* added fatal column to error db
2016-03-10 18:24:28 +01:00
malte_langkabel 6d7a1faaa4 src: code cleanup
* removed unused code: ParseFunction, ParseVariable and ParseTypeUsage. All this is handled using NameHierarchies now.
* Moved the getErrorCount method from ParserClient to the StorageAccess
* MessageFinishedParsing doesn't know the error count anymore.
* StatusBarController now has a StorageAccess to fetch the error count when needed.
2016-03-07 10:59:39 +01:00
Andreas Stallinger 8f1326e02a build: clang warning cleanup
* unused member in undoredocontroller
* int - size_t comparion
* virtual destructor ASTVisitor added
* braces when && and || in same if
* 1 warning left: isNamedDeclUnnamed in ASTVisitor is unused
2016-03-03 20:16:20 +01:00
malte_langkabel 2ebfbbf88e ui: display fatal errors
* added ErrorCountInfo to incorporate reporting of fatal errors during code analysis.
2016-03-02 10:53:04 +01:00
malte_langkabel efaee022a6 logic: improved codeview performance
* reduced database queries necessary for creating code snippets in the codeview.
2016-02-22 21:23:33 +01:00
Eberhard Graether 43ac76d38c logic: Only activate node when clicking locations of both nodes and edges 2016-02-22 20:51:58 +01:00
malte_langkabel 1928e4beab ui: codeview template specialization
* when activating a template specialization the specialized template class (specialization parent) is not shown in the codeview anymore.
2016-02-22 15:25:56 +01:00
malte_langkabel e054df2e71 logic: search bar duplicates
* When a location is clicked in the code that has more than one TokenLocations pointing to the same element, only one instance of the element is displayed in the search bar.
2016-02-22 14:17:53 +01:00
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
Eberhard Graether 29149f313a logic: Added namespaces to overview and fixed namespace activation 2016-02-08 03:39:08 +01:00
Eberhard Graether 7bd44a9f45 ui: Clearing error count when parsing starts
* fixed undo showed errors twice when activated from status bar.
2016-01-28 14:30:52 +01:00
Eberhard Graether 635f6058c6 ui: Update error count while parsing 2016-01-28 13:19:38 +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
Eberhard Graether eb12d3cda1 logic: Show overview of analyzed symbols after launch
* show analysed nodes as bundles in graph
* ellide node names longer than 50 chars
* sort nodes alphabetic in these bundles
* show stats of analysis in code
* error are displayed as well in overview
* added keywords overview and error
* project description can be set in .coatiproject file
* description can include links to symbols using [symbol] syntax
* updated documentation
* increased toc nesting in documentation
2016-01-25 17:02:48 +01:00
Eberhard Graether 503e4f185b logic: Show node with search name main after parsing 2016-01-18 16:30:38 +01:00
malte_langkabel 2c4711f657 logic: fixed undo redo not working for functions
* added real NameHierarchy (with signatures) when creating nodes for the graph, instead of using the SearchIndex which doesn't know about signatures.
2016-01-15 13:02:30 +01:00
malte_langkabel 5a39cab495 test: made tests run again.
* added call to SqliteStorage::init() in storage tests.
* made Storage::getIdForNodeWithNameHierarchy(...) return the correct node id again.
2016-01-14 13:28:49 +01:00
Eberhard Graether 99776f0242 logic: Defaults for C and C++ standard in dropdowns and fixed main to be first active symbol 2016-01-13 12:19:47 +01:00
Eberhard Graether b8faa5506d data: Fixed version check when opening older db 2016-01-08 14:51:11 +01:00
malte_langkabel 6d6d67470b data: performance optimization
* added index for node names.
* removed some unused methods of the SqliteStorage.
2016-01-08 12:20:27 +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
Eberhard Graether 6f083a10ac src: improvements to logging
* log messages as they are sent and received
* log information about messages by overriding method print()
* reduced logging of autocompletion list
* removed log location from message and parsing logs, as they are known and make up 90% of logs
2016-01-04 16:06:32 +01:00
malte_langkabel a44af51122 data: function signature handling
* functions will only display their names in the graph view. hovering the nodes shows the signature as a tooltip. However, nodes in the database will be created and used regarding their signature.
* improved lambda handling. All calls to generated lambda functions (constructor, call operator) will now point to the lambda class instead.
* implemented handling of the "auto" type.
* improved the CxxParserTestSuite to use function strings instead of function names for template related functions.
2015-12-16 11:27:29 +01:00
malte_langkabel 6b750de333 data: anonymous unions
* fixed crashes that occurred when parsing unnamed unions.
2015-12-14 17:12:19 +01:00
Eberhard Graether 801c2555bc src: fixed clang warnings 2015-12-13 04:48:04 +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
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
Andreas Stallinger a6648cafeb ui: different ui for trial and app 2015-12-09 13:00:39 +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
Eberhard Graether 3fac5e69f3 data: Fixed constructors and destructurs having return type use void without location 2015-12-02 16:24:37 +01:00
Eberhard Graether 1eb9b194ff ui: immediatly show all errors during parsing 2015-12-02 16:09:48 +01:00
Eberhard Graether 6d8f733962 ui: show signature in function & method tooltip 2015-11-25 16:48:26 +01:00
malte_langkabel 96d933633f ui: Show Template Definition
* Show template definition in codeview when implicite specialization is active.
2015-11-20 15:38:35 +01:00
malte_langkabel bbf9c43909 src: Template Argument Handling
* improved handling of template arguments
2015-11-19 16:30:59 +01:00
malte_langkabel 901fa1a387 data: template argument handling
* storing template argument relations for cases where at lease one of these (template class, template argument) is defined inside the parsed project files.
* prevented storage from saving the same source location multiple times.
2015-11-17 18:09:20 +01:00
malte_langkabel 50bc970c30 data, ui: comment handling
* CodeView displays comments as atomic regions. They are either displayed as a whole or not at all. Do nothing halfway!
* added CommentHandler that handles comments detected by clang.
* stored CommentLocations in database.
2015-11-06 14:03:20 +01:00
Eberhard Graether 5dada05bc5 data: saving macro definition scopes 2015-11-04 13:47:33 +01:00
Eberhard Graether 9f684ad9f5 data: saving errors to Storage
* saving errors in separate sqlite table
* use MessageShowErrors to show the errors in the UI
* show error count permanently in the right side of the status bar with click to show
* fixed clicking of error locations
* fixed expanding of files with errors
2015-11-04 12:00:28 +01:00
malte_langkabel a524a7a71c ui: file not up to date display
* the codeview now displays a hatched background for a filename when the file's content has changed or the file does not exist anymore.
* added TimePoint class to encapsulate boost.
2015-11-03 10:29:29 +01:00
Eberhard Graether 42ab36fbad data: Saving application version to storage and refresh when version changes
The version string of the application is stored on every parse. The utility class Version is used to parse the version
string and compare application and stored string. The third number in the version string is now the storage refresh
number, the project will be refreshed when it changes. (0.2.1 -> 0.2.2)
2015-11-02 10:14:03 +01:00
Eberhard Graether c7a2533dc4 data: increased autocomplete performance by caching and limiting results to 100 2015-10-27 14:22:45 +01:00
malte_langkabel 4e4cb25540 logic: fallback selection after refresh
* extracted code for translating input messages to token activations from the FeatureController to the helper class ActivationTranslator.
* used ActivationTranslator in UndoRedoController to determine if the symbols that have been selected before refresh are still available after parsing again.
2015-10-14 12:27:05 +02:00
malte_langkabel e61171cc85 data: Template Member Specialization Edge
* Added a new edge that connects a method of an implicitly specialized template class to its definition in the unspecialized template class.
* Added a test case for this.
* Made methods that have an invalid source location stored as undefined.
2015-10-13 13:29:36 +02:00
Eberhard Graether 27bf5108ab data: fixed file clearing to clear only elements with no more source_locations 2015-10-12 11:42:19 +02:00
Eberhard Graether 29afd80673 data: Readded manual element clearing when clearing file nodes 2015-10-09 11:46:27 +02:00
Eberhard Graether c553e29ff8 data: save undefined in database field instead of using different node types
* expand toggle also for undefined classes
* changed direction of some template edges
* save same access component to specialized template functions and classes
2015-10-08 23:12:37 +02:00
Eberhard Graether 0fba3f5cf9 logic: random fixes and improvements
* added new logos to setup ui
* changed wording in status messages and bundle nodes
* removed ununsed Vector.h
* save NameHierarchy to SearchMatch
* fixed NameHierarchyElement retrieval for name elements without parent
* fixed match weight to score last letters higher
2015-10-06 16:21:03 +02:00
Eberhard Graether 8d3112d5a9 data: increased file clearing performance
This change passes all file node ids for clearing to the sqlite storage at once and makes use of ON DELETE CASCADE for
everything else, instead of manally deleting all source locations.
2015-10-05 09:44:27 +02:00