diff --git a/infer/src/clang/objcInterface_decl.ml b/infer/src/clang/objcInterface_decl.ml index 018ec289f..3df7240d2 100644 --- a/infer/src/clang/objcInterface_decl.ml +++ b/infer/src/clang/objcInterface_decl.ml @@ -98,11 +98,11 @@ let add_class_to_tenv type_ptr_to_sil_type tenv curr_class decl_info name_info d let interface_name = CType.mk_classname class_name Csu.Objc in let decl_key = `DeclPtr decl_info.Clang_ast_t.di_pointer in CAst_utils.update_sil_types_map decl_key (Typ.Tstruct interface_name); - let supers, fields = + let decl_supers, decl_fields = create_supers_fields type_ptr_to_sil_type tenv curr_class decl_list ocidi.Clang_ast_t.otdi_super ocidi.Clang_ast_t.otdi_protocols in - let methods = ObjcProperty_decl.get_methods curr_class decl_list in + let decl_methods = ObjcProperty_decl.get_methods curr_class decl_list in let fields_sc = CField_decl.fields_superclass tenv ocidi Csu.Objc in IList.iter (fun (fn, ft, _) -> Logging.out_debug "----->SuperClass field: '%s' " (Ident.fieldname_to_string fn); @@ -110,11 +110,12 @@ let add_class_to_tenv type_ptr_to_sil_type tenv curr_class decl_info name_info d (*In case we found categories, or partial definition of this class earlier and they are already in the tenv *) let fields, (supers : Typename.t list), methods = match Tenv.lookup tenv interface_name with - | Some ({ fields; supers; methods }) -> - CGeneral_utils.append_no_duplicates_fields fields fields, - CGeneral_utils.append_no_duplicates_csu supers supers, - CGeneral_utils.append_no_duplicates_methods methods methods - | _ -> fields, supers, methods in + | Some { fields; supers; methods } -> + CGeneral_utils.append_no_duplicates_fields decl_fields fields, + CGeneral_utils.append_no_duplicates_csu decl_supers supers, + CGeneral_utils.append_no_duplicates_methods decl_methods methods + | _ -> + decl_fields, decl_supers, decl_methods in let fields = CGeneral_utils.append_no_duplicates_fields fields fields_sc in (* We add the special hidden counter_field for implementing reference counting *) let modelled_fields = StructTyp.objc_ref_counter_field :: CField_decl.modelled_field name_info in