[vala/staging: 5/9] Make TypeParameter a TypeSymbol to resolve functions with attributes
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging: 5/9] Make TypeParameter a TypeSymbol to resolve functions with attributes
- Date: Sun, 18 Apr 2021 20:04:56 +0000 (UTC)
commit e5519a968d8d3fc140ed2852f9a7df5c71f3f1dc
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Sun Apr 18 21:02:21 2021 +0200
Make TypeParameter a TypeSymbol to resolve functions with attributes
codegen/valaccodeattribute.vala | 9 +++++++++
vala/valatypeparameter.vala | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/codegen/valaccodeattribute.vala b/codegen/valaccodeattribute.vala
index 052001aed..d39fc284e 100644
--- a/codegen/valaccodeattribute.vala
+++ b/codegen/valaccodeattribute.vala
@@ -222,6 +222,9 @@ public class Vala.CCodeAttribute : AttributeCache {
if (_copy_function == null && sym is Struct) {
_copy_function = "%scopy".printf (lower_case_prefix);
}
+ if (_copy_function == null && sym is TypeParameter) {
+ _copy_function = "%s_dup_func".printf (sym.name.ascii_down ());
+ }
copy_function_set = true;
}
return _copy_function;
@@ -237,6 +240,9 @@ public class Vala.CCodeAttribute : AttributeCache {
if (_destroy_function == null && sym is Struct) {
_destroy_function = "%sdestroy".printf (lower_case_prefix);
}
+ if (_destroy_function == null && sym is TypeParameter) {
+ _destroy_function = "%s_destroy_func".printf (sym.name.ascii_down ());
+ }
destroy_function_set = true;
}
return _destroy_function;
@@ -315,6 +321,9 @@ public class Vala.CCodeAttribute : AttributeCache {
if (ccode != null) {
_type_id = ccode.get_string ("type_id");
}
+ if (_type_id == null && sym is TypeParameter) {
+ _type_id = "%s_type".printf (sym.name.ascii_down ());
+ }
if (_type_id == null) {
_type_id = get_default_type_id ();
}
diff --git a/vala/valatypeparameter.vala b/vala/valatypeparameter.vala
index 8da52fd67..d148d6eeb 100644
--- a/vala/valatypeparameter.vala
+++ b/vala/valatypeparameter.vala
@@ -25,7 +25,7 @@ using GLib;
/**
* Represents a generic type parameter in the source code.
*/
-public class Vala.TypeParameter : Symbol {
+public class Vala.TypeParameter : TypeSymbol {
/**
* Creates a new generic type parameter.
*
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]