Skip to content

Commit 6b5c84c

Browse files
committed
Move ConcatenatedListView to common/internal
1 parent 8cd3d77 commit 6b5c84c

9 files changed

Lines changed: 29 additions & 20 deletions

File tree

common/internal/BUILD.bazel

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,8 @@ cel_android_library(
147147
name = "date_time_helpers_android",
148148
exports = ["//common/src/main/java/dev/cel/common/internal:date_time_helpers_android"],
149149
)
150+
151+
java_library(
152+
name = "concatenated_list_view",
153+
exports = ["//common/src/main/java/dev/cel/common/internal:concatenated_list_view"],
154+
)

common/src/main/java/dev/cel/common/internal/BUILD.bazel

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,3 +461,10 @@ cel_android_library(
461461
"@maven_android//:com_google_protobuf_protobuf_javalite",
462462
],
463463
)
464+
465+
java_library(
466+
name = "concatenated_list_view",
467+
srcs = ["ConcatenatedListView.java"],
468+
deps = ["//common/annotations"],
469+
# used_by_android
470+
)

runtime/src/main/java/dev/cel/runtime/ConcatenatedListView.java renamed to common/src/main/java/dev/cel/common/internal/ConcatenatedListView.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
package dev.cel.runtime;
15+
package dev.cel.common.internal;
1616

