From b87c5998b190386c549670e835697fbbf59cf0aa Mon Sep 17 00:00:00 2001 From: mappu Date: Sat, 17 Aug 2024 11:29:31 +1200 Subject: [PATCH] genbindings: bind QVector as []T, like QList --- cmd/genbindings/emitcabi.go | 2 +- cmd/genbindings/intermediate.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/genbindings/emitcabi.go b/cmd/genbindings/emitcabi.go index ee352498..56f0b902 100644 --- a/cmd/genbindings/emitcabi.go +++ b/cmd/genbindings/emitcabi.go @@ -252,7 +252,7 @@ func getReferencedTypes(src *CppParsedHeader) []string { // Convert to sorted list foundTypesList := make([]string, 0, len(foundTypes)) for ft := range foundTypes { - if strings.HasPrefix(ft, "QList<") { + if strings.HasPrefix(ft, "QList<") || strings.HasPrefix(ft, "QVector<") { continue } if ft == "QRgb" { diff --git a/cmd/genbindings/intermediate.go b/cmd/genbindings/intermediate.go index 9413034b..67032f8c 100644 --- a/cmd/genbindings/intermediate.go +++ b/cmd/genbindings/intermediate.go @@ -22,6 +22,10 @@ func (p CppParameter) QListOf() (CppParameter, bool) { return parseSingleTypeString(p.ParameterType[6 : len(p.ParameterType)-1]), true } + if strings.HasPrefix(p.ParameterType, "QVector<") && strings.HasSuffix(p.ParameterType, `>`) { + return parseSingleTypeString(p.ParameterType[8 : len(p.ParameterType)-1]), true + } + return CppParameter{}, false }