BUILD 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  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. load("//bazel/fuzzing:rules.bzl", "cc_fuzz_test")
  6. package(default_visibility = ["//visibility:public"])
  7. cc_library(
  8. name = "token_kind",
  9. srcs = ["token_kind.cpp"],
  10. hdrs = ["token_kind.h"],
  11. textual_hdrs = ["token_registry.def"],
  12. deps = ["@llvm-project//llvm:Support"],
  13. )
  14. cc_test(
  15. name = "token_kind_test",
  16. srcs = ["token_kind_test.cpp"],
  17. deps = [
  18. ":token_kind",
  19. "@llvm-project//llvm:Support",
  20. "@llvm-project//llvm:gtest",
  21. "@llvm-project//llvm:gtest_main",
  22. ],
  23. )
  24. cc_library(
  25. name = "character_set",
  26. hdrs = ["character_set.h"],
  27. deps = ["@llvm-project//llvm:Support"],
  28. )
  29. cc_library(
  30. name = "test_helpers",
  31. testonly = 1,
  32. hdrs = ["test_helpers.h"],
  33. deps = [
  34. "//toolchain/diagnostics:diagnostic_emitter",
  35. "@llvm-project//llvm:Support",
  36. ],
  37. )
  38. cc_library(
  39. name = "numeric_literal",
  40. srcs = ["numeric_literal.cpp"],
  41. hdrs = ["numeric_literal.h"],
  42. deps = [
  43. ":character_set",
  44. "//toolchain/diagnostics:diagnostic_emitter",
  45. "@llvm-project//llvm:Support",
  46. ],
  47. )
  48. cc_test(
  49. name = "numeric_literal_test",
  50. srcs = ["numeric_literal_test.cpp"],
  51. deps = [
  52. ":numeric_literal",
  53. ":test_helpers",
  54. "//toolchain/diagnostics:diagnostic_emitter",
  55. "@llvm-project//llvm:Support",
  56. "@llvm-project//llvm:gmock",
  57. "@llvm-project//llvm:gtest",
  58. "@llvm-project//llvm:gtest_main",
  59. ],
  60. )
  61. cc_fuzz_test(
  62. name = "numeric_literal_fuzzer",
  63. srcs = ["numeric_literal_fuzzer.cpp"],
  64. corpus = glob(["fuzzer_corpus/numeric_literal/*"]),
  65. deps = [
  66. ":numeric_literal",
  67. "//toolchain/diagnostics:diagnostic_emitter",
  68. "//toolchain/diagnostics:null_diagnostics",
  69. "@llvm-project//llvm:Support",
  70. ],
  71. )
  72. cc_library(
  73. name = "string_literal",
  74. srcs = ["string_literal.cpp"],
  75. hdrs = ["string_literal.h"],
  76. deps = [
  77. ":character_set",
  78. "//toolchain/diagnostics:diagnostic_emitter",
  79. "@llvm-project//llvm:Support",
  80. ],
  81. )
  82. cc_test(
  83. name = "string_literal_test",
  84. srcs = ["string_literal_test.cpp"],
  85. deps = [
  86. ":string_literal",
  87. ":test_helpers",
  88. "//toolchain/diagnostics:diagnostic_emitter",
  89. "@llvm-project//llvm:Support",
  90. "@llvm-project//llvm:gmock",
  91. "@llvm-project//llvm:gtest",
  92. "@llvm-project//llvm:gtest_main",
  93. ],
  94. )
  95. cc_fuzz_test(
  96. name = "string_literal_fuzzer",
  97. srcs = ["string_literal_fuzzer.cpp"],
  98. corpus = glob(["fuzzer_corpus/string_literal/*"]),
  99. deps = [
  100. ":string_literal",
  101. "//toolchain/diagnostics:diagnostic_emitter",
  102. "//toolchain/diagnostics:null_diagnostics",
  103. "@llvm-project//llvm:Support",
  104. ],
  105. )
  106. cc_library(
  107. name = "tokenized_buffer",
  108. srcs = ["tokenized_buffer.cpp"],
  109. hdrs = ["tokenized_buffer.h"],
  110. deps = [
  111. ":character_set",
  112. ":numeric_literal",
  113. ":string_literal",
  114. ":token_kind",
  115. "//toolchain/diagnostics:diagnostic_emitter",
  116. "//toolchain/source:source_buffer",
  117. "@llvm-project//llvm:Support",
  118. ],
  119. )
  120. cc_library(
  121. name = "tokenized_buffer_test_helpers",
  122. testonly = 1,
  123. hdrs = ["tokenized_buffer_test_helpers.h"],
  124. deps = [
  125. ":tokenized_buffer",
  126. "@llvm-project//llvm:Support",
  127. "@llvm-project//llvm:gmock",
  128. ],
  129. )
  130. cc_test(
  131. name = "tokenized_buffer_test",
  132. srcs = ["tokenized_buffer_test.cpp"],
  133. deps = [
  134. ":tokenized_buffer",
  135. ":tokenized_buffer_test_helpers",
  136. "//toolchain/common:yaml_test_helpers",
  137. "//toolchain/diagnostics:diagnostic_emitter",
  138. "//toolchain/diagnostics:mocks",
  139. "@llvm-project//llvm:Support",
  140. "@llvm-project//llvm:gmock",
  141. "@llvm-project//llvm:gtest",
  142. "@llvm-project//llvm:gtest_main",
  143. ],
  144. )
  145. cc_fuzz_test(
  146. name = "tokenized_buffer_fuzzer",
  147. srcs = ["tokenized_buffer_fuzzer.cpp"],
  148. corpus = glob(["fuzzer_corpus/tokenized_buffer/*"]),
  149. deps = [
  150. ":tokenized_buffer",
  151. "//toolchain/diagnostics:diagnostic_emitter",
  152. "//toolchain/diagnostics:null_diagnostics",
  153. "@llvm-project//llvm:Support",
  154. ],
  155. )