Keep contexts alive when referenced by a problem.
ClosedPublic

Authored by mwolff on Mar 13 2016, 10:27 PM.

Details

Summary

This fixes the signature assistant when invoked from the header.
Now that we update the .cpp file when the header is changed, we
lost the declarations therein if e.g. the function return type got
changed. That then leads to issues in the signature assistant which
relies on the DUChain data.

I wonder whether we can find a more reliable way to store this data
to remove such kind of hacks... Problably we will have to work with
upstream clang and add FixIts for the signature assistant there
somehow...

Diff Detail

Repository
R32 KDevelop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
mwolff updated this revision to Diff 2761.Mar 13 2016, 10:27 PM
mwolff retitled this revision from to Keep contexts alive when referenced by a problem..
mwolff updated this object.
mwolff edited the test plan for this revision. (Show Details)
mwolff added a reviewer: KDevelop.
Restricted Application added a subscriber: kdevelop-devel. · View Herald TranscriptMar 13 2016, 10:27 PM
mwolff added reviewers: kfunk, olivierjg.

Guys, I think we have a serious problem with the signature assistant :(

If we update the signature in a .cpp file, we have no chance to get our hands on the new return type e.g... Any clue on how to handle this?

mwolff added a comment.Apr 5 2016, 8:51 PM

Do you think I should merge this? It does help for one direction at least...

kfunk accepted this revision.Apr 6 2016, 9:24 AM
kfunk edited edge metadata.

+1. Can't think of a better solution here either.

This revision is now accepted and ready to land.Apr 6 2016, 9:24 AM
This revision was automatically updated to reflect the committed changes.