X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=genbindings.py;h=10416ab95e3161b3035506d38563d6efea533ded;hb=831ad69f1f65d26c224fe18003f1694806effa5a;hp=77f9b472f7864383c2780524fb722f16982415cf;hpb=1d4aa806117a28f8a5899ed0dc4e9ad7ed117787;p=ldk-java diff --git a/genbindings.py b/genbindings.py index 77f9b472..10416ab9 100755 --- a/genbindings.py +++ b/genbindings.py @@ -765,13 +765,20 @@ with open(sys.argv[1]) as in_h, open(f"{sys.argv[2]}/bindings{consts.file_ext}", for var_line in field_var_lines: if var_line.group(1) in trait_structs: field_var_convs.append((var_line.group(1), var_line.group(2), trait_structs[var_line.group(1)])) - flattened_field_var_convs.append((var_line.group(1), var_line.group(2), )) - flattened_field_var_convs.extend(trait_structs[var_line.group(1)]) + flattened_field_var_convs.append((var_line.group(1), var_line.group(2), var_line.group(2))) + for field_var in trait_structs[var_line.group(1)]: + if isinstance(field_var, ConvInfo): + flattened_field_var_convs.append(field_var) + else: + path = var_line.group(2) + if len(field_var) > 2: + path = var_line.group(2) + "." + field_var[2] + flattened_field_var_convs.append((field_var[0], field_var[1], path)) else: mapped = type_mapping_generator.map_type(var_line.group(1) + " " + var_line.group(2), False, None, False, False) field_var_convs.append(mapped) flattened_field_var_convs.append(mapped) - trait_structs[struct_name] = field_var_convs + trait_structs[struct_name] = flattened_field_var_convs field_fns = [] for fn_docs, fn_line in trait_fn_lines: