diff options
Diffstat (limited to 'src/libical-glib/tools')
| -rw-r--r-- | src/libical-glib/tools/generator.c | 49 | ||||
| -rw-r--r-- | src/libical-glib/tools/generator.h | 13 | ||||
| -rw-r--r-- | src/libical-glib/tools/header-forward-declarations-template | 14 | ||||
| -rw-r--r-- | src/libical-glib/tools/header-header-template | 18 | ||||
| -rw-r--r-- | src/libical-glib/tools/header-template | 14 | ||||
| -rw-r--r-- | src/libical-glib/tools/source-template | 14 | ||||
| -rw-r--r-- | src/libical-glib/tools/xml-parser.c | 13 | ||||
| -rw-r--r-- | src/libical-glib/tools/xml-parser.h | 12 |
8 files changed, 49 insertions, 98 deletions
diff --git a/src/libical-glib/tools/generator.c b/src/libical-glib/tools/generator.c index 609c9297..d1d3fc23 100644 --- a/src/libical-glib/tools/generator.c +++ b/src/libical-glib/tools/generator.c @@ -1,16 +1,7 @@ /* - * Copyright (C) 2015 William Yu <williamyu@gnome.org> + * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> * - * This library is free software; you can redistribute it and/or modify - * it under the terms of either: - * - * The LGPL as published by the Free Software Foundation, version - * 2.1, available at: https://www.gnu.org/licenses/lgpl-2.1.html - * - * Or: - * - * The Mozilla Public License Version 2.0. You may obtain a copy of - * the License at https://www.mozilla.org/MPL/ + * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 */ #include "generator.h" @@ -1575,13 +1566,39 @@ gchar *get_translator_for_return(Ret *ret) return res; } +static gboolean parameter_is_out(Parameter *para) +{ + GList *link; + for (link = para->annotations; link; link = g_list_next(link)) { + if (g_strcmp0(link->data, "out") == 0 || + g_strcmp0(link->data, "inout") == 0 || + g_str_has_prefix(link->data, "out ")) { + break; + } + } + + return link != NULL; +} + static gboolean annotation_contains_nullable(GList *annotations) /* gchar * */ { GList *link; for (link = annotations; link; link = g_list_next(link)) { - if (g_strcmp0(link->data, "allow-none") == 0 || - g_strcmp0(link->data, "nullable") == 0) { + if (g_strcmp0(link->data, "nullable") == 0) { + break; + } + } + + return link != NULL; +} + +static gboolean annotation_contains_optional(GList *annotations) /* gchar * */ +{ + GList *link; + + for (link = annotations; link; link = g_list_next(link)) { + if (g_strcmp0(link->data, "optional") == 0) { break; } } @@ -2033,6 +2050,7 @@ gchar *get_source_run_time_checkers(Method *method, const gchar *namespace) gchar *defaultValue; gchar *retTrueType; guint namespace_len; + gboolean param_is_out; g_return_val_if_fail(method != NULL, NULL); g_return_val_if_fail(namespace != NULL && *namespace != '\0', NULL); @@ -2095,7 +2113,10 @@ gchar *get_source_run_time_checkers(Method *method, const gchar *namespace) (void)g_stpcpy(buffer + strlen(buffer), "\n"); } - if (i != namespace_len && !annotation_contains_nullable(parameter->annotations)) { + param_is_out = parameter_is_out(parameter); + if (i != namespace_len && ( + (!param_is_out && !annotation_contains_nullable(parameter->annotations)) || + (param_is_out && !annotation_contains_optional(parameter->annotations)))) { (void)g_stpcpy(buffer + strlen(buffer), "\t"); if (method->ret != NULL) { (void)g_stpcpy(buffer + strlen(buffer), "g_return_val_if_fail ("); diff --git a/src/libical-glib/tools/generator.h b/src/libical-glib/tools/generator.h index 4aa14693..31a4ea35 100644 --- a/src/libical-glib/tools/generator.h +++ b/src/libical-glib/tools/generator.h @@ -1,16 +1,7 @@ /* - * Copyright (C) 2015 William Yu <williamyu@gnome.org> + * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> * - * This library is free software; you can redistribute it and/or modify - * it under the terms of either: - * - * The LGPL as published by the Free Software Foundation, version - * 2.1, available at: https://www.gnu.org/licenses/lgpl-2.1.html - * - * Or: - * - * The Mozilla Public License Version 2.0. You may obtain a copy of - * the License at https://www.mozilla.org/MPL/ + * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 */ #ifndef GENERATOR_H diff --git a/src/libical-glib/tools/header-forward-declarations-template b/src/libical-glib/tools/header-forward-declarations-template index 7ea06c29..95de7492 100644 --- a/src/libical-glib/tools/header-forward-declarations-template +++ b/src/libical-glib/tools/header-forward-declarations-template @@ -1,19 +1,9 @@ /* Generated file (by generator) */ /* - * Copyright (C) 2015 William Yu <williamyu@gnome.org> + * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> * - * This library is free software: you can redistribute it and/or modify it - * under the terms of version 2.1. of the GNU Lesser General Public License - * as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see <https://www.gnu.org/licenses/>. + * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 */ #if !defined (__LIBICAL_GLIB_H_INSIDE__) && !defined (LIBICAL_GLIB_COMPILATION) diff --git a/src/libical-glib/tools/header-header-template b/src/libical-glib/tools/header-header-template index 9dde6369..b19012c2 100644 --- a/src/libical-glib/tools/header-header-template +++ b/src/libical-glib/tools/header-header-template @@ -1,19 +1,9 @@ /* Generated file (by generator) */ /* - * Copyright (C) 2015 William Yu <williamyu@gnome.org> + * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> * - * This library is free software: you can redistribute it and/or modify it - * under the terms of version 2.1. of the GNU Lesser General Public License - * as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see <https://www.gnu.org/licenses/>. + * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 */ #ifndef LIBICAL_GLIB_H @@ -21,10 +11,6 @@ #include <glib-object.h> -#if !defined(LIBICAL_GLIB_UNSTABLE_API) && !defined(LIBICAL_GLIB_COMPILATION) -#error "Define LIBICAL_GLIB_UNSTABLE_API, to indicate it's understood the libical-glib API is currently unstable" -#endif - #define __LIBICAL_GLIB_H_INSIDE__ #include <libical-glib/i-cal-forward-declarations.h> diff --git a/src/libical-glib/tools/header-template b/src/libical-glib/tools/header-template index f4edf16f..a51c7331 100644 --- a/src/libical-glib/tools/header-template +++ b/src/libical-glib/tools/header-template @@ -1,19 +1,9 @@ /* Generated file (by generator) */ /* - * Copyright (C) 2015 William Yu <williamyu@gnome.org> + * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> * - * This library is free software: you can redistribute it and/or modify it - * under the terms of version 2.1. of the GNU Lesser General Public License - * as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see <https://www.gnu.org/licenses/>. + * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 */ #if !defined (__LIBICAL_GLIB_H_INSIDE__) && !defined (LIBICAL_GLIB_COMPILATION) diff --git a/src/libical-glib/tools/source-template b/src/libical-glib/tools/source-template index 8b71354e..4a354b2c 100644 --- a/src/libical-glib/tools/source-template +++ b/src/libical-glib/tools/source-template @@ -1,19 +1,9 @@ /* Generated file (by generator) */ /* - * Copyright (C) 2015 William Yu <williamyu@gnome.org> + * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> * - * This library is free software: you can redistribute it and/or modify it - * under the terms of version 2.1. of the GNU Lesser General Public License - * as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see <https://www.gnu.org/licenses/>. + * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 */ #ifdef HAVE_CONFIG_H diff --git a/src/libical-glib/tools/xml-parser.c b/src/libical-glib/tools/xml-parser.c index a9cf2704..76e39b7f 100644 --- a/src/libical-glib/tools/xml-parser.c +++ b/src/libical-glib/tools/xml-parser.c @@ -1,16 +1,7 @@ /* - * Copyright (C) 2015 William Yu <williamyu@gnome.org> + * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> * - * This library is free software; you can redistribute it and/or modify - * it under the terms of either: - * - * The LGPL as published by the Free Software Foundation, version - * 2.1, available at: https://www.gnu.org/licenses/lgpl-2.1.html - * - * Or: - * - * The Mozilla Public License Version 2.0. You may obtain a copy of - * the License at https://www.mozilla.org/MPL/ + * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 */ #include "xml-parser.h" diff --git a/src/libical-glib/tools/xml-parser.h b/src/libical-glib/tools/xml-parser.h index bccbb4d3..403c40c0 100644 --- a/src/libical-glib/tools/xml-parser.h +++ b/src/libical-glib/tools/xml-parser.h @@ -1,16 +1,8 @@ /* - * Copyright (C) 2015 William Yu <williamyu@gnome.org> + * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org> * - * This library is free software; you can redistribute it and/or modify - * it under the terms of either: + * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0 * - * The LGPL as published by the Free Software Foundation, version - * 2.1, available at: https://www.gnu.org/licenses/lgpl-2.1.html - * - * Or: - * - * The Mozilla Public License Version 2.0. You may obtain a copy of - * the License at https://www.mozilla.org/MPL/ */ #ifndef XML_PARSER_H |
