diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-04-06 18:22:38 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-04-06 18:22:38 +0200 |
commit | 07e3edcdf249318fa24d641d1ddf96de43ccaa5a (patch) | |
tree | f1e7640e08c73c20ab8f7d71edfd2b3d4df623cc /vala/valagirparser.vala | |
parent | 3a10507f2c942d8ad3fc176bef2a6868a36279b7 (diff) | |
download | vala-07e3edcdf249318fa24d641d1ddf96de43ccaa5a.tar.gz |
girparser: Apply "instance_idx" metadata for delegates
Diffstat (limited to 'vala/valagirparser.vala')
-rw-r--r-- | vala/valagirparser.vala | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 355d0fa74..886f01757 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -3458,6 +3458,13 @@ public class Vala.GirParser : CodeVisitor { Report.error (get_current_src (), "instance_idx required when converting function to method"); } } + if (element_name == "callback") { + if (metadata.has_argument (ArgumentType.INSTANCE_IDX)) { + instance_idx = metadata.get_integer (ArgumentType.INSTANCE_IDX); + s.set_attribute_double ("CCode", "instance_pos", instance_idx + 0.9); + ((Delegate) s).has_target = true; + } + } var parameters = new ArrayList<ParameterInfo> (); current.array_length_parameters = new ArrayList<int> (); |