573258: Report improvements and lazy loading of array lengths
Minor fixes for SpotBugs and component report highlighting
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=573258
Change-Id: Ic33aad258cf2b104c777bf54c8a71f9eccd19b4a
diff --git a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/AbstractFillRatioQuery.java b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/AbstractFillRatioQuery.java
index 379e5d1..2c05bb8 100644
--- a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/AbstractFillRatioQuery.java
+++ b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/AbstractFillRatioQuery.java
@@ -32,9 +32,6 @@
public class AbstractFillRatioQuery
{
- private final long LIMIT = 20;
- private HashMapIntLong exceptions = new HashMapIntLong();
-
protected void runQuantizer(IProgressListener listener, Quantize quantize, ICollectionExtractor specificExtractor,
String specificClass, ISnapshot snapshot, Iterable<int[]> objects, String msg) throws SnapshotException
{
@@ -42,6 +39,8 @@
int refsize = info.getIdentifierSize();
if (refsize == 8 && Boolean.TRUE.equals((Boolean) info.getProperty("$useCompressedOops"))) //$NON-NLS-1$
refsize = 4;
+ final long LIMIT = 20;
+ HashMapIntLong exceptions = new HashMapIntLong();
int counter = 0;
IClass type = null;
for (int[] objectIds : objects)
diff --git a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/CollectionsBySizeQuery.java b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/CollectionsBySizeQuery.java
index ae3c85a..c72efcc 100644
--- a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/CollectionsBySizeQuery.java
+++ b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/CollectionsBySizeQuery.java
@@ -102,9 +102,6 @@
@Argument(isMandatory = false)
public String size_attribute;
- private final long LIMIT = 20;
- private HashMapIntLong exceptions = new HashMapIntLong();
-
public IResult execute(IProgressListener listener) throws Exception
{
listener.subTask(Messages.CollectionsBySizeQuery_CollectingSizes);
@@ -138,6 +135,9 @@
private void runQuantizer(IProgressListener listener, Quantize quantize, ICollectionExtractor specificExtractor,
String specificClass) throws SnapshotException
{
+
+ final long LIMIT = 20;
+ HashMapIntLong exceptions = new HashMapIntLong();
int counter = 0;
IClass type = null;
for (int[] objectIds : objects)
diff --git a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/MapCollisionRatioQuery.java b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/MapCollisionRatioQuery.java
index 2db23a0..f085142 100644
--- a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/MapCollisionRatioQuery.java
+++ b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/collections/MapCollisionRatioQuery.java
@@ -84,9 +84,6 @@
@Argument(isMandatory = false)
public String array_attribute;
- private final long LIMIT = 20;
- private HashMapIntLong exceptions = new HashMapIntLong();
-
public IResult execute(IProgressListener listener) throws Exception
{
listener.subTask(Messages.MapCollisionRatioQuery_CalculatingCollisionRatios);
@@ -100,6 +97,8 @@
Quantize quantize = builder.build();
IMapExtractor specificExtractor = new HashMapCollectionExtractor(size_attribute, array_attribute, null, null);
+ final long LIMIT = 20;
+ HashMapIntLong exceptions = new HashMapIntLong();
int counter = 0;
IClass type = null;
for (int[] objectIds : objects)
diff --git a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/component/ComponentReportQuery.java b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/component/ComponentReportQuery.java
index 51d8a05..2833351 100644
--- a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/component/ComponentReportQuery.java
+++ b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/component/ComponentReportQuery.java
@@ -635,6 +635,7 @@
comment.append(MessageUtil.format(Messages.ComponentReportQuery_Msg_InstancesRetainBytes,
numberOfObjects, HTMLUtils.escapeText(clazz.getName()), HTMLUtils.escapeText(retainedSize)));
comment.append("</li>"); //$NON-NLS-1$
+ warn = true;
}
break;
@@ -735,6 +736,7 @@
comment.append(MessageUtil.format(Messages.ComponentReportQuery_Msg_InstancesRetainBytes,
numberOfObjects, HTMLUtils.escapeText(an), HTMLUtils.escapeText(retainedSize)));
comment.append("</li>"); //$NON-NLS-1$
+ warn = true;
}
break;