diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-01-31 13:04:52 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-01-31 13:04:52 +0100 |
commit | 572ea42a8fd82275d73c28548c159cbf93dc3205 (patch) | |
tree | b790323dbb66d56054d7bb7731c50fd424513041 /codegen/valagasyncmodule.vala | |
parent | f3543aa5d50d3031e4aa486be0d7968e8eec3e8a (diff) | |
download | vala-572ea42a8fd82275d73c28548c159cbf93dc3205.tar.gz |
codegen: Don't emit invoker for async methods attributed with NoWrapper
Diffstat (limited to 'codegen/valagasyncmodule.vala')
-rw-r--r-- | codegen/valagasyncmodule.vala | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/codegen/valagasyncmodule.vala b/codegen/valagasyncmodule.vala index c9946599f..36270edc3 100644 --- a/codegen/valagasyncmodule.vala +++ b/codegen/valagasyncmodule.vala @@ -339,6 +339,9 @@ public class Vala.GAsyncModule : GtkModule { public override bool generate_method_declaration (Method m, CCodeFile decl_space) { if (m.coroutine) { + if ((m.is_abstract || m.is_virtual) && m.get_attribute ("NoWrapper") != null) { + return false; + } if (add_symbol_declaration (decl_space, m, get_ccode_name (m))) { return false; } @@ -450,7 +453,7 @@ public class Vala.GAsyncModule : GtkModule { } } - if (m.is_abstract || m.is_virtual) { + if ((m.is_abstract || m.is_virtual) && m.get_attribute ("NoWrapper") == null) { // generate virtual function wrappers var cparam_map = new HashMap<int,CCodeParameter> (direct_hash, direct_equal); var carg_map = new HashMap<int,CCodeExpression> (direct_hash, direct_equal); |