Review Request 118542: Move assistant infrastructure to kdevplatform

Kevin Funk kfunk at kde.org
Wed Jun 4 20:55:42 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118542/#review59244
-----------------------------------------------------------


Note: This is by far not a 1:1 copy of the stuff from KDevelop, it needed quite some adjustments. The RenameAssistant in kdevplatform is now language-agnostnic, and its behavior is influenced by BasicRefactoring (which in turn belongs to a language support plugin).

TODO: Pimpl the new classes.

I'd like to have some feedback about the initial design of the new API in kdevplatform.

- Kevin Funk


On June 4, 2014, 8:47 p.m., Kevin Funk wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118542/
> -----------------------------------------------------------
> 
> (Updated June 4, 2014, 8:47 p.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdevplatform
> 
> 
> Description
> -------
> 
> Move assistant infrastructure to kdevplatform
> 
> Noteworthy changes:
> * StaticCodeAssistant (from CPP plugin) is now StaticAssistantsManager,
>   now lives in  kdevplatform, so all languages can benefit from it
> * RenameAssistant was moved to kdevplatform, as it it useful for all
>   languages
> * BasicRefactoring now has new virtual methods that control the behavior
>   for renaming actions
>   LanguageSupport got a new property: refactoring (so languages can expose
>   their custom BaseRefactoring implementation)
> 
> New API:
> * New base class for "static" assistants: StaticAssistant
>   Static assistants exist during the whole session
>   They are notified when documents change and create solutions based on
>   that. Current implementations: AdaptDefinitionSignatureAssistant (CPP
>   language) and RenameAssistant (kdevplatform)
> * New manager class: StaticAssistantsManager:
>   Tracks the StaticAssistant instances, takes care of notifying them
>   about changes in the editors. Single entry point for registering
>   StaticAssistants.
>   Entry-point: LanguageController::staticAssistantsManager
> 
> 
> Diffs
> -----
> 
>   interfaces/ilanguagecontroller.h 57f8651f8e46685c7155db28b9c4277713635a88 
>   language/CMakeLists.txt 0c3af97f733b2c088798f3ee3fb9f6499c968da2 
>   language/assistant/renameaction.h PRE-CREATION 
>   language/assistant/renameaction.cpp PRE-CREATION 
>   language/assistant/renameassistant.h PRE-CREATION 
>   language/assistant/renameassistant.cpp PRE-CREATION 
>   language/assistant/renamefileaction.h PRE-CREATION 
>   language/assistant/renamefileaction.cpp PRE-CREATION 
>   language/assistant/staticassistant.h PRE-CREATION 
>   language/assistant/staticassistant.cpp PRE-CREATION 
>   language/assistant/staticassistantsmanager.h PRE-CREATION 
>   language/assistant/staticassistantsmanager.cpp PRE-CREATION 
>   language/codegen/basicrefactoring.h 8c7f782bdc1f6af9d7d45c7cb7e30aba85f9547e 
>   language/codegen/basicrefactoring.cpp 2b537f329dfacdba1a2890c9cfddd72b2ac60ef8 
>   language/interfaces/ilanguagesupport.h 5c8747b0cf1aee78ed84c8f07989a09e1bd6cb10 
>   language/interfaces/ilanguagesupport.cpp 5797511f19f39ebf1fbcf7662549e698b330bdf6 
>   shell/languagecontroller.h a4c192603a62dcbb00539004a46cc674df26b998 
>   shell/languagecontroller.cpp 308ec20a6e7f41a271069993010fc46ff696ef56 
> 
> Diff: https://git.reviewboard.kde.org/r/118542/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Kevin Funk
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20140604/1f354ab5/attachment.html>


More information about the KDevelop-devel mailing list