Browse Source

Fix EncodeT assignment in make_virtuals.py

• Adding EncodeT type casting allows generated code to support enum classes.
Thaddeus Crews 1 year ago
parent
commit
c9a4086da6
1 changed files with 3 additions and 1 deletions
  1. 3 1
      core/object/make_virtuals.py

+ 3 - 1
core/object/make_virtuals.py

@@ -121,7 +121,9 @@ def generate_version(argcount, const=False, returns=False):
         callargtext += f"m_type{i + 1} arg{i + 1}"
         callargtext += f"m_type{i + 1} arg{i + 1}"
         callsiargs += f"Variant(arg{i + 1})"
         callsiargs += f"Variant(arg{i + 1})"
         callsiargptrs += f"&vargs[{i}]"
         callsiargptrs += f"&vargs[{i}]"
-        callptrargs += f"PtrToArg<m_type{i + 1}>::EncodeT argval{i + 1} = arg{i + 1};\\\n"
+        callptrargs += (
+            f"PtrToArg<m_type{i + 1}>::EncodeT argval{i + 1} = (PtrToArg<m_type{i + 1}>::EncodeT)arg{i + 1};\\\n"
+        )
         callptrargsptr += f"&argval{i + 1}"
         callptrargsptr += f"&argval{i + 1}"
         if method_info:
         if method_info:
             method_info += "\\\n\t\t"
             method_info += "\\\n\t\t"