Don't reuse contexts when local scope identifier changed.

Authored by mwolff on May 4 2012, 1:30 PM.

Description

Don't reuse contexts when local scope identifier changed.

My last commit that 'fixed' the rename issue of a class introduced
a serious regression that lead to assertions in e.g. the CodeModel
when a context was renamed that contained other contexts/declarations
that where already put into the CodeModel:

In such cases, these items would try to update their item in the
codemodel but since their QID was changed could not find the associated
item.

Looking at DUContext::setLocalScopeIdentifier this is apparently not
supported anyways. Hence we solve this bug by ensuring that we never
re-use a context when it's local scope identifier changed, but the
range stayed equal.

Fixes a regression introduced by 880452719b9c5072e7273959d60f857397063caa.

BUG: 299230

Details

Committed
mwolffMay 4 2012, 1:37 PM
Parents
R32:fba01eabafea: backport from master: don't overwrite previously defined project name in *.
Branches
Unknown
Tags
Unknown