BUILD 2.0 KB

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