diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java index 953ee392bda..26e9e7f8954 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java @@ -374,6 +374,7 @@ public class PDOMASTAdapter { return new AnonymousCompositeType(name, (ICompositeType) binding); } } + return null; } } return binding; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java index db1cec0fe7d..c5714883496 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java @@ -68,7 +68,7 @@ ICPPClassScope, IPDOMMemberOwner, IIndexType, IIndexScope { public PDOMCPPClassType(PDOM pdom, PDOMNode parent, ICPPClassType classType) throws CoreException { - super(pdom, parent, classType.getName().toCharArray()); + super(pdom, parent, classType.getNameCharArray()); try { pdom.getDB().putByte(record + KEY, (byte) classType.getKey()); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java index 9c0540b1464..e9ef254ea60 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java @@ -670,6 +670,8 @@ class PDOMCPPLinkage extends PDOMLinkage implements IIndexCPPBindingConstants { return new PDOMCPPTypedefSpecialization(pdom, record); case CPP_FUNCTION_TYPE: return new PDOMCPPFunctionType(pdom, record); + case CPP_PARAMETER_SPECIALIZATION: + return new PDOMCPPParameterSpecialization(pdom, record); default: return super.getNode(record); } 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 c6f8ce40702..67229d5727e 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 @@ -50,12 +50,12 @@ abstract class PDOMCPPSpecialization extends PDOMCPPBinding implements public PDOMCPPSpecialization(PDOM pdom, PDOMNode parent, ICPPSpecialization spec, PDOMNamedNode specialized) throws CoreException { - super(pdom, parent, spec.getName().toCharArray()); + super(pdom, parent, spec.getNameCharArray()); pdom.getDB().putInt(record + SPECIALIZED, specialized.getRecord()); PDOMNodeLinkedList paramList = new PDOMNodeLinkedList(pdom, record + ARGMAP_PARAMS, getLinkageImpl()); PDOMNodeLinkedList argList = new PDOMNodeLinkedList(pdom, record + ARGMAP_ARGS, getLinkageImpl()); - ObjectMap argMap = ((ICPPSpecialization)spec).getArgumentMap(); + ObjectMap argMap = spec.getArgumentMap(); if (argMap != null) { for (int i = 0; i < argMap.size(); i++) { Object param = argMap.keyAt(i); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTypeParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTypeParameter.java index 0307ef40e3e..1e26c13e392 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTypeParameter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTypeParameter.java @@ -7,6 +7,7 @@ * * Contributors: * QNX - Initial API and implementation + * Markus Schorn (Wind River Systems) *******************************************************************************/ package org.eclipse.cdt.internal.core.pdom.dom.cpp; @@ -18,6 +19,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPBinding; import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateTypeParameter; import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.dom.parser.ProblemBinding; +import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants; import org.eclipse.cdt.internal.core.index.IIndexInternalTemplateParameter; import org.eclipse.cdt.internal.core.index.IIndexType; import org.eclipse.cdt.internal.core.pdom.PDOM; @@ -40,7 +42,7 @@ class PDOMCPPTemplateTypeParameter extends PDOMCPPBinding implements public PDOMCPPTemplateTypeParameter(PDOM pdom, PDOMNode parent, ICPPTemplateTypeParameter param) throws CoreException { - super(pdom, parent, param.getName().toCharArray()); + super(pdom, parent, param.getNameCharArray()); try { IType dflt = param.getDefault(); @@ -64,7 +66,7 @@ class PDOMCPPTemplateTypeParameter extends PDOMCPPBinding implements } public int getNodeType() { - return PDOMCPPLinkage.CPP_TEMPLATE_TYPE_PARAMETER; + return IIndexCPPBindingConstants.CPP_TEMPLATE_TYPE_PARAMETER; } public boolean isSameType(IType type) {