From b4e9fd7732d9b3fd307b8ce2fc180d76510df643 Mon Sep 17 00:00:00 2001 From: khazra Date: Wed, 19 Jun 2013 14:02:38 -0700 Subject: [PATCH] 8016576: Overrides warnings in jdi and jconsole Summary: Implement hashCode() in classes emitting warnings Reviewed-by: alanb, chegar --- src/share/classes/com/sun/tools/jdi/SDE.java | 7 ++++++- .../sun/tools/jconsole/inspector/XObject.java | 16 ++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/share/classes/com/sun/tools/jdi/SDE.java b/src/share/classes/com/sun/tools/jdi/SDE.java index b2389f7a1..833519d03 100644 --- a/src/share/classes/com/sun/tools/jdi/SDE.java +++ b/src/share/classes/com/sun/tools/jdi/SDE.java @@ -171,7 +171,7 @@ class SDE { } public boolean equals(Object obj) { - if ((obj != null) && (obj instanceof LineStratum)) { + if (obj instanceof LineStratum) { LineStratum other = (LineStratum)obj; return (lti == other.lti) && (sti == other.sti) && @@ -182,6 +182,11 @@ class SDE { } } + @Override + public int hashCode() { + return (lineNumber() * 17) ^ refType.hashCode(); + } + int lineNumber() { return stiLineNumber(sti, lti, jplsLine); } diff --git a/src/share/classes/sun/tools/jconsole/inspector/XObject.java b/src/share/classes/sun/tools/jconsole/inspector/XObject.java index d0b5617a2..95db93802 100644 --- a/src/share/classes/sun/tools/jconsole/inspector/XObject.java +++ b/src/share/classes/sun/tools/jconsole/inspector/XObject.java @@ -27,6 +27,7 @@ package sun.tools.jconsole.inspector; // java import import javax.swing.*; +import java.util.Objects; /** * This provides a wrapper to the Object class to allow it to be @@ -48,18 +49,17 @@ public class XObject extends JLabel { } public boolean equals(Object o) { - try { - if (o instanceof XObject) { - return object.equals(((XObject)o).getObject()); - } - } - catch (Throwable t) { - System.out.println("Error comparing XObjects"+ - t.getMessage()); + if (o instanceof XObject) { + return Objects.equals(object, ((XObject)o).getObject()); } return false; } + @Override + public int hashCode() { + return object.hashCode(); + } + public Object getObject() { return object; -- GitLab