Skip to content

Commit 9246c13

Browse files
committed
replace all usages of "Arrays.asList" with "ImmutableList.copyOf" to directly show the immutability.
This might cause one additional copy of the array-content in some cases, however, we iterate over the content again in the next step, so this is just a very small overhead, and it brings the benefit of immutability.
1 parent 34850fa commit 9246c13

File tree

9 files changed

+19
-21
lines changed

9 files changed

+19
-21
lines changed

src/org/sosy_lab/java_smt/api/StringFormulaManager.java

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

99
package org.sosy_lab.java_smt.api;
1010

11-
import java.util.Arrays;
11+
import com.google.common.collect.ImmutableList;
1212
import java.util.List;
1313
import org.sosy_lab.java_smt.api.NumeralFormula.IntegerFormula;
1414
import org.sosy_lab.java_smt.basicimpl.AbstractStringFormulaManager;
@@ -104,7 +104,7 @@ public interface StringFormulaManager {
104104
IntegerFormula length(StringFormula str);
105105

106106
default StringFormula concat(StringFormula... parts) {
107-
return concat(Arrays.asList(parts));
107+
return concat(ImmutableList.copyOf(parts));
108108
}
109109

110110
StringFormula concat(List<StringFormula> parts);
@@ -165,7 +165,7 @@ default RegexFormula range(char start, char end) {
165165
* @return formula denoting the concatenation
166166
*/
167167
default RegexFormula concat(RegexFormula... parts) {
168-
return concatRegex(Arrays.asList(parts));
168+
return concatRegex(ImmutableList.copyOf(parts));
169169
}
170170

171171
/**

src/org/sosy_lab/java_smt/basicimpl/AbstractFormulaManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
import com.google.common.base.CharMatcher;
1616
import com.google.common.base.Preconditions;
1717
import com.google.common.collect.ImmutableBiMap;
18+
import com.google.common.collect.ImmutableList;
1819
import com.google.common.collect.ImmutableMap;
1920
import com.google.common.collect.ImmutableSet;
2021
import com.google.common.collect.Iterables;
2122
import java.io.IOException;
22-
import java.util.Arrays;
2323
import java.util.List;
2424
import java.util.Map;
2525
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -542,7 +542,7 @@ public <T extends Formula> T makeApplication(
542542
@Override
543543
public <T extends Formula> T makeApplication(
544544
FunctionDeclaration<T> declaration, Formula... args) {
545-
return makeApplication(declaration, Arrays.asList(args));
545+
return makeApplication(declaration, ImmutableList.copyOf(args));
546546
}
547547

548548
@Override

src/org/sosy_lab/java_smt/basicimpl/AbstractUFManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010

1111
import static org.sosy_lab.java_smt.basicimpl.AbstractFormulaManager.checkVariableName;
1212

13+
import com.google.common.collect.ImmutableList;
1314
import com.google.common.collect.Lists;
14-
import java.util.Arrays;
1515
import java.util.List;
1616
import org.sosy_lab.java_smt.api.Formula;
1717
import org.sosy_lab.java_smt.api.FormulaType;
@@ -68,6 +68,6 @@ public <T extends Formula> T declareAndCallUF(
6868
public <T extends Formula> T declareAndCallUF(
6969
String name, FormulaType<T> pReturnType, Formula... pArgs) {
7070
checkVariableName(name);
71-
return declareAndCallUF(name, pReturnType, Arrays.asList(pArgs));
71+
return declareAndCallUF(name, pReturnType, ImmutableList.copyOf(pArgs));
7272
}
7373
}

src/org/sosy_lab/java_smt/solvers/cvc4/CVC4NativeAPITest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import static com.google.common.truth.Truth.assertThat;
1212
import static org.junit.Assert.assertThrows;
1313

14+
import com.google.common.collect.ImmutableList;
1415
import edu.stanford.CVC4.ArrayType;
1516
import edu.stanford.CVC4.BitVector;
1617
import edu.stanford.CVC4.BitVectorType;
@@ -31,7 +32,6 @@
3132
import edu.stanford.CVC4.vectorExpr;
3233
import java.io.FileNotFoundException;
3334
import java.io.UnsupportedEncodingException;
34-
import java.util.Arrays;
3535
import org.junit.After;
3636
import org.junit.AssumptionViolatedException;
3737
import org.junit.Before;
@@ -766,7 +766,7 @@ public void checkUnsatCore() {
766766

767767
// UnsatCores are iterable
768768
for (Expr e : unsatCore) {
769-
assertThat(e.toString()).isIn(Arrays.asList("(not (or a b))", "(and a b)"));
769+
assertThat(e.toString()).isIn(ImmutableList.of("(not (or a b))", "(and a b)"));
770770
}
771771
}
772772

src/org/sosy_lab/java_smt/solvers/cvc5/CVC5NativeAPITest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import static org.junit.Assert.assertThrows;
1313

1414
import com.google.common.base.Preconditions;
15+
import com.google.common.collect.ImmutableList;
1516
import io.github.cvc5.CVC5ApiException;
1617
import io.github.cvc5.Kind;
1718
import io.github.cvc5.Op;
@@ -24,7 +25,6 @@
2425
import io.github.cvc5.Term;
2526
import io.github.cvc5.TermManager;
2627
import java.util.ArrayList;
27-
import java.util.Arrays;
2828
import java.util.HashMap;
2929
import java.util.List;
3030
import java.util.Map;
@@ -1031,7 +1031,7 @@ public void checkUnsatCore() {
10311031

10321032
// UnsatCores are iterable
10331033
for (Term e : unsatCore) {
1034-
assertThat(e.toString()).isIn(Arrays.asList("(not (or a b))", "(and a b)"));
1034+
assertThat(e.toString()).isIn(ImmutableList.of("(not (or a b))", "(and a b)"));
10351035
}
10361036
}
10371037

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
import java.nio.file.Path;
5959
import java.util.ArrayDeque;
6060
import java.util.ArrayList;
61-
import java.util.Arrays;
6261
import java.util.Deque;
6362
import java.util.HashMap;
6463
import java.util.HashSet;
@@ -764,7 +763,7 @@ static Seq<ITerm> toITermSeq(List<IExpression> exprs) {
764763
}
765764

766765
static Seq<ITerm> toITermSeq(IExpression... exprs) {
767-
return toITermSeq(Arrays.asList(exprs));
766+
return toITermSeq(ImmutableList.copyOf(exprs));
768767
}
769768

770769
IExpression simplify(IExpression f) {

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import com.google.common.collect.ImmutableList;
1515
import com.google.common.collect.ImmutableSet;
1616
import com.google.common.collect.Lists;
17-
import java.util.Arrays;
1817
import java.util.List;
1918
import java.util.function.Supplier;
2019
import org.junit.AssumptionViolatedException;
@@ -52,9 +51,9 @@ public class NonLinearArithmeticTest<T extends NumeralFormula> extends SolverBas
5251
@Parameters(name = "{0} {1} {2}")
5352
public static Iterable<Object[]> getAllSolversAndTheories() {
5453
return Lists.cartesianProduct(
55-
Arrays.asList(ParameterizedSolverBasedTest0.getAllSolvers()),
54+
ImmutableList.copyOf(ParameterizedSolverBasedTest0.getAllSolvers()),
5655
ImmutableList.of(FormulaType.IntegerType, FormulaType.RationalType),
57-
Arrays.asList(NonLinearArithmetic.values()))
56+
ImmutableList.copyOf(NonLinearArithmetic.values()))
5857
.stream()
5958
.map(List::toArray)
6059
.collect(toImmutableList());

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
import static com.google.common.collect.ImmutableList.toImmutableList;
1212

13+
import com.google.common.collect.ImmutableList;
1314
import com.google.common.collect.ImmutableSet;
1415
import com.google.common.collect.Lists;
15-
import java.util.Arrays;
1616
import java.util.List;
1717
import java.util.function.Supplier;
1818
import org.junit.AssumptionViolatedException;
@@ -34,8 +34,8 @@ public class NonLinearArithmeticWithModuloTest extends SolverBasedTest0 {
3434
@Parameters(name = "{0} {1}")
3535
public static Iterable<Object[]> getAllSolversAndTheories() {
3636
return Lists.cartesianProduct(
37-
Arrays.asList(ParameterizedSolverBasedTest0.getAllSolvers()),
38-
Arrays.asList(NonLinearArithmetic.values()))
37+
ImmutableList.copyOf(ParameterizedSolverBasedTest0.getAllSolvers()),
38+
ImmutableList.copyOf(NonLinearArithmetic.values()))
3939
.stream()
4040
.map(List::toArray)
4141
.collect(toImmutableList());

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import static com.google.common.truth.TruthJUnit.assume;
1212
import static org.sosy_lab.java_smt.test.BooleanFormulaSubject.assertUsing;
1313

14+
import com.google.common.collect.ImmutableList;
1415
import com.google.common.collect.Lists;
15-
import java.util.Arrays;
1616
import java.util.List;
1717
import org.junit.After;
1818
import org.junit.Before;
@@ -54,7 +54,7 @@ public class TranslateFormulaTest {
5454

5555
@Parameters(name = "{index}: {0} --> {1}")
5656
public static List<Object[]> getSolverCombinations() {
57-
List<Solvers> solvers = Arrays.asList(Solvers.values());
57+
List<Solvers> solvers = ImmutableList.copyOf(Solvers.values());
5858
return Lists.transform(Lists.cartesianProduct(solvers, solvers), List::toArray);
5959
}
6060

0 commit comments

Comments
 (0)