BUILD 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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_binary", "cc_library", "cc_test")
  5. package(default_visibility = ["//visibility:public"])
  6. cc_binary(
  7. name = "cpp_refactoring",
  8. srcs = ["main.cpp"],
  9. deps = [
  10. ":fn_inserter",
  11. ":var_decl",
  12. "@llvm-project//clang:tooling",
  13. ],
  14. )
  15. cc_library(
  16. name = "matcher",
  17. srcs = ["matcher.cpp"],
  18. hdrs = ["matcher.h"],
  19. deps = [
  20. "@llvm-project//clang:ast_matchers",
  21. "@llvm-project//clang:tooling_core",
  22. ],
  23. )
  24. cc_library(
  25. name = "matcher_test_base",
  26. testonly = 1,
  27. srcs = ["matcher_test_base.cpp"],
  28. hdrs = ["matcher_test_base.h"],
  29. deps = [
  30. "@llvm-project//clang:ast_matchers",
  31. "@llvm-project//clang:tooling",
  32. "@llvm-project//llvm:gmock",
  33. "@llvm-project//llvm:gtest",
  34. ],
  35. )
  36. # Individual matchers
  37. cc_library(
  38. name = "fn_inserter",
  39. srcs = ["fn_inserter.cpp"],
  40. hdrs = ["fn_inserter.h"],
  41. deps = [":matcher"],
  42. )
  43. cc_test(
  44. name = "fn_inserter_test",
  45. srcs = ["fn_inserter_test.cpp"],
  46. deps = [
  47. ":fn_inserter",
  48. ":matcher_test_base",
  49. "@llvm-project//clang:tooling",
  50. "@llvm-project//llvm:gtest_main",
  51. ],
  52. )
  53. cc_library(
  54. name = "var_decl",
  55. srcs = ["var_decl.cpp"],
  56. hdrs = ["var_decl.h"],
  57. deps = [":matcher"],
  58. )
  59. cc_test(
  60. name = "var_decl_test",
  61. srcs = ["var_decl_test.cpp"],
  62. deps = [
  63. ":matcher_test_base",
  64. ":var_decl",
  65. "@llvm-project//clang:tooling",
  66. "@llvm-project//llvm:gtest_main",
  67. ],
  68. )