From 449e81e7e61df05d932ef46d612e962a475980f6 Mon Sep 17 00:00:00 2001 From: Sebastien Binet Date: Tue, 1 Feb 2022 17:12:00 +0100 Subject: [PATCH] groot/rdict: add initial support for enums in genGoType --- groot/rdict/gen_type.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/groot/rdict/gen_type.go b/groot/rdict/gen_type.go index 16bca151c..b9aa38770 100644 --- a/groot/rdict/gen_type.go +++ b/groot/rdict/gen_type.go @@ -266,6 +266,28 @@ func (g *genGoType) typename(se rbytes.StreamerElement) string { return "root.Double32" } t, ok := rmeta.CxxBuiltins[tname] + if !ok { + enum := se.Type().String() + switch se.Type() { + case rmeta.Uint8: + enum = "uint8_t" + case rmeta.Uint16: + enum = "uint16_t" + case rmeta.Uint32: + enum = "uint32_t" + case rmeta.Uint64: + enum = "uint64_t" + case rmeta.Int8: + enum = "int8_t" + case rmeta.Int16: + enum = "int16_t" + case rmeta.Int32: + enum = "int32_t" + case rmeta.Int64: + enum = "int64_t" + } + t, ok = rmeta.CxxBuiltins[enum] + } if !ok { panic(fmt.Errorf("gen-type: unknown C++ builtin %q", tname)) }