BUILD 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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_binary(
  6. name = "cpp_refactoring",
  7. srcs = ["main.cpp"],
  8. deps = [
  9. ":fn_inserter",
  10. ":for_range",
  11. ":matcher",
  12. ":var_decl",
  13. "@llvm-project//clang:tooling",
  14. ],
  15. )
  16. cc_library(
  17. name = "matcher",
  18. srcs = ["matcher.cpp"],
  19. hdrs = [
  20. "matcher.h",
  21. "matcher_manager.h",
  22. ],
  23. deps = [
  24. "@llvm-project//clang:ast_matchers",
  25. "@llvm-project//clang:basic",
  26. "@llvm-project//clang:lex",
  27. "@llvm-project//clang:tooling_core",
  28. ],
  29. )
  30. cc_library(
  31. name = "matcher_test_base",
  32. testonly = 1,
  33. hdrs = ["matcher_test_base.h"],
  34. deps = [
  35. ":matcher",
  36. "@com_google_googletest//:gtest",
  37. "@llvm-project//clang:ast_matchers",
  38. "@llvm-project//clang:tooling",
  39. "@llvm-project//clang:tooling_core",
  40. ],
  41. )
  42. # Individual matchers
  43. cc_library(
  44. name = "fn_inserter",
  45. srcs = ["fn_inserter.cpp"],
  46. hdrs = ["fn_inserter.h"],
  47. deps = [
  48. ":matcher",
  49. "@llvm-project//clang:ast_matchers",
  50. ],
  51. )
  52. cc_test(
  53. name = "fn_inserter_test",
  54. srcs = ["fn_inserter_test.cpp"],
  55. deps = [
  56. ":fn_inserter",
  57. ":matcher_test_base",
  58. "//common:gtest_main",
  59. "@llvm-project//clang:tooling",
  60. ],
  61. )
  62. cc_library(
  63. name = "for_range",
  64. srcs = ["for_range.cpp"],
  65. hdrs = ["for_range.h"],
  66. deps = [
  67. ":matcher",
  68. "@llvm-project//clang:ast_matchers",
  69. ],
  70. )
  71. cc_test(
  72. name = "for_range_test",
  73. srcs = ["for_range_test.cpp"],
  74. deps = [
  75. ":for_range",
  76. ":matcher_test_base",
  77. "//common:gtest_main",
  78. "@llvm-project//clang:tooling",
  79. ],
  80. )
  81. cc_library(
  82. name = "var_decl",
  83. srcs = ["var_decl.cpp"],
  84. hdrs = ["var_decl.h"],
  85. deps = [
  86. ":matcher",
  87. "@llvm-project//clang:ast_matchers",
  88. "@llvm-project//clang:type_nodes_gen",
  89. ],
  90. )
  91. cc_test(
  92. name = "var_decl_test",
  93. srcs = ["var_decl_test.cpp"],
  94. deps = [
  95. ":matcher_test_base",
  96. ":var_decl",
  97. "//common:gtest_main",
  98. "@llvm-project//clang:tooling",
  99. ],
  100. )