### Eclipse Workspace Patch 1.0 #P org.eclipse.cdt.core Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java,v retrieving revision 1.2 diff -u -r1.2 PDOMCPPSpecialization.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java 20 Mar 2007 14:41:26 -0000 1.2 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java 20 Mar 2007 16:10:51 -0000 @@ -55,11 +55,18 @@ ObjectMap argMap = ((ICPPSpecialization)spec).getArgumentMap(); if (argMap != null) { for (int i = 0; i < argMap.size(); i++) { - PDOMNode paramNode = getLinkageImpl().addType(this, (IType) argMap.keyAt(i)); - PDOMNode argNode = getLinkageImpl().addType(this, (IType) argMap.getAt(i)); - if (paramNode != null && argNode != null) { - paramList.addMember(paramNode); - argList.addMember(argNode); + Object param = argMap.keyAt(i); + Object arg = argMap.getAt(i); + /* TODO: allow template non-type parameters once they have been + * implemented in the PDOM + */ + if (param instanceof IType && arg instanceof IType) { + PDOMNode paramNode = getLinkageImpl().addType(this, (IType) param); + PDOMNode argNode = getLinkageImpl().addType(this, (IType) arg); + if (paramNode != null && argNode != null) { + paramList.addMember(paramNode); + argList.addMember(argNode); + } } } }