From 0ec665bdd581e88c8511424a0eddcf06c6548ac6 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Mon, 9 Apr 2007 16:16:07 +0000 Subject: [PATCH] Patch for Bryan - 181147 - Fix NPE in template instantiation. --- .../internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java index ca1c78bcbb8..fabc11b2a37 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java @@ -144,8 +144,8 @@ abstract class PDOMCPPSpecialization extends PDOMCPPBinding implements try { ICPPTemplateParameter[] params = template.getTemplateParameters(); ObjectMap argMap = getArgumentMap(); - IType[] args = new IType[argMap.size()]; - for (int i = 0; i < argMap.size(); i++) { + IType[] args = new IType[params.length]; + for (int i = 0; i < params.length; i++) { args[i] = (IType) argMap.get(params[i]); } return args; @@ -161,7 +161,7 @@ abstract class PDOMCPPSpecialization extends PDOMCPPBinding implements if( args.length == arguments.length ){ int i = 0; for(; i < args.length; i++) { - if( !( args[i].isSameType( arguments[i] ) ) ) + if( args[i] == null || !( args[i].isSameType( arguments[i] ) ) ) break; } return i == args.length;