diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-10-25 09:13:51 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-10-25 09:15:30 +0200 |
commit | 01affa4019bab9c4cc2366cd2224148c1bfb3bea (patch) | |
tree | eb1715d9c17a0d8d05e6d744a35435d6a59a75ea /codegen | |
parent | 9c2566584ec7f50715a7490c7d4e112506045585 (diff) | |
download | vala-01affa4019bab9c4cc2366cd2224148c1bfb3bea.tar.gz |
Revert "Use ErrorType-based collection for CodeNode.get_error_types()"
Unfortunately, it is causing issues with the way the GIR/GIDL parser works.
This reverts commit 0751a9e3bf46fc830d3e7ca3d0cfd3ae48846e68.
Diffstat (limited to 'codegen')
-rw-r--r-- | codegen/valaccodemethodmodule.vala | 4 | ||||
-rw-r--r-- | codegen/valagdbusclientmodule.vala | 7 | ||||
-rw-r--r-- | codegen/valagerrormodule.vala | 14 |
3 files changed, 13 insertions, 12 deletions
diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala index d4f9931ad..840aa14bc 100644 --- a/codegen/valaccodemethodmodule.vala +++ b/codegen/valaccodemethodmodule.vala @@ -94,9 +94,9 @@ public abstract class Vala.CCodeMethodModule : CCodeStructModule { } if (m.has_error_type_parameter ()) { - var error_types = new ArrayList<ErrorType> (); + var error_types = new ArrayList<DataType> (); m.get_error_types (error_types); - foreach (var error_type in error_types) { + foreach (DataType error_type in error_types) { generate_type_declaration (error_type, decl_space); } diff --git a/codegen/valagdbusclientmodule.vala b/codegen/valagdbusclientmodule.vala index be102bf55..697b08758 100644 --- a/codegen/valagdbusclientmodule.vala +++ b/codegen/valagdbusclientmodule.vala @@ -594,11 +594,12 @@ public class Vala.GDBusClientModule : GDBusModule { } // register errors - var error_types = new ArrayList<ErrorType> (); + var error_types = new ArrayList<DataType> (); m.get_error_types (error_types); foreach (var error_type in error_types) { - if (error_type.error_domain != null) { - ccode.add_expression (new CCodeIdentifier (get_ccode_upper_case_name (error_type.error_domain))); + var errtype = (ErrorType) error_type; + if (errtype.error_domain != null) { + ccode.add_expression (new CCodeIdentifier (get_ccode_upper_case_name (errtype.error_domain))); } } diff --git a/codegen/valagerrormodule.vala b/codegen/valagerrormodule.vala index 40fee3920..a559a4d00 100644 --- a/codegen/valagerrormodule.vala +++ b/codegen/valagerrormodule.vala @@ -203,21 +203,21 @@ public class Vala.GErrorModule : CCodeDelegateModule { append_local_free (current_symbol, null, current_try); } - var error_types = new ArrayList<ErrorType> (); + var error_types = new ArrayList<DataType> (); node.get_error_types (error_types); bool has_general_catch_clause = false; if (!is_in_catch) { - var handled_error_types = new ArrayList<ErrorType> (); + var handled_error_types = new ArrayList<DataType> (); foreach (CatchClause clause in current_try.get_catch_clauses ()) { // keep track of unhandled error types - foreach (var node_error_type in error_types) { + foreach (DataType node_error_type in error_types) { if (clause.error_type == null || node_error_type.compatible (clause.error_type)) { handled_error_types.add (node_error_type); } } - foreach (var handled_error_type in handled_error_types) { + foreach (DataType handled_error_type in handled_error_types) { error_types.remove (handled_error_type); } handled_error_types.clear (); @@ -273,9 +273,9 @@ public class Vala.GErrorModule : CCodeDelegateModule { // current method can fail, propagate error CCodeBinaryExpression ccond = null; - var error_types = new ArrayList<ErrorType> (); + var error_types = new ArrayList<DataType> (); current_method.get_error_types (error_types); - foreach (var error_type in error_types) { + foreach (DataType error_type in error_types) { // If GLib.Error is allowed we propagate everything if (error_type.equals (gerror_type)) { ccond = null; @@ -284,7 +284,7 @@ public class Vala.GErrorModule : CCodeDelegateModule { // Check the allowed error domains to propagate var domain_check = new CCodeBinaryExpression (CCodeBinaryOperator.EQUALITY, new CCodeMemberAccess.pointer - (get_inner_error_cexpression (), "domain"), new CCodeIdentifier (get_ccode_upper_case_name (error_type.error_domain))); + (get_inner_error_cexpression (), "domain"), new CCodeIdentifier (get_ccode_upper_case_name (((ErrorType) error_type).error_domain))); if (ccond == null) { ccond = domain_check; } else { |