Specifically handle each "meta" value, so new ones don't break code generation

(cherry picked from commit a9773579cb)
This commit is contained in:
David Snopek
2025-10-17 15:07:22 -05:00
parent 006888ca7a
commit 9e8b5827b9

View File

@@ -2745,12 +2745,12 @@ def correct_typed_dictionary(type_name):
def correct_type(type_name, meta=None, use_alias=True): def correct_type(type_name, meta=None, use_alias=True):
type_conversion = {"float": "double", "int": "int64_t", "Nil": "Variant"} type_conversion = {"float": "double", "int": "int64_t", "Nil": "Variant"}
if meta is not None: if meta is not None:
if "int" in meta: if meta in ["int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64"]:
return f"{meta}_t" return f"{meta}_t"
elif "char" in meta: elif meta in ["float", "double"]:
return f"{meta}_t"
else:
return meta return meta
elif meta in ["char16", "char32"]:
return f"{meta}_t"
if type_name in type_conversion: if type_name in type_conversion:
return type_conversion[type_name] return type_conversion[type_name]
if type_name.startswith("typedarray::"): if type_name.startswith("typedarray::"):