|
@@ -5,19 +5,45 @@
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
|
|
|
|
cc_library(
|
|
cc_library(
|
|
|
- name = "semantics",
|
|
|
|
|
- srcs = ["semantics.cpp"],
|
|
|
|
|
- hdrs = ["semantics.h"],
|
|
|
|
|
|
|
+ name = "function",
|
|
|
|
|
+ hdrs = ["function.h"],
|
|
|
deps = ["//toolchain/parser:parse_tree"],
|
|
deps = ["//toolchain/parser:parse_tree"],
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+cc_library(
|
|
|
|
|
+ name = "semantics_ir",
|
|
|
|
|
+ srcs = ["semantics_ir.cpp"],
|
|
|
|
|
+ hdrs = ["semantics_ir.h"],
|
|
|
|
|
+ deps = [
|
|
|
|
|
+ ":function",
|
|
|
|
|
+ "//common:check",
|
|
|
|
|
+ "//toolchain/lexer:tokenized_buffer",
|
|
|
|
|
+ "//toolchain/parser:parse_tree",
|
|
|
|
|
+ "@llvm-project//llvm:Support",
|
|
|
|
|
+ ],
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+cc_library(
|
|
|
|
|
+ name = "semantics_ir_factory",
|
|
|
|
|
+ srcs = ["semantics_ir_factory.cpp"],
|
|
|
|
|
+ hdrs = ["semantics_ir_factory.h"],
|
|
|
|
|
+ deps = [
|
|
|
|
|
+ ":semantics_ir",
|
|
|
|
|
+ "//common:check",
|
|
|
|
|
+ "//toolchain/lexer:tokenized_buffer",
|
|
|
|
|
+ "//toolchain/parser:parse_node_kind",
|
|
|
|
|
+ "//toolchain/parser:parse_tree",
|
|
|
|
|
+ "@llvm-project//llvm:Support",
|
|
|
|
|
+ ],
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
cc_test(
|
|
cc_test(
|
|
|
- name = "semantics_test",
|
|
|
|
|
|
|
+ name = "semantics_ir_factory_test",
|
|
|
size = "small",
|
|
size = "small",
|
|
|
- srcs = ["semantics_test.cpp"],
|
|
|
|
|
|
|
+ srcs = ["semantics_ir_factory_test.cpp"],
|
|
|
deps = [
|
|
deps = [
|
|
|
- ":semantics",
|
|
|
|
|
- "//toolchain/diagnostics:diagnostic_emitter",
|
|
|
|
|
|
|
+ ":semantics_ir_factory",
|
|
|
|
|
+ "//toolchain/diagnostics:mocks",
|
|
|
"//toolchain/lexer:tokenized_buffer",
|
|
"//toolchain/lexer:tokenized_buffer",
|
|
|
"//toolchain/parser:parse_tree",
|
|
"//toolchain/parser:parse_tree",
|
|
|
"//toolchain/source:source_buffer",
|
|
"//toolchain/source:source_buffer",
|