From 4d4ad0c41bf0a17d6c2bce42970ce6d445d51199 Mon Sep 17 00:00:00 2001 From: Arnaud Fiorini Date: Fri, 10 Apr 2026 10:51:00 -0400 Subject: [PATCH] timing.ui: Fix null related errors and warning Signed-off-by: Arnaud Fiorini --- .../table/SegmentStoreContentProvider.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/analysis/org.eclipse.tracecompass.analysis.timing.ui/src/org/eclipse/tracecompass/internal/analysis/timing/ui/views/segmentstore/table/SegmentStoreContentProvider.java b/analysis/org.eclipse.tracecompass.analysis.timing.ui/src/org/eclipse/tracecompass/internal/analysis/timing/ui/views/segmentstore/table/SegmentStoreContentProvider.java index db24ff3d34..10de0609dd 100644 --- a/analysis/org.eclipse.tracecompass.analysis.timing.ui/src/org/eclipse/tracecompass/internal/analysis/timing/ui/views/segmentstore/table/SegmentStoreContentProvider.java +++ b/analysis/org.eclipse.tracecompass.analysis.timing.ui/src/org/eclipse/tracecompass/internal/analysis/timing/ui/views/segmentstore/table/SegmentStoreContentProvider.java @@ -18,9 +18,9 @@ import java.util.Comparator; import java.util.Iterator; import java.util.List; +import java.util.Objects; import java.util.function.Predicate; -import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.Viewer; @@ -132,10 +132,10 @@ private Iterable getIterable() { } fIterable = iterable; } - return iterable; + return Objects.requireNonNull(iterable); } - private Iterator resetIterator() { + private Iterator resetIterator() { Iterator iterator = NonNullUtils.checkNotNull(getIterable().iterator()); fIterator = iterator; fLastReadPos = -1; @@ -160,7 +160,7 @@ private Iterable getIterable() { long idx = index; // Special code path if we are looking for an element from the end there is a comparator if (index == LAST) { - Comparator<@NonNull ISegment> comparator = fComparator; + Comparator comparator = fComparator; if (comparator != null) { return getLastElement(comparator); } @@ -168,11 +168,11 @@ private Iterable getIterable() { // just return the first as it is random anyway idx = 0; } - Iterable iterable = fIterable; + Iterable iterable = fIterable; if (iterable instanceof List && idx <= Integer.MAX_VALUE) { return Iterables.get(iterable, (int) idx, null); } - Iterator iterator = fIterator; + Iterator iterator = fIterator; if (iterator == null || idx <= fLastReadPos) { iterator = resetIterator(); } @@ -187,10 +187,10 @@ private Iterable getIterable() { return null; } - private @Nullable ISegment getLastElement(Comparator<@NonNull ISegment> comparator) { + private @Nullable ISegment getLastElement(Comparator comparator) { Iterable baseIterable = fIterable; if (baseIterable instanceof List) { - return Iterables.getLast(baseIterable, null); + return Iterables.getLast((Iterable) baseIterable, null); } // Not a trivial get, so get an iterable for the reverse comparator // and fetch first element @@ -199,9 +199,8 @@ private Iterable getIterable() { if (predicate != null) { iterable = Iterables.filter(iterable, input -> predicate.test(input)); } - // FIXME: The cast turns an error into a warning for this null - // value, but it is completely unnecessary otherwise - return Iterables.getFirst((Iterable) iterable, null); + + return Iterables.getFirst((Iterable) iterable, null); } /**