summaryrefslogtreecommitdiff
path: root/codegen/valaccodeattribute.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2019-10-02 15:07:32 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2019-10-03 15:01:52 +0200
commitf0b5be755dedfa0df182a955a00280aa89b186c8 (patch)
tree6b99f48bae7767eba467c2ec7edfebcda16a4d70 /codegen/valaccodeattribute.vala
parentb5aa04b1e9d8296cb5dc6617f58ff1661c4eeb1a (diff)
downloadvala-f0b5be755dedfa0df182a955a00280aa89b186c8.tar.gz
codegen: Silence warning about copying if delegate doesn't carry its target
Diffstat (limited to 'codegen/valaccodeattribute.vala')
-rw-r--r--codegen/valaccodeattribute.vala10
1 files changed, 10 insertions, 0 deletions
diff --git a/codegen/valaccodeattribute.vala b/codegen/valaccodeattribute.vala
index b6dc5da86..316570273 100644
--- a/codegen/valaccodeattribute.vala
+++ b/codegen/valaccodeattribute.vala
@@ -1484,6 +1484,16 @@ public class Vala.CCodeAttribute : AttributeCache {
} else if (node is Callable) {
unowned DelegateType? delegate_type = ((Callable) node).return_type as DelegateType;
return delegate_type != null && delegate_type.delegate_symbol.has_target;
+ } else if (node is Property) {
+ unowned DelegateType? delegate_type = ((Property) node).property_type as DelegateType;
+ return delegate_type != null && delegate_type.delegate_symbol.has_target;
+ } else if (node is PropertyAccessor) {
+ return get_ccode_delegate_target (((PropertyAccessor) node).prop);
+ } else if (node is Expression) {
+ unowned Symbol? symbol = ((Expression) node).symbol_reference;
+ if (symbol != null) {
+ return get_ccode_delegate_target (symbol);
+ }
}
return false;
}