[Bf-blender-cvs] [6472a721f0f] master: Cleanup: Remove unused switch/case from BKE_lib_id.

Bastien Montagne noreply at git.blender.org
Mon Mar 9 18:43:21 CET 2020


Commit: 6472a721f0f6df6e813f4cb78217d70f8aed588e
Author: Bastien Montagne
Date:   Mon Mar 9 18:20:05 2020 +0100
Branches: master
https://developer.blender.org/rB6472a721f0f6df6e813f4cb78217d70f8aed588e

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.

===================================================================

M	source/blender/blenkernel/intern/lib_id.c
M	source/blender/blenkernel/intern/lib_id_delete.c

===================================================================

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");
 }
 
 /**



More information about the Bf-blender-cvs mailing list