From 5990126dad4c5f6e3014db34874516f723ec077f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Sat, 23 Sep 2023 18:51:41 +0200 Subject: [PATCH] vrclient: Use the generated names in the C++ method. CW-Bug-Id: #22729 --- vrclient_x64/gen_wrapper.py | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py index cbce2390..2c5c41db 100755 --- a/vrclient_x64/gen_wrapper.py +++ b/vrclient_x64/gen_wrapper.py @@ -564,29 +564,21 @@ def handle_method_cpp(method_name, classname, cppname, method, cpp): else: cpp.write(" return ") - cpp.write("((%s*)linux_side)->%s(" % (classname, method.spelling)) - unnamed = 'a' - first = True - for param in method.get_arguments(): - if not first: - cpp.write(", ") + params = [] + for name, param in zip(names[1:], method.get_arguments()): + if do_lin_to_win and do_lin_to_win[1] == name or \ + do_win_to_lin and do_win_to_lin[1] == name or \ + do_wrap and do_wrap[1] == name: + params.append("%s ? &lin : nullptr" % name) + elif do_unwrap and do_unwrap[1] == name: + params.append("struct_%s_%s_unwrap(%s)" % (strip_ns(do_unwrap[0]), display_sdkver(sdkver), do_unwrap[1])) + elif "&" in param.type.spelling: + params.append("*%s" % name) else: - first = False - if param.spelling == "": - cpp.write("(%s)_%s" % (param.type.spelling, unnamed)) - unnamed = chr(ord(unnamed) + 1) - else: - if do_lin_to_win and do_lin_to_win[1] == param.spelling or \ - do_win_to_lin and do_win_to_lin[1] == param.spelling or \ - do_wrap and do_wrap[1] == param.spelling: - cpp.write("%s ? &lin : nullptr" % param.spelling) - elif do_unwrap and do_unwrap[1] == param.spelling: - cpp.write("struct_%s_%s_unwrap(%s)" % (strip_ns(do_unwrap[0]), display_sdkver(sdkver), do_unwrap[1])) - elif "&" in param.type.spelling: - cpp.write("*%s" % param.spelling) - else: - cpp.write("(%s)%s" % (param.type.spelling, param.spelling)) - cpp.write(");\n") + params.append("(%s)%s" % (param.type.spelling, name)) + + cpp.write(f'(({classname}*)linux_side)->{method.spelling}({", ".join(params)});\n') + if do_lin_to_win: cpp.write(" if(%s)\n" % do_lin_to_win[1]) cpp.write(" struct_%s_%s_lin_to_win(&lin, %s%s);\n" % (strip_ns(do_lin_to_win[0]), display_sdkver(sdkver), do_lin_to_win[1], convert_size_param))