[gjs/wip/ptomato/warnings: 1/3] WIP - do stuff with switches
- From: Philip Chimento <pchimento src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gjs/wip/ptomato/warnings: 1/3] WIP - do stuff with switches
- Date: Fri, 7 Oct 2016 07:05:18 +0000 (UTC)
commit 85f82237940b822ffaea990881f593043965ef4b
Author: Philip Chimento <philip endlessm com>
Date: Mon Oct 3 13:48:12 2016 -0700
WIP - do stuff with switches
gi/arg.cpp | 198 ++++++++++++++++++---------------------------
gi/boxed.cpp | 53 ++++++------
gi/function.cpp | 3 +
gi/object.cpp | 2 +
gi/repo.cpp | 4 +-
gjs/importer.cpp | 3 +
gjs/jsapi-private.cpp | 2 +
modules/cairo-surface.cpp | 21 ++---
8 files changed, 127 insertions(+), 159 deletions(-)
---
diff --git a/gi/arg.cpp b/gi/arg.cpp
index 7044ce1..e8fb7e2 100644
--- a/gi/arg.cpp
+++ b/gi/arg.cpp
@@ -118,15 +118,11 @@ _gjs_enum_value_is_valid(JSContext *context,
static bool
_gjs_enum_uses_signed_type (GIEnumInfo *enum_info)
{
- switch (g_enum_info_get_storage_type (enum_info)) {
- case GI_TYPE_TAG_INT8:
- case GI_TYPE_TAG_INT16:
- case GI_TYPE_TAG_INT32:
- case GI_TYPE_TAG_INT64:
- return true;
- default:
- return false;
- }
+ GITypeTag storage = g_enum_info_get_storage_type(enum_info);
+ return (storage == GI_TYPE_TAG_INT8 ||
+ storage == GI_TYPE_TAG_INT16 ||
+ storage == GI_TYPE_TAG_INT32 ||
+ storage == GI_TYPE_TAG_INT64);
}
/* This is hacky - g_function_info_invoke() and g_field_info_get/set_field() expect
@@ -161,16 +157,16 @@ static bool
type_needs_release (GITypeInfo *type_info,
GITypeTag type_tag)
{
- switch (type_tag) {
- case GI_TYPE_TAG_UTF8:
- case GI_TYPE_TAG_FILENAME:
- case GI_TYPE_TAG_ARRAY:
- case GI_TYPE_TAG_GLIST:
- case GI_TYPE_TAG_GSLIST:
- case GI_TYPE_TAG_GHASH:
- case GI_TYPE_TAG_ERROR:
+ if (type_tag == GI_TYPE_TAG_UTF8 ||
+ type_tag == GI_TYPE_TAG_FILENAME ||
+ type_tag == GI_TYPE_TAG_ARRAY ||
+ type_tag == GI_TYPE_TAG_GLIST ||
+ type_tag == GI_TYPE_TAG_GSLIST ||
+ type_tag == GI_TYPE_TAG_GHASH ||
+ type_tag == GI_TYPE_TAG_ERROR)
return true;
- case GI_TYPE_TAG_INTERFACE: {
+
+ if (type_tag == GI_TYPE_TAG_INTERFACE) {
GIBaseInfo* interface_info;
GIInfoType interface_type;
GType gtype;
@@ -181,30 +177,23 @@ type_needs_release (GITypeInfo *type_info,
interface_type = g_base_info_get_type(interface_info);
- switch(interface_type) {
-
- case GI_INFO_TYPE_STRUCT:
- case GI_INFO_TYPE_ENUM:
- case GI_INFO_TYPE_FLAGS:
- case GI_INFO_TYPE_OBJECT:
- case GI_INFO_TYPE_INTERFACE:
- case GI_INFO_TYPE_UNION:
- case GI_INFO_TYPE_BOXED:
+ if (interface_type == GI_INFO_TYPE_STRUCT ||
+ interface_type == GI_INFO_TYPE_ENUM ||
+ interface_type == GI_INFO_TYPE_FLAGS ||
+ interface_type == GI_INFO_TYPE_OBJECT ||
+ interface_type == GI_INFO_TYPE_INTERFACE ||
+ interface_type == GI_INFO_TYPE_UNION ||
+ interface_type == GI_INFO_TYPE_BOXED) {
/* These are subtypes of GIRegisteredTypeInfo for which the
* cast is safe */
gtype = g_registered_type_info_get_g_type
((GIRegisteredTypeInfo*)interface_info);
- break;
-
- case GI_INFO_TYPE_VALUE:
+ } else if (interface_type == GI_INFO_TYPE_VALUE) {
/* Special case for GValues */
gtype = G_TYPE_VALUE;
- break;
-
- default:
+ } else {
/* Everything else */
gtype = G_TYPE_NONE;
- break;
}
if (g_type_is_a(gtype, G_TYPE_CLOSURE))
@@ -218,9 +207,8 @@ type_needs_release (GITypeInfo *type_info,
return needs_release;
}
- default:
- return false;
- }
+
+ return false;
}
/* Check if an argument of the given needs to be released if we obtained it
@@ -230,47 +218,38 @@ static bool
type_needs_out_release(GITypeInfo *type_info,
GITypeTag type_tag)
{
- switch (type_tag) {
- case GI_TYPE_TAG_UTF8:
- case GI_TYPE_TAG_FILENAME:
- case GI_TYPE_TAG_ARRAY:
- case GI_TYPE_TAG_GLIST:
- case GI_TYPE_TAG_GSLIST:
- case GI_TYPE_TAG_GHASH:
- case GI_TYPE_TAG_ERROR:
+ if (type_tag == GI_TYPE_TAG_UTF8 ||
+ type_tag == GI_TYPE_TAG_FILENAME ||
+ type_tag == GI_TYPE_TAG_ARRAY ||
+ type_tag == GI_TYPE_TAG_GLIST ||
+ type_tag == GI_TYPE_TAG_GSLIST ||
+ type_tag == GI_TYPE_TAG_GHASH ||
+ type_tag == GI_TYPE_TAG_ERROR)
return true;
- case GI_TYPE_TAG_INTERFACE: {
+
+ if (type_tag == GI_TYPE_TAG_INTERFACE) {
GIBaseInfo* interface_info;
GIInfoType interface_type;
- bool needs_release;
+ bool needs_release = true;
interface_info = g_type_info_get_interface(type_info);
g_assert(interface_info != NULL);
interface_type = g_base_info_get_type(interface_info);
- switch(interface_type) {
- case GI_INFO_TYPE_ENUM:
- case GI_INFO_TYPE_FLAGS:
+ if (interface_type == GI_INFO_TYPE_ENUM ||
+ interface_type == GI_INFO_TYPE_FLAGS)
needs_release = false;
- break;
-
- case GI_INFO_TYPE_STRUCT:
- case GI_INFO_TYPE_UNION:
- needs_release = g_type_info_is_pointer (type_info);
- break;
-
- default:
- needs_release = true;
- }
+ else if (interface_type == GI_INFO_TYPE_STRUCT ||
+ interface_type == GI_INFO_TYPE_UNION)
+ needs_release = g_type_info_is_pointer(type_info);
g_base_info_unref(interface_info);
return needs_release;
}
- default:
- return false;
- }
+
+ return false;
}
static bool
@@ -524,29 +503,26 @@ gjs_string_to_intarray(JSContext *context,
element_type = g_type_info_get_tag(param_info);
- switch (element_type) {
- case GI_TYPE_TAG_INT8:
- case GI_TYPE_TAG_UINT8:
+ if (element_type == GI_TYPE_TAG_INT8 || element_type == GI_TYPE_TAG_UINT8) {
if (!gjs_string_to_utf8(context, string_val, &result))
return false;
*arr_p = result;
*length = strlen(result);
return true;
+ }
- case GI_TYPE_TAG_INT16:
- case GI_TYPE_TAG_UINT16:
+ if (element_type == GI_TYPE_TAG_INT16 || element_type == GI_TYPE_TAG_UINT16) {
if (!gjs_string_get_uint16_data(context, string_val,
&result16, length))
return false;
*arr_p = result16;
return true;
-
- default:
- /* can't convert a string to this type */
- gjs_throw(context, "Cannot convert string to array of '%s'",
- g_type_tag_to_string (element_type));
- return false;
}
+
+ /* can't convert a string to this type */
+ gjs_throw(context, "Cannot convert string to array of '%s'",
+ g_type_tag_to_string (element_type));
+ return false;
}
static bool
@@ -822,28 +798,18 @@ static bool
is_gvalue(GIBaseInfo *info,
GIInfoType info_type)
{
- bool result = false;
-
- switch(info_type) {
- case GI_INFO_TYPE_VALUE:
- result = true;
- break;
- case GI_INFO_TYPE_STRUCT:
- case GI_INFO_TYPE_OBJECT:
- case GI_INFO_TYPE_INTERFACE:
- case GI_INFO_TYPE_BOXED:
- {
- GType gtype;
- gtype = g_registered_type_info_get_g_type((GIRegisteredTypeInfo *) info);
+ if (info_type == GI_INFO_TYPE_VALUE)
+ return true;
- result = g_type_is_a(gtype, G_TYPE_VALUE);
- }
- break;
- default:
- break;
+ if (info_type == GI_INFO_TYPE_STRUCT ||
+ info_type == GI_INFO_TYPE_OBJECT ||
+ info_type == GI_INFO_TYPE_INTERFACE ||
+ info_type == GI_INFO_TYPE_BOXED) {
+ GType gtype = g_registered_type_info_get_g_type((GIRegisteredTypeInfo *) info);
+ return g_type_is_a(gtype, G_TYPE_VALUE);
}
- return result;
+ return false;
}
static bool
@@ -1028,9 +994,9 @@ get_argument_display_name(const char *arg_name,
return g_strdup("Hash element");
case GJS_ARGUMENT_ARRAY_ELEMENT:
return g_strdup("Array element");
+ default:
+ g_assert_not_reached ();
}
-
- g_assert_not_reached ();
}
static const char *
@@ -1362,37 +1328,31 @@ gjs_value_to_g_argument(JSContext *context,
expect_object = true;
}
- switch(interface_type) {
- case GI_INFO_TYPE_STRUCT:
- if (g_struct_info_is_foreign((GIStructInfo*)interface_info)) {
- bool ret;
- ret = gjs_struct_foreign_convert_to_g_argument(
- context, value, interface_info, arg_name,
- arg_type, transfer, may_be_null, arg);
- g_base_info_unref(interface_info);
- return ret;
- }
- /* fall through */
- case GI_INFO_TYPE_ENUM:
- case GI_INFO_TYPE_FLAGS:
- case GI_INFO_TYPE_OBJECT:
- case GI_INFO_TYPE_INTERFACE:
- case GI_INFO_TYPE_UNION:
- case GI_INFO_TYPE_BOXED:
+ if (interface_type == GI_INFO_TYPE_STRUCT &&
+ g_struct_info_is_foreign((GIStructInfo*)interface_info)) {
+ bool ret;
+ ret = gjs_struct_foreign_convert_to_g_argument(
+ context, value, interface_info, arg_name,
+ arg_type, transfer, may_be_null, arg);
+ g_base_info_unref(interface_info);
+ return ret;
+ }
+
+ if (interface_type == GI_INFO_TYPE_ENUM ||
+ interface_type == GI_INFO_TYPE_FLAGS ||
+ interface_type == GI_INFO_TYPE_OBJECT ||
+ interface_type == GI_INFO_TYPE_INTERFACE ||
+ interface_type == GI_INFO_TYPE_UNION ||
+ interface_type == GI_INFO_TYPE_BOXED) {
/* These are subtypes of GIRegisteredTypeInfo for which the
* cast is safe */
gtype = g_registered_type_info_get_g_type
((GIRegisteredTypeInfo*)interface_info);
- break;
- case GI_INFO_TYPE_VALUE:
+ } else if (interface_type == GI_INFO_TYPE_VALUE) {
/* Special case for GValues */
gtype = G_TYPE_VALUE;
- break;
-
- default:
- /* Everything else */
+ } else {
gtype = G_TYPE_NONE;
- break;
}
if (gtype != G_TYPE_NONE)
diff --git a/gi/boxed.cpp b/gi/boxed.cpp
index b74e6d2..dce99ff 100644
--- a/gi/boxed.cpp
+++ b/gi/boxed.cpp
@@ -971,29 +971,6 @@ type_can_be_allocated_directly(GITypeInfo *type_info)
}
} else {
switch (g_type_info_get_tag(type_info)) {
- case GI_TYPE_TAG_BOOLEAN:
- case GI_TYPE_TAG_INT8:
- case GI_TYPE_TAG_UINT8:
- case GI_TYPE_TAG_INT16:
- case GI_TYPE_TAG_UINT16:
- case GI_TYPE_TAG_INT32:
- case GI_TYPE_TAG_UINT32:
- case GI_TYPE_TAG_INT64:
- case GI_TYPE_TAG_UINT64:
- case GI_TYPE_TAG_FLOAT:
- case GI_TYPE_TAG_DOUBLE:
- case GI_TYPE_TAG_UNICHAR:
- break;
- case GI_TYPE_TAG_VOID:
- case GI_TYPE_TAG_GTYPE:
- case GI_TYPE_TAG_ERROR:
- case GI_TYPE_TAG_UTF8:
- case GI_TYPE_TAG_FILENAME:
- case GI_TYPE_TAG_ARRAY:
- case GI_TYPE_TAG_GLIST:
- case GI_TYPE_TAG_GSLIST:
- case GI_TYPE_TAG_GHASH:
- break;
case GI_TYPE_TAG_INTERFACE:
{
GIBaseInfo *interface = g_type_info_get_interface(type_info);
@@ -1007,9 +984,6 @@ type_can_be_allocated_directly(GITypeInfo *type_info)
/* FIXME: Need to implement */
is_simple = false;
break;
- case GI_INFO_TYPE_ENUM:
- case GI_INFO_TYPE_FLAGS:
- break;
case GI_INFO_TYPE_OBJECT:
case GI_INFO_TYPE_VFUNC:
case GI_INFO_TYPE_CALLBACK:
@@ -1029,11 +1003,38 @@ type_can_be_allocated_directly(GITypeInfo *type_info)
case GI_INFO_TYPE_INVALID_0:
g_assert_not_reached();
break;
+ case GI_INFO_TYPE_ENUM:
+ case GI_INFO_TYPE_FLAGS:
+ default:
+ break;
}
g_base_info_unref(interface);
break;
}
+ case GI_TYPE_TAG_BOOLEAN:
+ case GI_TYPE_TAG_INT8:
+ case GI_TYPE_TAG_UINT8:
+ case GI_TYPE_TAG_INT16:
+ case GI_TYPE_TAG_UINT16:
+ case GI_TYPE_TAG_INT32:
+ case GI_TYPE_TAG_UINT32:
+ case GI_TYPE_TAG_INT64:
+ case GI_TYPE_TAG_UINT64:
+ case GI_TYPE_TAG_FLOAT:
+ case GI_TYPE_TAG_DOUBLE:
+ case GI_TYPE_TAG_UNICHAR:
+ case GI_TYPE_TAG_VOID:
+ case GI_TYPE_TAG_GTYPE:
+ case GI_TYPE_TAG_ERROR:
+ case GI_TYPE_TAG_UTF8:
+ case GI_TYPE_TAG_FILENAME:
+ case GI_TYPE_TAG_ARRAY:
+ case GI_TYPE_TAG_GLIST:
+ case GI_TYPE_TAG_GSLIST:
+ case GI_TYPE_TAG_GHASH:
+ default:
+ break;
}
}
return is_simple;
diff --git a/gi/function.cpp b/gi/function.cpp
index 01bf596..ee4aa3f 100644
--- a/gi/function.cpp
+++ b/gi/function.cpp
@@ -942,6 +942,9 @@ gjs_invoke_c_function(JSContext *context,
failed = true;
break;
}
+
+ default:
+ ;
}
if (direction == GI_DIRECTION_INOUT && !arg_removed && !failed) {
diff --git a/gi/object.cpp b/gi/object.cpp
index f1fee8f..82e3884 100644
--- a/gi/object.cpp
+++ b/gi/object.cpp
@@ -359,6 +359,7 @@ object_instance_set_prop(JSContext *context,
case NO_SUCH_G_PROPERTY:
goto out;
case VALUE_WAS_SET:
+ default:
break;
}
@@ -721,6 +722,7 @@ object_instance_props_to_g_parameters(JSContext *context,
g_free(name);
goto free_array_and_fail;
case VALUE_WAS_SET:
+ default:
break;
}
diff --git a/gi/repo.cpp b/gi/repo.cpp
index 1975355..65f54f3 100644
--- a/gi/repo.cpp
+++ b/gi/repo.cpp
@@ -703,9 +703,9 @@ gjs_info_type_name(GIInfoType type)
case GI_INFO_TYPE_INVALID_0:
g_assert_not_reached();
break;
+ default:
+ return "???";
}
-
- return "???";
}
char*
diff --git a/gjs/importer.cpp b/gjs/importer.cpp
index 9e07c65..4b5383d 100644
--- a/gjs/importer.cpp
+++ b/gjs/importer.cpp
@@ -824,6 +824,9 @@ importer_new_enumerate(JSContext *context,
statep.setNull();
}
}
+
+ default:
+ ;
}
return true;
diff --git a/gjs/jsapi-private.cpp b/gjs/jsapi-private.cpp
index d7713f6..e0314e3 100644
--- a/gjs/jsapi-private.cpp
+++ b/gjs/jsapi-private.cpp
@@ -67,6 +67,8 @@ gjs_error_reporter(JSContext *context,
*/
case 162:
return;
+ default:
+ ;
}
} else {
warning = "REPORTED";
diff --git a/modules/cairo-surface.cpp b/modules/cairo-surface.cpp
index af9ca15..a387b8e 100644
--- a/modules/cairo-surface.cpp
+++ b/modules/cairo-surface.cpp
@@ -199,18 +199,15 @@ gjs_cairo_surface_from_surface(JSContext *context,
g_return_val_if_fail(context != NULL, NULL);
g_return_val_if_fail(surface != NULL, NULL);
- switch (cairo_surface_get_type(surface)) {
- case CAIRO_SURFACE_TYPE_IMAGE:
- return gjs_cairo_image_surface_from_surface(context, surface);
- case CAIRO_SURFACE_TYPE_PDF:
- return gjs_cairo_pdf_surface_from_surface(context, surface);
- case CAIRO_SURFACE_TYPE_PS:
- return gjs_cairo_ps_surface_from_surface(context, surface);
- case CAIRO_SURFACE_TYPE_SVG:
- return gjs_cairo_svg_surface_from_surface(context, surface);
- default:
- break;
- }
+ cairo_surface_type_t type = cairo_surface_get_type(surface);
+ if (type == CAIRO_SURFACE_TYPE_IMAGE)
+ return gjs_cairo_image_surface_from_surface(context, surface);
+ if (type == CAIRO_SURFACE_TYPE_PDF)
+ return gjs_cairo_pdf_surface_from_surface(context, surface);
+ if (type == CAIRO_SURFACE_TYPE_PS)
+ return gjs_cairo_ps_surface_from_surface(context, surface);
+ if (type == CAIRO_SURFACE_TYPE_SVG)
+ return gjs_cairo_svg_surface_from_surface(context, surface);
JS::RootedObject object(context,
JS_NewObject(context, &gjs_cairo_surface_class, NULL, NULL));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]