Skip to content

Commit 95ea324

Browse files
committed
fix warnings from SpotBugs.
1 parent b5e5b56 commit 95ea324

File tree

10 files changed

+13
-36
lines changed

10 files changed

+13
-36
lines changed

src/org/sosy_lab/java_smt/solvers/boolector/BoolectorAbstractProver.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ abstract class BoolectorAbstractProver<T> extends AbstractProverWithAllSat<T> {
3333
private final long btor;
3434
private final BoolectorFormulaManager manager;
3535
private final BoolectorFormulaCreator creator;
36-
protected boolean wasLastSatCheckSat = false; // and stack is not changed
36+
protected final AtomicBoolean wasLastSatCheckSat =
37+
new AtomicBoolean(false); // and stack is not changed
3738
private final TerminationCallback terminationCallback;
3839
private final long terminationCallbackHelper;
3940

@@ -83,10 +84,10 @@ public void close() {
8384
@Override
8485
public boolean isUnsat() throws SolverException, InterruptedException {
8586
Preconditions.checkState(!closed);
86-
wasLastSatCheckSat = false;
87+
wasLastSatCheckSat.set(false);
8788
final int result = BtorJNI.boolector_sat(btor);
8889
if (result == BtorJNI.BTOR_RESULT_SAT_get()) {
89-
wasLastSatCheckSat = true;
90+
wasLastSatCheckSat.set(true);
9091
return false;
9192
} else if (result == BtorJNI.BTOR_RESULT_UNSAT_get()) {
9293
return true;
@@ -127,7 +128,7 @@ public boolean isUnsatWithAssumptions(Collection<BooleanFormula> pAssumptions)
127128
@Override
128129
public Model getModel() throws SolverException {
129130
Preconditions.checkState(!closed);
130-
Preconditions.checkState(wasLastSatCheckSat, NO_MODEL_HELP);
131+
Preconditions.checkState(wasLastSatCheckSat.get(), NO_MODEL_HELP);
131132
checkGenerateModels();
132133
return new CachingModel(getEvaluatorWithoutChecks());
133134
}

src/org/sosy_lab/java_smt/solvers/boolector/BoolectorSolverContext.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ private static class BoolectorSettings {
6363
private final BoolectorFormulaManager manager;
6464
private final BoolectorFormulaCreator creator;
6565
private final ShutdownNotifier shutdownNotifier;
66-
private boolean closed = false;
66+
private final AtomicBoolean closed = new AtomicBoolean(false);
6767
private final AtomicBoolean isAnyStackAlive = new AtomicBoolean(false);
6868

6969
BoolectorSolverContext(
@@ -188,16 +188,15 @@ public ImmutableMap<String, String> getStatistics() {
188188

189189
@Override
190190
public void close() {
191-
if (!closed) {
192-
closed = true;
191+
if (!closed.getAndSet(true)) {
193192
BtorJNI.boolector_delete(creator.getEnv());
194193
}
195194
}
196195

197196
@SuppressWarnings("resource")
198197
@Override
199198
protected ProverEnvironment newProverEnvironment0(Set<ProverOptions> pOptions) {
200-
Preconditions.checkState(!closed, "solver context is already closed");
199+
Preconditions.checkState(!closed.get(), "solver context is already closed");
201200
return new BoolectorTheoremProver(
202201
manager, creator, creator.getEnv(), shutdownNotifier, pOptions, isAnyStackAlive);
203202
}

src/org/sosy_lab/java_smt/solvers/princess/PrincessEnvironment.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,6 @@ public List<? extends IExpression> parseStringToTerms(String s, PrincessFormulaC
369369
* Exception at run time.
370370
*/
371371
@SuppressWarnings("unchecked")
372-
@SuppressFBWarnings("THROWS_METHOD_THROWS_CLAUSE_THROWABLE")
373372
private static <E extends Throwable> void throwCheckedAsUnchecked(Throwable e) throws E {
374373
throw (E) e;
375374
}

src/org/sosy_lab/java_smt/solvers/smtinterpol/SmtInterpolFormulaCreator.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -179,15 +179,6 @@ public Object convertValue(Term value) {
179179
}
180180
}
181181

182-
/** ApplicationTerms can be wrapped with "|". This function removes those chars. */
183-
public static String dequote(String s) {
184-
int l = s.length();
185-
if (s.charAt(0) == '|' && s.charAt(l - 1) == '|') {
186-
return s.substring(1, l - 1);
187-
}
188-
return s;
189-
}
190-
191182
@Override
192183
public <R> R visit(FormulaVisitor<R> visitor, Formula f, final Term input) {
193184
checkArgument(

src/org/sosy_lab/java_smt/solvers/z3/Z3SolverContext.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.nio.charset.StandardCharsets;
1818
import java.nio.file.Path;
1919
import java.util.Set;
20+
import java.util.concurrent.atomic.AtomicBoolean;
2021
import java.util.function.Consumer;
2122
import java.util.logging.Level;
2223
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -46,7 +47,7 @@ public final class Z3SolverContext extends AbstractSolverContext {
4647
private final ExtraOptions extraOptions;
4748
private final Z3FormulaCreator creator;
4849
private final Z3FormulaManager manager;
49-
private boolean closed = false;
50+
private final AtomicBoolean closed = new AtomicBoolean(false);
5051

5152
private static final String OPT_ENGINE_CONFIG_KEY = "optsmt_engine";
5253
private static final String OPT_PRIORITY_CONFIG_KEY = "priority";
@@ -215,7 +216,7 @@ public static synchronized Z3SolverContext create(
215216

216217
@Override
217218
protected ProverEnvironment newProverEnvironment0(Set<ProverOptions> options) {
218-
Preconditions.checkState(!closed, "solver context is already closed");
219+
Preconditions.checkState(!closed.get(), "solver context is already closed");
219220
final ImmutableMap<String, Object> solverOptions =
220221
ImmutableMap.<String, Object>builder()
221222
.put(":random-seed", extraOptions.randomSeed)
@@ -241,7 +242,7 @@ protected InterpolatingProverEnvironment<?> newProverEnvironmentWithInterpolatio
241242
@Override
242243
public OptimizationProverEnvironment newOptimizationProverEnvironment0(
243244
Set<ProverOptions> options) {
244-
Preconditions.checkState(!closed, "solver context is already closed");
245+
Preconditions.checkState(!closed.get(), "solver context is already closed");
245246
final ImmutableMap<String, Object> solverOptions =
246247
ImmutableMap.<String, Object>builder()
247248
// .put(":random-seed", extraOptions.randomSeed) // not supported here
@@ -269,8 +270,7 @@ public Solvers getSolverName() {
269270

270271
@Override
271272
public void close() {
272-
if (!closed) {
273-
closed = true;
273+
if (!closed.getAndSet(true)) {
274274
long context = creator.getEnv();
275275
creator.forceClose();
276276
shutdownNotifier.unregister(interruptListener);

src/org/sosy_lab/java_smt/test/BooleanFormulaSubject.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import com.google.common.truth.StandardSubjectBuilder;
2020
import com.google.common.truth.Subject;
2121
import com.google.common.truth.Truth;
22-
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2322
import java.util.ArrayList;
2423
import java.util.List;
2524
import org.sosy_lab.java_smt.api.BooleanFormula;
@@ -39,7 +38,6 @@
3938
* {@link StandardSubjectBuilder#about(com.google.common.truth.Subject.Factory)} and set a solver
4039
* via the method {@link #booleanFormulasOf(SolverContext)}.
4140
*/
42-
@SuppressFBWarnings("EQ_DOESNT_OVERRIDE_EQUALS")
4341
public final class BooleanFormulaSubject extends Subject {
4442

4543
private final SolverContext context;

src/org/sosy_lab/java_smt/test/Fuzzer.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
package org.sosy_lab.java_smt.test;
1010

11-
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
1211
import java.util.Random;
1312
import org.sosy_lab.common.UniqueIdGenerator;
1413
import org.sosy_lab.java_smt.api.BooleanFormula;
@@ -42,7 +41,6 @@ public BooleanFormula fuzz(int formulaSize, BooleanFormula... pVars) {
4241
return recFuzz(formulaSize);
4342
}
4443

45-
@SuppressFBWarnings(value = "DMI_RANDOM_USED_ONLY_ONCE")
4644
private BooleanFormula recFuzz(int formulaSize) {
4745
if (formulaSize == 1) {
4846

@@ -69,7 +67,6 @@ private BooleanFormula recFuzz(int formulaSize) {
6967
}
7068
}
7169

72-
@SuppressFBWarnings(value = "DMI_RANDOM_USED_ONLY_ONCE")
7370
private BooleanFormula getVar() {
7471
return vars[r.nextInt(vars.length)];
7572
}

src/org/sosy_lab/java_smt/test/IntegerTheoryFuzzer.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
package org.sosy_lab.java_smt.test;
1010

11-
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
1211
import java.util.Random;
1312
import java.util.stream.IntStream;
1413
import org.sosy_lab.java_smt.api.FormulaManager;
@@ -43,7 +42,6 @@ public IntegerFormula fuzz(int formulaSize, int pMaxConstant, IntegerFormula...
4342
return recFuzz(formulaSize);
4443
}
4544

46-
@SuppressFBWarnings(value = "DMI_RANDOM_USED_ONLY_ONCE")
4745
private IntegerFormula recFuzz(int pFormulaSize) {
4846
if (pFormulaSize == 1) {
4947

@@ -78,12 +76,10 @@ private IntegerFormula recFuzz(int pFormulaSize) {
7876
}
7977
}
8078

81-
@SuppressFBWarnings(value = "DMI_RANDOM_USED_ONLY_ONCE")
8279
private IntegerFormula getConstant() {
8380
return ifmgr.makeNumber((long) r.nextInt(2 * maxConstant) - maxConstant);
8481
}
8582

86-
@SuppressFBWarnings(value = "DMI_RANDOM_USED_ONLY_ONCE")
8783
private IntegerFormula getVar() {
8884
return vars[r.nextInt(vars.length)];
8985
}

src/org/sosy_lab/java_smt/test/ProverEnvironmentSubject.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import com.google.common.truth.FailureMetadata;
1717
import com.google.common.truth.StandardSubjectBuilder;
1818
import com.google.common.truth.Subject;
19-
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2019
import java.util.List;
2120
import org.sosy_lab.java_smt.api.BasicProverEnvironment;
2221
import org.sosy_lab.java_smt.api.BooleanFormula;
@@ -32,7 +31,6 @@
3231
* {@link StandardSubjectBuilder#about(com.google.common.truth.Subject.Factory)} and {@link
3332
* #proverEnvironments()}.
3433
*/
35-
@SuppressFBWarnings("EQ_DOESNT_OVERRIDE_EQUALS")
3634
public final class ProverEnvironmentSubject extends Subject {
3735

3836
private final BasicProverEnvironment<?> stackUnderTest;

src/org/sosy_lab/java_smt/test/SolverBasedTest0.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import static org.sosy_lab.java_smt.test.ProverEnvironmentSubject.assertThat;
1515

1616
import com.google.common.truth.Truth;
17-
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
1817
import java.util.Collection;
1918
import org.checkerframework.checker.nullness.qual.Nullable;
2019
import org.junit.After;
@@ -86,7 +85,6 @@
8685
* <p>Test that rely on a theory that not all solvers support should call one of the {@code require}
8786
* methods at the beginning.
8887
*/
89-
@SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD", justification = "test code")
9088
public abstract class SolverBasedTest0 {
9189

9290
protected Configuration config;

0 commit comments

Comments
 (0)