class TypeInfo:
- def __init__(self, is_native_primitive, rust_obj, java_ty, java_fn_ty_arg, java_hu_ty, c_ty, is_const, passed_as_ptr, is_ptr, nonnull_ptr, var_name, arr_len, arr_access, subty=None):
+ def __init__(self, is_native_primitive, rust_obj, java_ty, java_fn_ty_arg, java_hu_ty, c_ty, is_const, passed_as_ptr, is_ptr, nonnull_ptr, var_name, arr_len, arr_access, subty=None, contains_trait=False):
self.is_native_primitive = is_native_primitive
self.rust_obj = rust_obj
self.java_ty = java_ty
self.subty = subty
self.pass_by_ref = is_ptr
self.requires_clone = None
+ self.contains_trait = contains_trait
def get_full_rust_ty(self):
ret = ""
self.to_hu_conv = to_hu_conv
self.to_hu_conv_name = to_hu_conv_name
self.from_hu_conv = from_hu_conv
+ # This is set based on docstrings in various contexts:
+ self.nullable = False
class TraitMethInfo:
def __init__(self, fn_name, self_is_const, ret_ty_info, args_ty, docs):
self.docs = docs
class ComplexEnumVariantInfo:
- def __init__(self, var_name, fields):
+ def __init__(self, var_name, var_docs, fields, tuple_variant):
self.var_name = var_name
+ self.var_docs = var_docs
self.fields = fields
+ self.tuple_variant = tuple_variant