17+
import dev.cel.common.annotations.Internal;
1718
import java.util.AbstractList;
1819
import java.util.ArrayList;
1920
import java.util.Collection;
@@ -28,15 +29,16 @@
2829
*
2930
* <p>This does not support any of the standard list operations from {@link java.util.List}.
3031
*/
31-
final class ConcatenatedListView<E> extends AbstractList<E> {
32+
@Internal
33+
public final class ConcatenatedListView<E> extends AbstractList<E> {
3234
private final List<List<? extends E>> sourceLists;
3335
private int totalSize = 0;
3436

3537
ConcatenatedListView() {
3638
this.sourceLists = new ArrayList<>();
3739
}
3840

39-
ConcatenatedListView(Collection<? extends E> collection) {
41+
public ConcatenatedListView(Collection<? extends E> collection) {
4042
this();
4143
addAll(collection);
4244
}

runtime/src/main/java/dev/cel/runtime/BUILD.bazel

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,6 @@ java_library(
303303
deps = [
304304
":accumulated_unknowns",
305305
":base",
306-
":concatenated_list_view",
307306
":evaluation_exception",
308307
":evaluation_exception_builder",
309308
":evaluation_listener",
@@ -323,6 +322,7 @@ java_library(
323322
"//common:runtime_exception",
324323
"//common/annotations",
325324
"//common/ast",
325+
"//common/internal:concatenated_list_view",
326326
"//common/types",
327327
"//common/types:type_providers",
328328
"//common/values:cel_byte_string",
@@ -341,7 +341,6 @@ cel_android_library(
341341
deps = [
342342
":accumulated_unknowns_android",
343343
":base_android",
344-
":concatenated_list_view",
345344
":evaluation_exception",
346345
":evaluation_exception_builder",
347346
":evaluation_listener_android",
@@ -361,6 +360,7 @@ cel_android_library(
361360
"//common:runtime_exception",
362361
"//common/annotations",
363362
"//common/ast:ast_android",
363+
"//common/internal:concatenated_list_view",
364364
"//common/types:type_providers_android",
365365
"//common/types:types_android",
366366
"//common/values:cel_byte_string",
@@ -436,11 +436,11 @@ cel_android_library(
436436
tags = [
437437
],
438438
deps = [
439-
":concatenated_list_view",
440439
"//common:error_codes",
441440
"//common:options",
442441
"//common:runtime_exception",
443442
"//common/annotations",
443+
"//common/internal:concatenated_list_view",
444444
"//common/internal:converter",
445445
"//common/values:values_android",
446446
"@maven//:com_google_errorprone_error_prone_annotations",
@@ -459,11 +459,11 @@ java_library(
459459
tags = [
460460
],
461461
deps = [
462-
":concatenated_list_view",
463462
"//common:error_codes",
464463
"//common:options",
465464
"//common:runtime_exception",
466465
"//common/annotations",
466+
"//common/internal:concatenated_list_view",
467467
"//common/internal:converter",
468468
"//common/values",
469469
"@maven//:com_google_errorprone_error_prone_annotations",
@@ -1185,13 +1185,6 @@ cel_android_library(
11851185
],
11861186
)
11871187

1188-
java_library(
1189-
name = "concatenated_list_view",
1190-
srcs = ["ConcatenatedListView.java"],
1191-
# used_by_android
1192-
visibility = ["//visibility:private"],
1193-
)
1194-
11951188
java_library(
11961189
name = "accumulated_unknowns",
11971190
srcs = ["AccumulatedUnknowns.java"],
@@ -1209,5 +1202,5 @@ cel_android_library(
12091202
deps = [
12101203
":unknown_attributes_android",
12111204
"@maven//:com_google_errorprone_error_prone_annotations",
1212-
]
1205+
],
12131206
)

runtime/src/main/java/dev/cel/runtime/DefaultInterpreter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -937,14 +937,14 @@ private IntermediateResult maybeAdaptToListView(IntermediateResult accuValue) {
937937
return accuValue;
938938
}
939939

940-
ConcatenatedListView<Object> lv =
941-
new ConcatenatedListView<>((List<Object>) accuValue.value());
940+
dev.cel.common.internal.ConcatenatedListView<Object> lv =
941+
new dev.cel.common.internal.ConcatenatedListView<>((List<Object>) accuValue.value());
942942
return IntermediateResult.create(lv);
943943
}
944944

945945
@SuppressWarnings("unchecked") // All type-erased elements are object compatible
946946
private IntermediateResult maybeAdaptViewToList(IntermediateResult accuValue) {
947-
if ((accuValue.value() instanceof ConcatenatedListView)) {
947+
if ((accuValue.value() instanceof dev.cel.common.internal.ConcatenatedListView)) {
948948
// Materialize view back into a list to facilitate O(1) lookups.
949949
List<Object> copiedList = new ArrayList<>((List<Object>) accuValue.value());
950950

runtime/src/main/java/dev/cel/runtime/RuntimeHelpers.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public static boolean matches(String string, String regexp, CelOptions celOption
9696

9797
/** Concatenates two lists into a new list. */
9898
public static <E> List<E> concat(List<E> first, List<E> second) {
99-
if (first instanceof ConcatenatedListView) {
99+
if (first instanceof dev.cel.common.internal.ConcatenatedListView) {
100100
// Comprehensions use a more efficient list view for performing O(1) concatenation
101101
first.addAll(second);
102102
return first;

runtime/src/main/java/dev/cel/runtime/planner/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ java_library(
257257
deps = [
258258
":attribute",
259259
":cel_value_interpretable",
260+
"//common/internal:concatenated_list_view",
260261
"//common/values",
261262
"//common/values:cel_value",
262263
"//common/values:cel_value_provider",

runtime/src/main/java/dev/cel/runtime/planner/EvalFold.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import dev.cel.common.values.IntValue;
66
import dev.cel.common.values.ListValue;
77
import dev.cel.runtime.CelEvaluationException;
8-
import dev.cel.runtime.ConcatenatedListView;
8+
import dev.cel.common.internal.ConcatenatedListView;
99
import dev.cel.runtime.GlobalResolver;
1010
import java.util.Collection;
1111
import java.util.Iterator;

runtime/src/test/java/dev/cel/runtime/planner/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ java_library(
1717
"//:java_truth",
1818
"//bundle:cel",
1919
"//common:cel_ast",
20+
"//common:cel_descriptor_util",
2021
"//common:cel_descriptors",
2122
"//common:cel_exception",
2223
"//common:cel_source",

0 commit comments

Comments
 (0)