Recent 4.6 JDT emits null warnings in a few more places.
Some un-annotated generic types are now implied to be nullable.
Change-Id: I37349ba28ce6d88a60cb44c5df7d4f8f5d7c439c
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/68227
Reviewed-by: Hudson CI
*/
@Test
public void testConcurrentIteration() {
- final BufferedBlockingQueue<String> queue = new BufferedBlockingQueue<>(15, 15);
+ final BufferedBlockingQueue<@NonNull String> queue = new BufferedBlockingQueue<>(15, 15);
final String poisonPill = "That's all folks!";
/*
* Number of observer threads. It should be >= 0.
* @return The consumed elements, as seen by each consumer thread.
*/
- private static <T> Iterable<Iterable<T>> runConcurrencyTest(final BufferedBlockingQueue<T> queue,
+ private static <T> Iterable<Iterable<T>> runConcurrencyTest(final BufferedBlockingQueue<@NonNull T> queue,
final List<T> testBuffer,
final @NonNull T poisonPill,
int nbProducerThreads,
package org.eclipse.tracecompass.tmf.core.util;
import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.tracecompass.common.core.NonNullUtils;
/**
* Pair utility class, encapsulates a pair of objects.
return fSecond;
}
+
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + fFirst.hashCode();
- result = prime * result + fSecond.hashCode();
+ result = prime * result + hashFromNullable(fFirst);
+ result = prime * result + hashFromNullable(fSecond);
return result;
}
+ private static int hashFromNullable(@Nullable Object o) {
+ return o == null ? 0 : o.hashCode();
+ }
+
@Override
public boolean equals(@Nullable Object obj) {
if (this == obj) {
return true;
}
-
if (obj == null) {
return false;
}
-
if (getClass() != obj.getClass()) {
return false;
}
-
Pair<?, ?> other = (Pair<?, ?>) obj;
-
- if (!fFirst.equals(other.fFirst)) {
+ if (!NonNullUtils.equalsNullable(other.fFirst, fFirst)) {
return false;
}
- if (!fSecond.equals(other.fSecond)) {
+ if (!NonNullUtils.equalsNullable(other.fSecond, fSecond)) {
return false;
}
return true;
public String toString() {
return "(" + fFirst + ", " + fSecond + ")"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
}
-
}
\ No newline at end of file
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.ui.internal.wizards.datatransfer.TarEntry;
import org.eclipse.ui.internal.wizards.datatransfer.TarException;
import org.eclipse.ui.internal.wizards.datatransfer.TarFile;
*
* @return enumeration of all files in the archive
*/
- Enumeration<? extends ArchiveEntry> entries();
+ Enumeration<@NonNull ? extends ArchiveEntry> entries();
/**
* Close the file input stream.
}
@Override
- public Enumeration<? extends ArchiveEntry> entries() {
- Vector<ArchiveEntry> v = new Vector<>();
+ public Enumeration<@NonNull ? extends ArchiveEntry> entries() {
+ Vector<@NonNull ArchiveEntry> v = new Vector<>();
for (Enumeration<?> e = fTarFile.entries(); e.hasMoreElements();) {
v.add(new TarArchiveEntry((TarEntry) e.nextElement()));
}
}
@Override
- public Enumeration<? extends ArchiveEntry> entries() {
- Vector<ArchiveEntry> v = new Vector<>();
+ public Enumeration<@NonNull ? extends ArchiveEntry> entries() {
+ Vector<@NonNull ArchiveEntry> v = new Vector<>();
for (Enumeration<?> e = fZipFile.entries(); e.hasMoreElements();) {
v.add(new ZipAchiveEntry((ZipEntry) e.nextElement()));
}
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jface.operation.ModalContext;
import org.eclipse.tracecompass.internal.tmf.ui.Activator;
import org.eclipse.tracecompass.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageOperation;
return;
}
- Enumeration<?> entries = archiveFile.entries();
+ Enumeration<@NonNull ?> entries = archiveFile.entries();
boolean found = false;
while (entries.hasMoreElements()) {
private TracePackageElement[] generateElementsFromArchive() {
ArchiveFile archiveFile = getSpecifiedArchiveFile();
- Enumeration<?> entries = archiveFile.entries();
+ Enumeration<@NonNull ?> entries = archiveFile.entries();
Set<String> traceFileNames = new HashSet<>();
while (entries.hasMoreElements()) {
ArchiveEntry entry = (ArchiveEntry) entries.nextElement();
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.core.runtime.URIUtil;
+import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jface.operation.ModalContext;
import org.eclipse.tracecompass.internal.tmf.ui.Activator;
import org.eclipse.tracecompass.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageOperation;
private IStatus importFiles(ArchiveFile archiveFile, List<Pair<String, String>> fileNameAndLabelPairs, IPath destinationContainerPath, IPath baseSourcePath, IProgressMonitor monitor) {
List<ArchiveProviderElement> objects = new ArrayList<>();
- Enumeration<?> entries = archiveFile.entries();
+ Enumeration<@NonNull ?> entries = archiveFile.entries();
while (entries.hasMoreElements()) {
ArchiveEntry entry = (ArchiveEntry) entries.nextElement();
String entryName = entry.getName();
*/
public void reorder(List<?> list) {
for (int i = 0; i < list.size(); i++) {
- if (list.get(i) instanceof Lifeline[]) {
- Lifeline temp[] = (Lifeline[]) list.get(i);
+ Object o = list.get(i);
+ if (o instanceof Lifeline[]) {
+ Lifeline temp[] = (Lifeline[]) o;
if (temp.length == 2) {
if (temp[1] == null) {
insertLifelineAfter(temp[0], getLifeline(lifeLinesCount() - 1));
import java.util.TimeZone;
import java.util.concurrent.TimeUnit;
+import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Device;
import org.eclipse.swt.graphics.GC;
if (null == entry || ! entry.hasTimeEvents()) {
return null;
}
- Iterator<? extends ITimeEvent> iterator = entry.getTimeEventsIterator();
+ Iterator<@NonNull ? extends ITimeEvent> iterator = entry.getTimeEventsIterator();
if (iterator == null) {
return null;
}