From 87edea7d57517740751cd325c61f121283342d32 Mon Sep 17 00:00:00 2001 From: Arik Sosman Date: Thu, 14 Jan 2021 03:14:32 -0800 Subject: [PATCH] expand c type conversions to other integer array types --- genbindings.py | 11 +++++++---- java_strings.py | 5 ++++- typescript_strings.py | 5 ++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/genbindings.py b/genbindings.py index 4b242aab..2443dac6 100755 --- a/genbindings.py +++ b/genbindings.py @@ -185,27 +185,30 @@ def java_c_types(fn_arg, ret_arr_len): fn_arg = fn_arg[4:].strip() is_primitive = True elif fn_arg.startswith("uint8_t"): - mapped_type = consts.c_type_map['byte'] + mapped_type = consts.c_type_map['uint8_t'] java_ty = mapped_type[0] c_ty = "int8_t" fn_ty_arg = "B" fn_arg = fn_arg[7:].strip() is_primitive = True elif fn_arg.startswith("uint16_t"): - java_ty = "short" + mapped_type = consts.c_type_map['uint16_t'] + java_ty = mapped_type[0] c_ty = "jshort" fn_ty_arg = "S" fn_arg = fn_arg[8:].strip() is_primitive = True elif fn_arg.startswith("uint32_t"): - java_ty = "int" + mapped_type = consts.c_type_map['uint32_t'] + java_ty = mapped_type[0] c_ty = "int32_t" fn_ty_arg = "I" fn_arg = fn_arg[8:].strip() is_primitive = True elif fn_arg.startswith("uint64_t") or fn_arg.startswith("uintptr_t"): # TODO: uintptr_t is arch-dependent :( - java_ty = "long" + mapped_type = consts.c_type_map['long'] + java_ty = mapped_type[0] c_ty = "int64_t" fn_ty_arg = "J" if fn_arg.startswith("uint64_t"): diff --git a/java_strings.py b/java_strings.py index 0a479de3..968cb0f1 100644 --- a/java_strings.py +++ b/java_strings.py @@ -4,7 +4,10 @@ class Consts: def __init__(self, DEBUG): self.c_type_map = dict( - byte = ['byte'], + uint8_t = ['byte'], + uint16_t = ['short'], + uint32_t = ['int'], + long = ['long'], ) self.common_base = """package org.ldk.structs; diff --git a/typescript_strings.py b/typescript_strings.py index 35331d89..f687f125 100644 --- a/typescript_strings.py +++ b/typescript_strings.py @@ -10,7 +10,10 @@ class Consts: def __init__(self, DEBUG): self.c_type_map = dict( - byte = ['number', 'Uint8Array'], + uint8_t = ['number', 'Uint8Array'], + uint16_t = ['number', 'Uint16Array'], + uint32_t = ['number', 'Uint32Array'], + long = ['number'], ) self.common_base = """ -- 2.39.5