diff options
Diffstat (limited to 'pkg/state/BUILD')
-rw-r--r-- | pkg/state/BUILD | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/pkg/state/BUILD b/pkg/state/BUILD new file mode 100644 index 000000000..089b3bbef --- /dev/null +++ b/pkg/state/BUILD @@ -0,0 +1,100 @@ +load("//tools:defs.bzl", "go_library") +load("//tools/go_generics:defs.bzl", "go_template_instance") + +package(licenses = ["notice"]) + +go_template_instance( + name = "pending_list", + out = "pending_list.go", + package = "state", + prefix = "pending", + template = "//pkg/ilist:generic_list", + types = { + "Element": "*objectEncodeState", + "ElementMapper": "pendingMapper", + "Linker": "*pendingEntry", + }, +) + +go_template_instance( + name = "deferred_list", + out = "deferred_list.go", + package = "state", + prefix = "deferred", + template = "//pkg/ilist:generic_list", + types = { + "Element": "*objectEncodeState", + "ElementMapper": "deferredMapper", + "Linker": "*deferredEntry", + }, +) + +go_template_instance( + name = "complete_list", + out = "complete_list.go", + package = "state", + prefix = "complete", + template = "//pkg/ilist:generic_list", + types = { + "Element": "*objectDecodeState", + "Linker": "*objectDecodeState", + }, +) + +go_template_instance( + name = "addr_range", + out = "addr_range.go", + package = "state", + prefix = "addr", + template = "//pkg/segment:generic_range", + types = { + "T": "uintptr", + }, +) + +go_template_instance( + name = "addr_set", + out = "addr_set.go", + consts = { + "minDegree": "10", + }, + imports = { + "reflect": "reflect", + }, + package = "state", + prefix = "addr", + template = "//pkg/segment:generic_set", + types = { + "Key": "uintptr", + "Range": "addrRange", + "Value": "*objectEncodeState", + "Functions": "addrSetFunctions", + }, +) + +go_library( + name = "state", + srcs = [ + "addr_range.go", + "addr_set.go", + "complete_list.go", + "decode.go", + "decode_unsafe.go", + "deferred_list.go", + "encode.go", + "encode_unsafe.go", + "pending_list.go", + "state.go", + "state_norace.go", + "state_race.go", + "stats.go", + "types.go", + ], + marshal = False, + stateify = False, + visibility = ["//:sandbox"], + deps = [ + "//pkg/log", + "//pkg/state/wire", + ], +) |