1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-01 21:35:40 +02:00

Fix for 193152, ArrayOutOfBoundsException in name resolution.

This commit is contained in:
Markus Schorn 2007-06-19 08:48:46 +00:00
parent 5adf724d8e
commit 1ec487930f

View file

@ -2824,8 +2824,14 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
protected IASTName createName(ITokenDuple duple) { protected IASTName createName(ITokenDuple duple) {
if (duple == null) if (duple == null)
return createName(); return createName();
if (duple.getSegmentCount() != 1) if (duple.getSegmentCount() != 1) {
return createQualifiedName(duple); // workaround for bug 193152,
// looks like duple.getSeqmentCount() and duple.getSegments().length can be different.
ICPPASTQualifiedName qname= createQualifiedName(duple);
if (qname.getNames().length > 0) {
return qname;
}
}
if (duple.getTemplateIdArgLists() != null) if (duple.getTemplateIdArgLists() != null)
return createTemplateID(duple); return createTemplateID(duple);