From 3733b9b893ec33877b1b46c56fe07c3856942d3f Mon Sep 17 00:00:00 2001 From: Rahat Mahmood Date: Mon, 9 Sep 2019 13:35:30 -0700 Subject: go_marshal: Implement automatic generation of ABI marshalling code. This CL implements go_marshal, a code generation utility for automatically serializing and deserializing ABI structs. The go_marshal tool automatically generates implementations of the new marshal interface. Unlike binary.Marshal/Unmarshal, the generated interface implementations use no runtime reflection, and translates to a single memcpy for most structs. See go_marshal/README.md for details. PiperOrigin-RevId: 268065475 --- tools/go_marshal/BUILD | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tools/go_marshal/BUILD (limited to 'tools/go_marshal/BUILD') diff --git a/tools/go_marshal/BUILD b/tools/go_marshal/BUILD new file mode 100644 index 000000000..c862b277c --- /dev/null +++ b/tools/go_marshal/BUILD @@ -0,0 +1,14 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_binary") + +package(licenses = ["notice"]) + +go_binary( + name = "go_marshal", + srcs = ["main.go"], + visibility = [ + "//:sandbox", + ], + deps = [ + "//tools/go_marshal/gomarshal", + ], +) -- cgit v1.2.3