Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.0.1-2020.1.5 / structlayout / layout.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/structlayout/layout.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/structlayout/layout.go
new file mode 100644 (file)
index 0000000..04652f8
--- /dev/null
@@ -0,0 +1,22 @@
+package structlayout
+
+import "fmt"
+
+type Field struct {
+       Name      string `json:"name"`
+       Type      string `json:"type"`
+       Start     int64  `json:"start"`
+       End       int64  `json:"end"`
+       Size      int64  `json:"size"`
+       Align     int64  `json:"align"`
+       IsPadding bool   `json:"is_padding"`
+}
+
+func (f Field) String() string {
+       if f.IsPadding {
+               return fmt.Sprintf("%s: %d-%d (size %d, align %d)",
+                       "padding", f.Start, f.End, f.Size, f.Align)
+       }
+       return fmt.Sprintf("%s %s: %d-%d (size %d, align %d)",
+               f.Name, f.Type, f.Start, f.End, f.Size, f.Align)
+}