BUILD 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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. load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
  5. package(default_visibility = ["//explorer:__subpackages__"])
  6. cc_library(
  7. name = "ast",
  8. srcs = [
  9. "ast_node.cpp",
  10. "ast_rtti.cpp",
  11. "bindings.cpp",
  12. "clone_context.cpp",
  13. "declaration.cpp",
  14. "element.cpp",
  15. "expression.cpp",
  16. "impl_binding.cpp",
  17. "pattern.cpp",
  18. "statement.cpp",
  19. "value.cpp",
  20. ],
  21. hdrs = [
  22. "address.h",
  23. "ast.h",
  24. "ast_kinds.h",
  25. "ast_node.h",
  26. "ast_rtti.h",
  27. "bindings.h",
  28. "clone_context.h",
  29. "declaration.h",
  30. "element.h",
  31. "element_path.h",
  32. "expression.h",
  33. "impl_binding.h",
  34. "pattern.h",
  35. "return_term.h",
  36. "statement.h",
  37. "value.h",
  38. "value_node.h",
  39. "value_transform.h",
  40. ],
  41. textual_hdrs = [
  42. "value_kinds.def",
  43. ],
  44. deps = [
  45. ":expression_category",
  46. ":library_name",
  47. ":paren_contents",
  48. "//common:check",
  49. "//common:enum_base",
  50. "//common:error",
  51. "//common:indirect_value",
  52. "//common:ostream",
  53. "//explorer/base:arena",
  54. "//explorer/base:decompose",
  55. "//explorer/base:error_builders",
  56. "//explorer/base:nonnull",
  57. "//explorer/base:print_as_id",
  58. "//explorer/base:source_location",
  59. "@llvm-project//llvm:Support",
  60. ],
  61. )
  62. cc_library(
  63. name = "ast_test_matchers",
  64. testonly = 1,
  65. srcs = [
  66. "ast_test_matchers_internal.cpp",
  67. "ast_test_matchers_internal.h",
  68. ],
  69. hdrs = ["ast_test_matchers.h"],
  70. deps = [
  71. ":ast",
  72. "@com_google_googletest//:gtest",
  73. "@llvm-project//llvm:Support",
  74. ],
  75. )
  76. cc_test(
  77. name = "ast_test_matchers_test",
  78. size = "small",
  79. srcs = ["ast_test_matchers_test.cpp"],
  80. deps = [
  81. ":ast",
  82. ":ast_test_matchers",
  83. "//explorer/base:arena",
  84. "//testing/base:gtest_main",
  85. "@com_google_googletest//:gtest",
  86. ],
  87. )
  88. cc_test(
  89. name = "expression_test",
  90. size = "small",
  91. srcs = ["expression_test.cpp"],
  92. deps = [
  93. ":ast",
  94. ":paren_contents",
  95. "//explorer/base:arena",
  96. "//testing/base:gtest_main",
  97. "@com_google_googletest//:gtest",
  98. "@llvm-project//llvm:Support",
  99. ],
  100. )
  101. cc_library(
  102. name = "library_name",
  103. hdrs = ["library_name.h"],
  104. )
  105. cc_library(
  106. name = "paren_contents",
  107. hdrs = ["paren_contents.h"],
  108. deps = [
  109. "//explorer/base:error_builders",
  110. "//explorer/base:source_location",
  111. ],
  112. )
  113. cc_test(
  114. name = "element_test",
  115. size = "small",
  116. srcs = ["element_test.cpp"],
  117. deps = [
  118. ":ast",
  119. ":paren_contents",
  120. "//explorer/base:arena",
  121. "//testing/base:gtest_main",
  122. "@com_google_googletest//:gtest",
  123. "@llvm-project//llvm:Support",
  124. ],
  125. )
  126. cc_test(
  127. name = "pattern_test",
  128. size = "small",
  129. srcs = ["pattern_test.cpp"],
  130. deps = [
  131. ":ast",
  132. ":paren_contents",
  133. "//explorer/base:arena",
  134. "//testing/base:gtest_main",
  135. "@com_google_googletest//:gtest",
  136. "@llvm-project//llvm:Support",
  137. ],
  138. )
  139. cc_library(
  140. name = "static_scope",
  141. srcs = ["static_scope.cpp"],
  142. hdrs = ["static_scope.h"],
  143. deps = [
  144. ":ast",
  145. "//common:check",
  146. "//common:error",
  147. "//common:ostream",
  148. "//explorer/base:error_builders",
  149. "//explorer/base:nonnull",
  150. "//explorer/base:print_as_id",
  151. "//explorer/base:source_location",
  152. "//explorer/base:trace_stream",
  153. "@llvm-project//llvm:Support",
  154. ],
  155. )
  156. cc_library(
  157. name = "expression_category",
  158. hdrs = ["expression_category.h"],
  159. deps = ["@llvm-project//llvm:Support"],
  160. )