def check_reply_fields(ctxt: IDLCompatibilityContext, old_reply: syntax.Struct, new_reply: syntax.Struct, cmd_name: str, old_idl_file: syntax.IDLParsedSpec, new_idl_file: syntax.IDLParsedSpec, old_idl_file_path: str, new_idl_file_path: str): """Check compatibility between old and new reply fields.""" # pylint: disable=too-many-arguments for old_field in old_reply.fields or []: if old_field.unstable: continue new_field_exists = False for new_field in new_reply.fields or []: if new_field.name == old_field.name: new_field_exists = True check_reply_field(ctxt, old_field, new_field, cmd_name, old_idl_file, new_idl_file, old_idl_file_path, new_idl_file_path) break if not new_field_exists: ctxt.add_new_reply_field_missing_error(cmd_name, old_field.name, old_idl_file_path)
def check_reply_fields(ctxt: IDLCompatibilityContext, old_cmd: syntax.Command, new_cmd: syntax.Command, old_idl_file: syntax.IDLParsedSpec, new_idl_file: syntax.IDLParsedSpec, old_idl_file_path: str, new_idl_file_path: str): """Check compatibility between old and new reply fields.""" # pylint: disable=too-many-arguments old_reply = old_idl_file.spec.symbols.get_struct(old_cmd.reply_type) new_reply = new_idl_file.spec.symbols.get_struct(new_cmd.reply_type) for old_field in old_reply.fields or []: if old_field.unstable: continue new_field_exists = False for new_field in new_reply.fields or []: if new_field.name == old_field.name: new_field_exists = True check_reply_field(ctxt, old_field, new_field, old_cmd.name, old_idl_file, new_idl_file, old_idl_file_path, new_idl_file_path) break if not new_field_exists: ctxt.add_new_reply_field_missing_error(new_cmd.command_name, old_field.name, old_idl_file_path)