mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-09 09:15:38 +02:00
Patch for Bryan 178222 addressing NPEs while indexing Firefox.
This commit is contained in:
parent
f56c912aeb
commit
777bb96452
3 changed files with 8 additions and 4 deletions
|
@ -110,6 +110,7 @@ class PDOMCPPClassTemplatePartialSpecialization extends
|
||||||
public void addArgument(IType type) throws CoreException {
|
public void addArgument(IType type) throws CoreException {
|
||||||
PDOMNodeLinkedList list = new PDOMNodeLinkedList(pdom, record + ARGUMENTS, getLinkageImpl());
|
PDOMNodeLinkedList list = new PDOMNodeLinkedList(pdom, record + ARGUMENTS, getLinkageImpl());
|
||||||
PDOMNode typeNode = getLinkageImpl().addType(this, type);
|
PDOMNode typeNode = getLinkageImpl().addType(this, type);
|
||||||
|
if (typeNode != null)
|
||||||
list.addMember(typeNode);
|
list.addMember(typeNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@ abstract class PDOMCPPInstance extends PDOMCPPSpecialization implements
|
||||||
IType[] args = inst.getArguments();
|
IType[] args = inst.getArguments();
|
||||||
for (int i = 0; i < args.length; i++) {
|
for (int i = 0; i < args.length; i++) {
|
||||||
PDOMNode typeNode = getLinkageImpl().addType(this, args[i]);
|
PDOMNode typeNode = getLinkageImpl().addType(this, args[i]);
|
||||||
|
if (typeNode != null)
|
||||||
list.addMember(typeNode);
|
list.addMember(typeNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,11 +56,13 @@ abstract class PDOMCPPSpecialization extends PDOMCPPBinding implements
|
||||||
if (argMap != null) {
|
if (argMap != null) {
|
||||||
for (int i = 0; i < argMap.size(); i++) {
|
for (int i = 0; i < argMap.size(); i++) {
|
||||||
PDOMNode paramNode = getLinkageImpl().addType(this, (IType) argMap.keyAt(i));
|
PDOMNode paramNode = getLinkageImpl().addType(this, (IType) argMap.keyAt(i));
|
||||||
paramList.addMember(paramNode);
|
|
||||||
PDOMNode argNode = getLinkageImpl().addType(this, (IType) argMap.getAt(i));
|
PDOMNode argNode = getLinkageImpl().addType(this, (IType) argMap.getAt(i));
|
||||||
|
if (paramNode != null && argNode != null) {
|
||||||
|
paramList.addMember(paramNode);
|
||||||
argList.addMember(argNode);
|
argList.addMember(argNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
Integer memento = PDOMCPPOverloaderUtil.getSignatureMemento(spec);
|
Integer memento = PDOMCPPOverloaderUtil.getSignatureMemento(spec);
|
||||||
pdom.getDB().putInt(record + SIGNATURE_MEMENTO, memento != null ? memento.intValue() : 0);
|
pdom.getDB().putInt(record + SIGNATURE_MEMENTO, memento != null ? memento.intValue() : 0);
|
||||||
|
|
Loading…
Add table
Reference in a new issue