BUILD 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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 = "numeric_literal",
  31. srcs = ["numeric_literal.cpp"],
  32. hdrs = ["numeric_literal.h"],
  33. deps = [
  34. ":character_set",
  35. "//diagnostics:diagnostic_emitter",
  36. "@llvm-project//llvm:Support",
  37. ],
  38. )
  39. cc_test(
  40. name = "numeric_literal_test",
  41. srcs = ["numeric_literal_test.cpp"],
  42. deps = [
  43. ":numeric_literal",
  44. "//diagnostics:diagnostic_emitter",
  45. "@llvm-project//llvm:Support",
  46. "@llvm-project//llvm:gmock",
  47. "@llvm-project//llvm:gtest",
  48. "@llvm-project//llvm:gtest_main",
  49. ],
  50. )
  51. cc_library(
  52. name = "string_literal",
  53. srcs = ["string_literal.cpp"],
  54. hdrs = ["string_literal.h"],
  55. deps = [
  56. ":character_set",
  57. "//diagnostics:diagnostic_emitter",
  58. "@llvm-project//llvm:Support",
  59. ],
  60. )
  61. cc_test(
  62. name = "string_literal_test",
  63. srcs = ["string_literal_test.cpp"],
  64. deps = [
  65. ":string_literal",
  66. "//diagnostics:diagnostic_emitter",
  67. "@llvm-project//llvm:Support",
  68. "@llvm-project//llvm:gmock",
  69. "@llvm-project//llvm:gtest",
  70. "@llvm-project//llvm:gtest_main",
  71. ],
  72. )
  73. cc_library(
  74. name = "tokenized_buffer",
  75. srcs = ["tokenized_buffer.cpp"],
  76. hdrs = ["tokenized_buffer.h"],
  77. deps = [
  78. ":character_set",
  79. ":numeric_literal",
  80. ":string_literal",
  81. ":token_kind",
  82. "//diagnostics:diagnostic_emitter",
  83. "//source:source_buffer",
  84. "@llvm-project//llvm:Support",
  85. ],
  86. )
  87. cc_library(
  88. name = "tokenized_buffer_test_helpers",
  89. testonly = 1,
  90. hdrs = ["tokenized_buffer_test_helpers.h"],
  91. deps = [
  92. ":tokenized_buffer",
  93. "@llvm-project//llvm:Support",
  94. "@llvm-project//llvm:gmock",
  95. ],
  96. )
  97. cc_test(
  98. name = "tokenized_buffer_test",
  99. srcs = ["tokenized_buffer_test.cpp"],
  100. deps = [
  101. ":tokenized_buffer",
  102. ":tokenized_buffer_test_helpers",
  103. "//diagnostics:diagnostic_emitter",
  104. "@llvm-project//llvm:Support",
  105. "@llvm-project//llvm:gmock",
  106. "@llvm-project//llvm:gtest",
  107. "@llvm-project//llvm:gtest_main",
  108. ],
  109. )
  110. cc_fuzz_test(
  111. name = "tokenized_buffer_fuzzer",
  112. srcs = ["tokenized_buffer_fuzzer.cpp"],
  113. corpus = glob(["fuzzer_corpus/*"]),
  114. deps = [
  115. ":tokenized_buffer",
  116. "//diagnostics:diagnostic_emitter",
  117. "@llvm-project//llvm:Support",
  118. ],
  119. )