diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-01 09:56:56 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-01 09:56:56 -0600 |
commit | 437bf733021a6aa3b90042a12a35b887b8ed45a2 (patch) | |
tree | f9215e2d1453dde5691f27069104ccd97eb73da5 /pkg/btrfs/Makefile | |
parent | b9fa008b4911a534ff49d191539b57d60cc04663 (diff) |
lib: eagerly unmarshal items
Diffstat (limited to 'pkg/btrfs/Makefile')
-rw-r--r-- | pkg/btrfs/Makefile | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pkg/btrfs/Makefile b/pkg/btrfs/Makefile index fc6e9fd..b29e033 100644 --- a/pkg/btrfs/Makefile +++ b/pkg/btrfs/Makefile @@ -9,10 +9,17 @@ files += btrfsitem/items.txt btrfsitem/items_gen.go: btrfsitem/items.txt $(MAKEFILE_LIST) { \ echo 'package $(@D)'; \ - echo 'import "lukeshu.com/btrfs-tools/pkg/btrfs/internal"'; \ + echo 'import ('; \ + echo '"reflect"'; \ + echo; \ + echo '"lukeshu.com/btrfs-tools/pkg/btrfs/internal"'; \ + echo ')'; \ echo 'const ('; \ sed -E 's,(.*)=(.*) (.*),\1_KEY=internal.\1_KEY,' $<; \ echo ')'; \ + echo 'var keytype2gotype = map[Type]reflect.Type{'; \ + sed -E 's|(.*)=(.*) (.*)|\1_KEY: reflect.TypeOf(\3{}),|' $<; \ + echo '}'; \ sed -E 's,(.*)=(.*) (.*),\3,' $< | LC_COLLATE=C sort -u | sed 's,.*,func (&) isItem() {},'; \ } | gofmt >$@ files += btrfsitem/items_gen.go |