From f1f776027ceb376b6faca17625799f6bd2ea66d2 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Wed, 22 Apr 2020 22:33:53 +0200 Subject: vala: Add InvalidExpression as replacement for erroneous nodes instead This type is meant to be used where a successful parsing or transforming cannot be achieved and the usage of "null" is not possible. --- vala/Makefile.am | 1 + vala/valainvalidexpression.vala | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 vala/valainvalidexpression.vala diff --git a/vala/Makefile.am b/vala/Makefile.am index 78e4c9390..c833939a3 100644 --- a/vala/Makefile.am +++ b/vala/Makefile.am @@ -102,6 +102,7 @@ libvala_la_VALASOURCES = \ valaintegertype.vala \ valainterface.vala \ valainterfacetype.vala \ + valainvalidexpression.vala \ valainvalidtype.vala \ valalambdaexpression.vala \ valaliteral.vala \ diff --git a/vala/valainvalidexpression.vala b/vala/valainvalidexpression.vala new file mode 100644 index 000000000..dc7d5e4f7 --- /dev/null +++ b/vala/valainvalidexpression.vala @@ -0,0 +1,38 @@ +/* valainvalidexpression.vala + * + * Copyright (C) 2020 Rico Tzschichholz + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + + * 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Author: + * Rico Tzschichholz + */ + +/** + * An invalid expression. + */ +public class Vala.InvalidExpression : Expression { + public InvalidExpression () { + error = true; + } + + public override bool is_pure () { + return false; + } + + public override bool check (CodeContext context) { + return false; + } +} -- cgit v1.2.1