diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java index e01a3518835..dab29308b72 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java @@ -297,6 +297,10 @@ public abstract class PDOMBinding extends PDOMNamedNode implements IIndexFragmen } public boolean equals(Object o) { + if (o instanceof PDOMNode) { + PDOMNode node= (PDOMNode) o; + return pdom==node.pdom && record == node.record; + } return compareTo(o)==0; } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNode.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNode.java index d46e3c63e4e..128098c9c79 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNode.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNode.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2006 QNX Software Systems and others. + * Copyright (c) 2005, 2007 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -72,14 +72,14 @@ public abstract class PDOMNode implements IPDOMNode { return true; if (obj instanceof PDOMNode) { PDOMNode other = (PDOMNode)obj; - return pdom.equals(other.pdom) && record == other.record; + return pdom == other.pdom && record == other.record; } return super.equals(obj); } public int hashCode() { - return 31 * pdom.getPath().hashCode() + 41 * record; + return System.identityHashCode(pdom) + 41*record; } public void accept(IPDOMVisitor visitor) throws CoreException {