From ac9e1da20e3a04bb304f175f605a15c781f277bc Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 6 Nov 2018 17:24:32 +0300 Subject: [PATCH] Add as_input_document debug. GitOrigin-RevId: 8b005c0f7e8752d2a5aa9cf85f166a7696484056 --- td/telegram/files/FileLocation.h | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/td/telegram/files/FileLocation.h b/td/telegram/files/FileLocation.h index 89a330e6..d96b8c3f 100644 --- a/td/telegram/files/FileLocation.h +++ b/td/telegram/files/FileLocation.h @@ -666,10 +666,13 @@ class FullRemoteFileLocation { return is_common() && !is_secure() && !is_encrypted_secret(); } - tl_object_ptr as_input_web_file_location() const { - CHECK(is_web()); +#define as_input_web_file_location() as_input_web_file_location_impl(__FILE__, __LINE__) + tl_object_ptr as_input_web_file_location_impl(const char *file, int line) const { + CHECK(is_web()) << file << ' ' << line; + ; return make_tl_object(web().url_, web().access_hash_); } + tl_object_ptr as_input_file_location() const { switch (location_type()) { case LocationType::Photo: @@ -690,23 +693,27 @@ class FullRemoteFileLocation { } } - tl_object_ptr as_input_document() const { - CHECK(is_common()); - LOG_IF(ERROR, !is_document()) << "Can't call as_input_document on an encrypted file"; +#define as_input_document() as_input_document_impl(__FILE__, __LINE__) + tl_object_ptr as_input_document_impl(const char *file, int line) const { + CHECK(is_common()) << file << ' ' << line; + CHECK(is_document()) << file << ' ' << line; return make_tl_object(common().id_, common().access_hash_); } - tl_object_ptr as_input_photo() const { - CHECK(is_photo()); +#define as_input_photo() as_input_photo_impl(__FILE__, __LINE__) + tl_object_ptr as_input_photo_impl(const char *file, int line) const { + CHECK(is_photo()) << file << ' ' << line; return make_tl_object(photo().id_, photo().access_hash_); } tl_object_ptr as_input_encrypted_file() const { - CHECK(is_encrypted_secret()) << "Can't call as_input_encrypted_file on a non-encrypted file"; + CHECK(is_encrypted_secret()); return make_tl_object(common().id_, common().access_hash_); } - tl_object_ptr as_input_secure_file() const { - CHECK(is_secure()) << "Can't call as_input_secure_file on a non-secure file"; + +#define as_input_secure_file() as_input_secure_file_impl(__FILE__, __LINE__) + tl_object_ptr as_input_secure_file_impl(const char *file, int line) const { + CHECK(is_secure()) << file << ' ' << line; return make_tl_object(common().id_, common().access_hash_); }