From 6472a721f0f6df6e813f4cb78217d70f8aed588e Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 9 Mar 2020 18:20:05 +0100 Subject: Cleanup: Remove unused switch/case from BKE_lib_id. Only covers direct usages of new callbacks from IDTypeInfo. We still have a lot of those switch/case, many can probably go away with minimal refactor now, but that will be for later. --- source/blender/blenkernel/intern/lib_id.c | 326 +---------------------- source/blender/blenkernel/intern/lib_id_delete.c | 111 +------- 2 files changed, 4 insertions(+), 433 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/lib_id.c b/source/blender/blenkernel/intern/lib_id.c index 3d4e86d0c5c..919f249eea6 100644 --- a/source/blender/blenkernel/intern/lib_id.c +++ b/source/blender/blenkernel/intern/lib_id.c @@ -465,110 +465,7 @@ bool BKE_lib_id_make_local(Main *bmain, ID *id, const bool test, const int flags return false; } - switch ((ID_Type)GS(id->name)) { - case ID_SCE: - BLI_assert(0); - return true; - case ID_OB: - BLI_assert(0); - return true; - case ID_ME: - BLI_assert(0); - return true; - case ID_CU: - BLI_assert(0); - return true; - case ID_MB: - BLI_assert(0); - return true; - case ID_MA: - BLI_assert(0); - return true; - case ID_TE: - BLI_assert(0); - return true; - case ID_IM: - BLI_assert(0); - return true; - case ID_LT: - BLI_assert(0); - return true; - case ID_LA: - BLI_assert(0); - return true; - case ID_CA: - BLI_assert(0); - return true; - case ID_SPK: - BLI_assert(0); - return true; - case ID_LP: - BLI_assert(0); - return true; - case ID_WO: - BLI_assert(0); - return true; - case ID_VF: - BLI_assert(0); - return true; - case ID_TXT: - BLI_assert(0); - return true; - case ID_SO: - BLI_assert(0); - return true; - case ID_GR: - BLI_assert(0); - return true; - case ID_AR: - BLI_assert(0); - return true; - case ID_AC: - BLI_assert(0); - return true; - case ID_NT: - BLI_assert(0); - return true; - case ID_BR: - BLI_assert(0); - return true; - case ID_PA: - BLI_assert(0); - return true; - case ID_GD: - BLI_assert(0); - return true; - case ID_MC: - BLI_assert(0); - return true; - case ID_MSK: - BLI_assert(0); - return true; - case ID_LS: - BLI_assert(0); - return true; - case ID_PAL: - BLI_assert(0); - return true; - case ID_PC: - BLI_assert(0); - return true; - case ID_CF: - BLI_assert(0); - return true; - case ID_WS: - case ID_SCR: - /* A bit special: can be appended but not linked. Return false - * since supporting make-local doesn't make much sense. */ - return false; - case ID_LI: - case ID_KE: - case ID_WM: - return false; /* can't be linked */ - case ID_IP: - return false; /* deprecated */ - } - + BLI_assert(!"IDType Missing IDTypeInfo"); return false; } @@ -662,114 +559,7 @@ bool BKE_id_copy_ex(Main *bmain, const ID *id, ID **r_newid, const int flag) } } else { - if (!BKE_id_copy_is_allowed(id)) { - return false; - } - - BKE_libblock_copy_ex(bmain, id, r_newid, flag); - - switch ((ID_Type)GS(id->name)) { - case ID_SCE: - BLI_assert(0); - break; - case ID_OB: - BLI_assert(0); - break; - case ID_ME: - BLI_assert(0); - break; - case ID_CU: - BLI_assert(0); - break; - case ID_MB: - BLI_assert(0); - break; - case ID_MA: - BLI_assert(0); - break; - case ID_TE: - BLI_assert(0); - break; - case ID_IM: - BLI_assert(0); - break; - case ID_LT: - BLI_assert(0); - break; - case ID_LA: - BLI_assert(0); - break; - case ID_SPK: - BLI_assert(0); - break; - case ID_LP: - BLI_assert(0); - break; - case ID_CA: - BLI_assert(0); - break; - case ID_KE: - BLI_assert(0); - break; - case ID_WO: - BLI_assert(0); - break; - case ID_TXT: - BLI_assert(0); - break; - case ID_GR: - BLI_assert(0); - break; - case ID_AR: - BLI_assert(0); - break; - case ID_AC: - BLI_assert(0); - break; - case ID_NT: - BLI_assert(0); - break; - case ID_BR: - BLI_assert(0); - break; - case ID_PA: - BLI_assert(0); - break; - case ID_GD: - BLI_assert(0); - break; - case ID_MC: - BLI_assert(0); - break; - case ID_MSK: - BLI_assert(0); - break; - case ID_LS: - BLI_assert(0); - break; - case ID_PAL: - BLI_assert(0); - break; - case ID_PC: - BLI_assert(0); - break; - case ID_CF: - BLI_assert(0); - break; - case ID_SO: - BLI_assert(0); - break; - case ID_VF: - BLI_assert(0); - break; - case ID_LI: - case ID_SCR: - case ID_WM: - case ID_WS: - case ID_IP: - BLI_assert(0); /* Should have been rejected at start of function! */ - break; - } + BLI_assert(!"IDType Missing IDTypeInfo"); } /* Update ID refcount, remap pointers to self in new ID. */ @@ -1283,117 +1073,7 @@ void BKE_libblock_init_empty(ID *id) return; } - /* Note that only ID types that are not valid when filled of zero should have a callback here. */ - switch ((ID_Type)GS(id->name)) { - case ID_SCE: - BLI_assert(0); - break; - case ID_LI: - BLI_assert(0); - break; - case ID_OB: - BLI_assert(0); - break; - case ID_ME: - BLI_assert(0); - break; - case ID_CU: - BLI_assert(0); - break; - case ID_MB: - BLI_assert(0); - break; - case ID_MA: - BLI_assert(0); - break; - case ID_TE: - BLI_assert(0); - break; - case ID_IM: - BLI_assert(0); - break; - case ID_LT: - BLI_assert(0); - break; - case ID_LA: - BLI_assert(0); - break; - case ID_SPK: - BLI_assert(0); - break; - case ID_LP: - BLI_assert(0); - break; - case ID_CA: - BLI_assert(0); - break; - case ID_WO: - BLI_assert(0); - break; - case ID_SCR: - BLI_assert(0); - break; - case ID_VF: - BLI_assert(0); - break; - case ID_TXT: - BLI_assert(0); - break; - case ID_SO: - BLI_assert(0); - break; - case ID_GR: - BLI_assert(0); - break; - case ID_AR: - BLI_assert(0); - break; - case ID_AC: - BLI_assert(0); - break; - case ID_NT: - BLI_assert(0); - break; - case ID_BR: - BLI_assert(0); - break; - case ID_PA: - BLI_assert(0); - break; - case ID_PC: - BLI_assert(0); - break; - case ID_GD: - BLI_assert(0); - break; - case ID_MSK: - BLI_assert(0); - break; - case ID_LS: - BLI_assert(0); - break; - case ID_CF: - BLI_assert(0); - break; - case ID_KE: - /* Shapekeys are a complex topic too - they depend on their 'user' data type... - * They are not linkable, though, so it should never reach here anyway. */ - BLI_assert(0); - break; - case ID_WM: - /* We should never reach this. */ - BLI_assert(0); - break; - case ID_IP: - /* Should not be needed - animation from lib pre-2.5 is broken anyway. */ - BLI_assert(0); - break; - case ID_PAL: - BLI_assert(0); - break; - default: - BLI_assert(0); /* Should never reach this point... */ - } + BLI_assert(!"IDType Missing IDTypeInfo"); } /* ********** ID session-wise UUID management. ********** */ diff --git a/source/blender/blenkernel/intern/lib_id_delete.c b/source/blender/blenkernel/intern/lib_id_delete.c index 0548bb47509..2e45cd0d202 100644 --- a/source/blender/blenkernel/intern/lib_id_delete.c +++ b/source/blender/blenkernel/intern/lib_id_delete.c @@ -134,116 +134,7 @@ void BKE_libblock_free_datablock(ID *id, const int UNUSED(flag)) return; } - const short type = GS(id->name); - switch (type) { - case ID_SCE: - BLI_assert(0); - break; - case ID_LI: - BLI_assert(0); - break; - case ID_OB: - BLI_assert(0); - break; - case ID_ME: - BLI_assert(0); - break; - case ID_CU: - BLI_assert(0); - break; - case ID_MB: - BLI_assert(0); - break; - case ID_MA: - BLI_assert(0); - break; - case ID_TE: - break; - case ID_IM: - BLI_assert(0); - break; - case ID_LT: - BLI_assert(0); - break; - case ID_LA: - BLI_assert(0); - break; - case ID_CA: - BLI_assert(0); - break; - case ID_IP: /* Deprecated. */ - BLI_assert(0); - break; - case ID_KE: - BLI_assert(0); - break; - case ID_WO: - BLI_assert(0); - break; - case ID_SCR: - BLI_assert(0); - break; - case ID_VF: - BLI_assert(0); - break; - case ID_TXT: - BLI_assert(0); - break; - case ID_SPK: - BLI_assert(0); - break; - case ID_LP: - BLI_assert(0); - break; - case ID_SO: - BLI_assert(0); - break; - case ID_GR: - BLI_assert(0); - break; - case ID_AR: - BLI_assert(0); - break; - case ID_AC: - BLI_assert(0); - break; - case ID_NT: - BLI_assert(0); - break; - case ID_BR: - BLI_assert(0); - break; - case ID_PA: - BLI_assert(0); - break; - case ID_WM: - BLI_assert(0); - break; - case ID_GD: - BLI_assert(0); - break; - case ID_MC: - BLI_assert(0); - break; - case ID_MSK: - BLI_assert(0); - break; - case ID_LS: - BLI_assert(0); - break; - case ID_PAL: - BLI_assert(0); - break; - case ID_PC: - BLI_assert(0); - break; - case ID_CF: - BLI_assert(0); - break; - case ID_WS: - BLI_assert(0); - break; - } + BLI_assert(!"IDType Missing IDTypeInfo"); } /** -- cgit v1.2.3