[vala/staging: 1/2] vala: Add InvalidExpression as replacement for erroneous nodes instead



commit ed320c6260bfa369f64f41450bc48fd5b664809a
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Wed Apr 22 22:33:53 2020 +0200

    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(+)
---
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 <ricotz ubuntu com>
+ */
+
+/**
+ * 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;
+       }
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]