1
0
Fork 0
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:
Doug Schaefer 2007-03-20 14:41:26 +00:00
parent f56c912aeb
commit 777bb96452
3 changed files with 8 additions and 4 deletions

View file

@ -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);
} }

View file

@ -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);
} }
} }

View file

@ -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);