Bug 489984 - Remove redundant type argument information in
eclipse.platform.runtime
This one is for org.eclipse.core.jobs
Change-Id: Id34d0b4657a68fafbfffd346c4050081e83438f4
diff --git a/bundles/org.eclipse.core.jobs/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.core.jobs/.settings/org.eclipse.jdt.core.prefs
index 739b00f..8f1c687 100644
--- a/bundles/org.eclipse.core.jobs/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.core.jobs/.settings/org.eclipse.jdt.core.prefs
@@ -2,8 +2,11 @@
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
@@ -62,19 +65,21 @@
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/DeadlockDetector.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/DeadlockDetector.java
index 13e54eb..3572e03 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/DeadlockDetector.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/DeadlockDetector.java
@@ -74,9 +74,9 @@
//matrix of relationships between threads and locks
private int[][] graph = EMPTY_MATRIX;
//index is column in adjacency matrix for the lock
- private final ArrayList<ISchedulingRule> locks = new ArrayList<ISchedulingRule>();
+ private final ArrayList<ISchedulingRule> locks = new ArrayList<>();
//index is row in adjacency matrix for the thread
- private final ArrayList<Thread> lockThreads = new ArrayList<Thread>();
+ private final ArrayList<Thread> lockThreads = new ArrayList<>();
//whether the graph needs to be resized
private boolean resize = false;
@@ -185,7 +185,7 @@
* Returns all the locks owned by the given thread
*/
private Object[] getOwnedLocks(Thread current) {
- ArrayList<ISchedulingRule> ownedLocks = new ArrayList<ISchedulingRule>(1);
+ ArrayList<ISchedulingRule> ownedLocks = new ArrayList<>(1);
int index = indexOf(current, false);
for (int j = 0; j < graph[index].length; j++) {
@@ -201,7 +201,7 @@
* Returns an array of threads that form the deadlock (usually 2).
*/
private Thread[] getThreadsInDeadlock(Thread cause) {
- ArrayList<Thread> deadlockedThreads = new ArrayList<Thread>(2);
+ ArrayList<Thread> deadlockedThreads = new ArrayList<>(2);
/**
* if the thread that caused deadlock doesn't own any locks, then it is not part
* of the deadlock (it just caused it because of a rule it tried to acquire)
@@ -219,7 +219,7 @@
if (rule == null)
return new Thread[0];
int lockIndex = indexOf(rule, false);
- ArrayList<Thread> blocking = new ArrayList<Thread>(1);
+ ArrayList<Thread> blocking = new ArrayList<>(1);
for (int i = 0; i < graph.length; i++) {
if (graph[i][lockIndex] > NO_STATE)
blocking.add(lockThreads.get(i));
@@ -295,7 +295,7 @@
* or conflict with a lock the given lock will acquire implicitly
* (locks are acquired implicitly when a conflicting lock is acquired)
*/
- ArrayList<ISchedulingRule> conflicting = new ArrayList<ISchedulingRule>(1);
+ ArrayList<ISchedulingRule> conflicting = new ArrayList<>(1);
//only need two passes through all the locks to pick up all conflicting rules
int NUM_PASSES = 2;
conflicting.add(lock);
@@ -490,7 +490,7 @@
*/
private ISchedulingRule[] realLocksForThread(Thread owner) {
int threadIndex = indexOf(owner, false);
- ArrayList<ISchedulingRule> ownedLocks = new ArrayList<ISchedulingRule>(1);
+ ArrayList<ISchedulingRule> ownedLocks = new ArrayList<>(1);
for (int j = 0; j < graph[threadIndex].length; j++) {
if ((graph[threadIndex][j] > NO_STATE) && (locks.get(j) instanceof ILock))
ownedLocks.add(locks.get(j));
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ImplicitJobs.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ImplicitJobs.java
index 6e081ae..31de7d3 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ImplicitJobs.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ImplicitJobs.java
@@ -35,14 +35,14 @@
* Set of suspended scheduling rules.
* @GuardedBy("this")
*/
- private final Set<ISchedulingRule> suspendedRules = new HashSet<ISchedulingRule>(20);
+ private final Set<ISchedulingRule> suspendedRules = new HashSet<>(20);
/**
* Maps (Thread->ThreadJob), threads to the currently running job for that
* thread.
* @GuardedBy("this")
*/
- private final Map<Thread, ThreadJob> threadJobs = new HashMap<Thread, ThreadJob>(20);
+ private final Map<Thread, ThreadJob> threadJobs = new HashMap<>(20);
ImplicitJobs(JobManager manager) {
this.manager = manager;
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/InternalJob.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/InternalJob.java
index 2bee293..167334c 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/InternalJob.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/InternalJob.java
@@ -83,7 +83,7 @@
* The list of job listeners. Never null.
* @GuardedBy("itself")
*/
- private final ListenerList<IJobChangeListener> listeners = new ListenerList<IJobChangeListener>(ListenerList.IDENTITY);
+ private final ListenerList<IJobChangeListener> listeners = new ListenerList<>(ListenerList.IDENTITY);
private volatile IProgressMonitor monitor;
private String name;
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/InternalJobGroup.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/InternalJobGroup.java
index f287685..a6f6439 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/InternalJobGroup.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/InternalJobGroup.java
@@ -46,9 +46,9 @@
private volatile int state = JobGroup.NONE;
private volatile MultiStatus result;
- private final Set<InternalJob> runningJobs = new HashSet<InternalJob>();
- private final Set<InternalJob> otherActiveJobs = new HashSet<InternalJob>();
- private final List<IStatus> results = new ArrayList<IStatus>();
+ private final Set<InternalJob> runningJobs = new HashSet<>();
+ private final Set<InternalJob> otherActiveJobs = new HashSet<>();
+ private final List<IStatus> results = new ArrayList<>();
private boolean cancelingDueToError;
private int failedJobsCount;
private int canceledJobsCount;
@@ -240,7 +240,7 @@
}
final List<Job> internalGetActiveJobs() {
- List<Job> activeJobs = new ArrayList<Job>(runningJobs.size() + otherActiveJobs.size());
+ List<Job> activeJobs = new ArrayList<>(runningJobs.size() + otherActiveJobs.size());
for (InternalJob job : runningJobs)
activeJobs.add((Job) job);
for (InternalJob job : otherActiveJobs)
@@ -276,7 +276,7 @@
}
final List<IStatus> getCompletedJobResults() {
- return new ArrayList<IStatus>(results);
+ return new ArrayList<>(results);
}
protected boolean shouldCancel(IStatus lastCompletedJobResult, int numberOfFailedJobs, int numberOfCanceledJobs) {
@@ -284,7 +284,7 @@
}
protected MultiStatus computeGroupResult(List<IStatus> jobResults) {
- List<IStatus> importantResults = new ArrayList<IStatus>();
+ List<IStatus> importantResults = new ArrayList<>();
for (IStatus jobResult : jobResults) {
if (jobResult.getSeverity() != IStatus.OK)
importantResults.add(jobResult);
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java
index 25a13bf..b42fe11 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobManager.java
@@ -195,7 +195,7 @@
* A set of progress monitors we must track cancellation requests for.
* @GuardedBy("itself")
*/
- final List<Object[]> monitorStack = new ArrayList<Object[]>();
+ final List<Object[]> monitorStack = new ArrayList<>();
private final InternalWorker internalWorker;
@@ -285,8 +285,8 @@
waiting = new JobQueue(false);
waitingThreadJobs = new JobQueue(false, false);
sleeping = new JobQueue(true);
- running = new HashSet<InternalJob>(10);
- yielding = new HashSet<InternalJob>(10);
+ running = new HashSet<>(10);
+ yielding = new HashSet<>(10);
pool = new WorkerPool(this);
}
pool.setDaemon(JobOSGiUtils.getDefault().useDaemonThreads());
@@ -932,7 +932,7 @@
synchronized (lock) {
//don't join a waiting or sleeping job when suspended (deadlock risk)
int states = suspended ? Job.RUNNING : Job.RUNNING | Job.WAITING | Job.SLEEPING;
- jobs = Collections.synchronizedSet(new HashSet<InternalJob>(select(family, states)));
+ jobs = Collections.synchronizedSet(new HashSet<>(select(family, states)));
jobCount = jobs.size();
if (jobCount > 0) {
//if there is only one blocking job, use it in the blockage callback below
@@ -1290,7 +1290,7 @@
* family and are in one of the provided states.
*/
private List<InternalJob> select(Object family, int stateMask) {
- List<InternalJob> members = new ArrayList<InternalJob>();
+ List<InternalJob> members = new ArrayList<>();
synchronized (lock) {
if ((stateMask & Job.RUNNING) != 0) {
for (Iterator<InternalJob> it = running.iterator(); it.hasNext();) {
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobOSGiUtils.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobOSGiUtils.java
index 813aafd..a4d588a 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobOSGiUtils.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobOSGiUtils.java
@@ -59,7 +59,7 @@
}
// register debug options listener
- Hashtable<String, String> properties = new Hashtable<String, String>(2);
+ Hashtable<String, String> properties = new Hashtable<>(2);
properties.put(DebugOptions.LISTENER_SYMBOLICNAME, JobManager.PI_JOBS);
debugRegistration = context.registerService(DebugOptionsListener.class, JobManager.getInstance(), properties);
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/LockManager.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/LockManager.java
index 8af48db..b4ff942 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/LockManager.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/LockManager.java
@@ -76,7 +76,7 @@
* (a stack is needed because when a thread tries to re-acquire suspended locks,
* it can cause deadlock, and some locks it owns can be suspended again)
*/
- private HashMap<Thread, Stack<LockState[]>> suspendedLocks = new HashMap<Thread, Stack<LockState[]>>();
+ private HashMap<Thread, Stack<LockState[]>> suspendedLocks = new HashMap<>();
public LockManager() {
super();
@@ -167,7 +167,7 @@
synchronized (suspendedLocks) {
Stack<LockState[]> prevLocks = suspendedLocks.get(found.getCandidate());
if (prevLocks == null)
- prevLocks = new Stack<LockState[]>();
+ prevLocks = new Stack<>();
prevLocks.push(suspended);
suspendedLocks.put(found.getCandidate(), prevLocks);
}
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ObjectMap.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ObjectMap.java
index 6cd59f7..1983c5c 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ObjectMap.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ObjectMap.java
@@ -181,7 +181,7 @@
*/
@Override
public Set keySet() {
- Set<Object> result = new HashSet<Object>(size());
+ Set<Object> result = new HashSet<>(size());
for (int i = 0; i < elements.length; i = i + 2) {
if (elements[i] != null) {
result.add(elements[i]);
@@ -282,7 +282,7 @@
* Creates a new hash map with the same contents as this map.
*/
private HashMap<Object, Object> toHashMap() {
- HashMap<Object, Object> result = new HashMap<Object, Object>(size());
+ HashMap<Object, Object> result = new HashMap<>(size());
for (int i = 0; i < elements.length; i = i + 2) {
if (elements[i] != null) {
result.put(elements[i], elements[i + 1]);
@@ -300,7 +300,7 @@
*/
@Override
public Collection values() {
- Set<Object> result = new HashSet<Object>(size());
+ Set<Object> result = new HashSet<>(size());
for (int i = 1; i < elements.length; i = i + 2) {
if (elements[i] != null) {
result.add(elements[i]);
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/MultiRule.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/MultiRule.java
index 7175c33..50c8bd5 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/MultiRule.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/MultiRule.java
@@ -87,7 +87,7 @@
* array in which no rules are MultiRules.
*/
private static ISchedulingRule[] flatten(ISchedulingRule[] nestedRules) {
- ArrayList<ISchedulingRule> myRules = new ArrayList<ISchedulingRule>(nestedRules.length);
+ ArrayList<ISchedulingRule> myRules = new ArrayList<>(nestedRules.length);
for (int i = 0; i < nestedRules.length; i++) {
if (nestedRules[i] instanceof MultiRule) {
ISchedulingRule[] children = ((MultiRule) nestedRules[i]).getChildren();