Review Request: Proper auto-completion in switch statements

Ivan Shapovalov intelfx100 at gmail.com
Sat Jul 7 07:04:17 UTC 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105410/
-----------------------------------------------------------

(Updated July 7, 2012, 7:04 a.m.)


Review request for KDevelop.


Changes
-------

Formatted patch uploaded.


Description
-------

Improve code completion within switch statements.

1) Resolve type of the switch'd expression correctly
 - in switchExpressionType(), replaced evaluateType() with evaluateExpression()

2) Add completion items for enumerations declared in different scopes
 - this required adding another condition branch in the end of CodeCompletionContext::standardAccessCompletionItems(),
which in turn required proper setting of m_expressionResult in CaseAccess contexts,
which required moving switchExpressionType() to CodeCompletionContext::caseAccessCompletionItems() and re-ordering some code.


Diffs
-----

  languages/cpp/codecompletion/context.cpp 33dcad1 
  languages/cpp/codecompletion/item.h 4735f2a 
  languages/cpp/codecompletion/item.cpp affd4e6 
  languages/cpp/tests/test_cppcodecompletion.h 20a70cb 
  languages/cpp/tests/test_cppcodecompletion.cpp ec82d2d 

Diff: http://git.reviewboard.kde.org/r/105410/diff/


Testing
-------

There are unit-tests, but they do not work since DUChainBase::createRangeMoving(), which is used to parse switch'd expression type, does not work without an editor.


Thanks,

Ivan Shapovalov

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


More information about the KDevelop-devel mailing list