From ce474b8bc15f1c70ad9bfd85a51b42474b766f6a Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Wed, 28 May 2008 14:51:23 +0000 Subject: [PATCH] Recursive user-define operator->, bug 205964. --- .../cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java index f483a0c25c8..2e62f688e45 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java @@ -953,10 +953,10 @@ public class CPPVisitor { IASTExpression owner = fieldReference.getFieldOwner(); IType type = getExpressionType(owner); if (fieldReference.isPointerDereference()) { - type= getUltimateTypeUptoPointers(type); // bug 205964: as long as the type is a class type, recurse. // Be defensive and allow a max of 10 levels. for (int j = 0; j < 10; j++) { + type= getUltimateTypeUptoPointers(type); if (type instanceof ICPPClassType) { ICPPFunction op = CPPSemantics.findOperator(fieldReference, (ICPPClassType) type); if (op != null) {