mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-14 11:45:38 +02:00
Bug 412766 - Allow indexing to continue after encountering an invalid
class member.
This commit is contained in:
parent
4839437b2d
commit
6aa4c6f4d7
2 changed files with 17 additions and 3 deletions
|
@ -1334,4 +1334,13 @@ public class IndexCPPBindingResolutionBugs extends IndexBindingResolutionTestBas
|
|||
assertTrue(name instanceof IASTImplicitName);
|
||||
assertEquals("base", name.resolveBinding().getOwner().getName());
|
||||
}
|
||||
|
||||
// class A {
|
||||
// class B;
|
||||
// };
|
||||
// class D : public A {};
|
||||
// class D::B {};
|
||||
public void _testInvalidOwner_412766() throws Exception {
|
||||
checkBindings();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -541,9 +541,14 @@ class PDOMCPPLinkage extends PDOMLinkage implements IIndexCPPBindingConstants {
|
|||
if (parent instanceof IPDOMCPPClassType) {
|
||||
if (originalBinding instanceof IEnumerator)
|
||||
originalBinding = originalBinding.getOwner();
|
||||
int visibility = getVisibility(originalBinding);
|
||||
if (visibility >= 0) {
|
||||
((IPDOMCPPClassType) parent).addMember(binding, visibility);
|
||||
try {
|
||||
int visibility = getVisibility(originalBinding);
|
||||
if (visibility >= 0) {
|
||||
((IPDOMCPPClassType) parent).addMember(binding, visibility);
|
||||
return;
|
||||
}
|
||||
} catch (IllegalArgumentException e) {
|
||||
CCorePlugin.log(e);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue