Skip to content

Commit f9d7926

Browse files
richmckeevercopybara-github
authored andcommitted
Move NoteIfConstExpr + helpers to separate class and get rid of dynamic casts.
PiperOrigin-RevId: 762037459
1 parent 11872d6 commit f9d7926

File tree

5 files changed

+713
-459
lines changed

5 files changed

+713
-459
lines changed

xls/dslx/type_system_v2/BUILD

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,46 @@ package(
1818
licenses = ["notice"], # Apache 2.0
1919
)
2020

21+
cc_library(
22+
name = "constant_collector",
23+
srcs = ["constant_collector.cc"],
24+
hdrs = ["constant_collector.h"],
25+
deps = [
26+
":evaluator",
27+
":import_utils",
28+
":inference_table",
29+
":inference_table_converter",
30+
":parametric_struct_instantiator",
31+
":type_annotation_utils",
32+
":type_system_tracer",
33+
"//xls/common:casts",
34+
"//xls/common/status:ret_check",
35+
"//xls/common/status:status_macros",
36+
"//xls/dslx:constexpr_evaluator",
37+
"//xls/dslx:errors",
38+
"//xls/dslx:import_data",
39+
"//xls/dslx:interp_value",
40+
"//xls/dslx:warning_collector",
41+
"//xls/dslx/frontend:ast",
42+
"//xls/dslx/frontend:ast_cloner",
43+
"//xls/dslx/frontend:ast_node",
44+
"//xls/dslx/frontend:ast_node_visitor_with_default",
45+
"//xls/dslx/frontend:ast_utils",
46+
"//xls/dslx/frontend:pos",
47+
"//xls/dslx/type_system:deduce_utils",
48+
"//xls/dslx/type_system:parametric_env",
49+
"//xls/dslx/type_system:type",
50+
"//xls/dslx/type_system:type_info",
51+
"//xls/dslx/type_system:type_zero_value",
52+
"@com_google_absl//absl/log",
53+
"@com_google_absl//absl/log:check",
54+
"@com_google_absl//absl/status",
55+
"@com_google_absl//absl/status:statusor",
56+
"@com_google_absl//absl/strings",
57+
"@com_google_absl//absl/types:span",
58+
],
59+
)
60+
2161
cc_library(
2262
name = "inference_table",
2363
srcs = ["inference_table.cc"],
@@ -56,6 +96,7 @@ cc_library(
5696
deps = [
5797
":inference_table",
5898
"//xls/dslx/frontend:ast",
99+
"//xls/dslx/type_system:parametric_env",
59100
"//xls/dslx/type_system:type_info",
60101
"@com_google_absl//absl/status",
61102
"@com_google_absl//absl/status:statusor",
@@ -67,6 +108,7 @@ cc_library(
67108
srcs = ["inference_table_converter_impl.cc"],
68109
hdrs = ["inference_table_converter_impl.h"],
69110
deps = [
111+
":constant_collector",
70112
":evaluator",
71113
":fast_concretizer",
72114
":import_utils",
@@ -82,7 +124,6 @@ cc_library(
82124
":unify_type_annotations",
83125
":validate_concrete_type",
84126
"//xls/common:casts",
85-
"//xls/common/status:ret_check",
86127
"//xls/common/status:status_macros",
87128
"//xls/dslx:constexpr_evaluator",
88129
"//xls/dslx:errors",
@@ -97,11 +138,9 @@ cc_library(
97138
"//xls/dslx/frontend:builtin_stubs_utils",
98139
"//xls/dslx/frontend:module",
99140
"//xls/dslx/frontend:pos",
100-
"//xls/dslx/type_system:deduce_utils",
101141
"//xls/dslx/type_system:parametric_env",
102142
"//xls/dslx/type_system:type",
103143
"//xls/dslx/type_system:type_info",
104-
"//xls/dslx/type_system:type_zero_value",
105144
"@com_google_absl//absl/algorithm:container",
106145
"@com_google_absl//absl/container:flat_hash_map",
107146
"@com_google_absl//absl/container:flat_hash_set",

0 commit comments

Comments
 (0)