BUILD 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. package(default_visibility = ["//visibility:public"])
  5. cc_library(
  6. name = "semantics_builtin_kind",
  7. srcs = ["semantics_builtin_kind.cpp"],
  8. hdrs = ["semantics_builtin_kind.h"],
  9. textual_hdrs = ["semantics_builtin_kind.def"],
  10. deps = ["//common:enum_base"],
  11. )
  12. cc_library(
  13. name = "semantics_node_kind",
  14. srcs = ["semantics_node_kind.cpp"],
  15. hdrs = ["semantics_node_kind.h"],
  16. textual_hdrs = ["semantics_node_kind.def"],
  17. deps = ["//common:enum_base"],
  18. )
  19. cc_library(
  20. name = "semantics_node",
  21. srcs = ["semantics_node.cpp"],
  22. hdrs = ["semantics_node.h"],
  23. deps = [
  24. ":semantics_builtin_kind",
  25. ":semantics_node_kind",
  26. "//common:check",
  27. "//common:ostream",
  28. "//toolchain/parser:parse_tree",
  29. "@llvm-project//llvm:Support",
  30. ],
  31. )
  32. cc_library(
  33. name = "semantics_node_block_stack",
  34. srcs = ["semantics_node_block_stack.cpp"],
  35. hdrs = ["semantics_node_block_stack.h"],
  36. deps = [
  37. ":semantics_node",
  38. "//common:check",
  39. "//common:ostream",
  40. "//common:vlog",
  41. "@llvm-project//llvm:Support",
  42. ],
  43. )
  44. cc_library(
  45. name = "semantics_node_stack",
  46. srcs = ["semantics_node_stack.cpp"],
  47. hdrs = ["semantics_node_stack.h"],
  48. deps = [
  49. ":semantics_node",
  50. "//common:check",
  51. "//common:ostream",
  52. "//common:vlog",
  53. "//toolchain/parser:parse_node_kind",
  54. "//toolchain/parser:parse_tree",
  55. "@llvm-project//llvm:Support",
  56. ],
  57. )
  58. cc_library(
  59. name = "semantics_ir",
  60. srcs = [
  61. "semantics_ir.cpp",
  62. "semantics_parse_tree_handler.cpp",
  63. ],
  64. hdrs = [
  65. "semantics_ir.h",
  66. "semantics_parse_tree_handler.h",
  67. ],
  68. deps = [
  69. ":semantics_builtin_kind",
  70. ":semantics_node",
  71. ":semantics_node_block_stack",
  72. ":semantics_node_stack",
  73. "//common:check",
  74. "//common:ostream",
  75. "//common:vlog",
  76. "//toolchain/diagnostics:diagnostic_kind",
  77. "//toolchain/lexer:numeric_literal",
  78. "//toolchain/lexer:token_kind",
  79. "//toolchain/lexer:tokenized_buffer",
  80. "//toolchain/parser:parse_node_kind",
  81. "//toolchain/parser:parse_tree",
  82. "//toolchain/parser:parse_tree_node_location_translator",
  83. "@llvm-project//llvm:Support",
  84. ],
  85. )
  86. cc_test(
  87. name = "semantics_ir_test",
  88. size = "small",
  89. srcs = ["semantics_ir_test.cpp"],
  90. deps = [
  91. ":semantics_ir",
  92. "//common:gtest_main",
  93. "//toolchain/common:yaml_test_helpers",
  94. "//toolchain/diagnostics:diagnostic_emitter",
  95. "//toolchain/lexer:tokenized_buffer",
  96. "@com_google_googletest//:gtest",
  97. "@llvm-project//llvm:Support",
  98. ],
  99. )