File: language-support-vala-Support-for-vala-0.48-API.patch

package info (click to toggle)
anjuta 2%3A3.34.0-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 72,440 kB
  • sloc: ansic: 207,444; sh: 47,499; cpp: 11,461; makefile: 3,586; yacc: 2,821; perl: 2,094; lex: 1,546; xml: 904; python: 149; sql: 99; javascript: 51; java: 10
file content (90 lines) | stat: -rw-r--r-- 4,332 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
From: Rico Tzschichholz <ricotz@ubuntu.com>
Date: Thu, 6 Feb 2020 09:04:39 +0100
Subject: language-support-vala: Support for vala 0.48 API

(cherry picked from commit 56d2487cb26f90fd850d6fab47e0ec33e229ed1c)
---
 plugins/language-support-vala/plugin.vala | 33 +++++++++++++++++++++++--------
 1 file changed, 25 insertions(+), 8 deletions(-)

diff --git a/plugins/language-support-vala/plugin.vala b/plugins/language-support-vala/plugin.vala
index 4969429..d94634c 100644
--- a/plugins/language-support-vala/plugin.vala
+++ b/plugins/language-support-vala/plugin.vala
@@ -418,11 +418,19 @@ public class ValaPlugin : Plugin, IAnjuta.Preferences {
 			builder.append_printf ("%s sender", widget.get_full_name ());
 
 			foreach (var param in sig.get_parameters ()) {
+#if VALA_0_48
+				builder.append_printf (", %s %s", param.variable_type.type_symbol.get_full_name (), param.name);
+#else
 				builder.append_printf (", %s %s", param.variable_type.data_type.get_full_name (), param.name);
+#endif
 			}
 		} else {
 			foreach (var param in sig.get_parameters ()) {
+#if VALA_0_48
+				builder.append_printf ("%s %s, ", param.variable_type.type_symbol.get_full_name (), param.name);
+#else
 				builder.append_printf ("%s %s, ", param.variable_type.data_type.get_full_name (), param.name);
+#endif
 			}
 
 			builder.append_printf ("%s sender", widget.get_full_name ());
@@ -567,6 +575,15 @@ public class ValaPlugin : Plugin, IAnjuta.Preferences {
 		}
 		return matching_symbols;
 	}
+
+	inline List<Vala.Symbol> symbol_lookup_inherited_for_type (Vala.DataType data_type, string name, bool prefix_match, bool invocation = false) {
+#if VALA_0_48
+		return symbol_lookup_inherited (data_type.type_symbol, name, prefix_match, invocation);
+#else
+		return symbol_lookup_inherited (data_type.data_type, name, prefix_match, invocation);
+#endif
+	}
+
 	List<Vala.Symbol> symbol_lookup_inherited (Vala.Symbol? sym, string name, bool prefix_match, bool invocation = false) {
 		List<Vala.Symbol> result = null;
 
@@ -584,32 +601,32 @@ public class ValaPlugin : Plugin, IAnjuta.Preferences {
 		}
 		if (invocation && sym is Vala.Method) {
 			var func = (Vala.Method) sym;
-			result.concat (symbol_lookup_inherited (func.return_type.data_type, name, prefix_match));
+			result.concat (symbol_lookup_inherited_for_type (func.return_type, name, prefix_match));
 		} else if (sym is Vala.Class) {
 			var cl = (Vala.Class) sym;
 			foreach (var base_type in cl.get_base_types ()) {
-				result.concat (symbol_lookup_inherited (base_type.data_type, name, prefix_match));
+				result.concat (symbol_lookup_inherited_for_type (base_type, name, prefix_match));
 			}
 		} else if (sym is Vala.Struct) {
 			var st = (Vala.Struct) sym;
-			result.concat (symbol_lookup_inherited (st.base_type.data_type, name, prefix_match));
+			result.concat (symbol_lookup_inherited_for_type (st.base_type, name, prefix_match));
 		} else if (sym is Vala.Interface) {
 			var iface = (Vala.Interface) sym;
 			foreach (var prerequisite in iface.get_prerequisites ()) {
-				result.concat (symbol_lookup_inherited (prerequisite.data_type, name, prefix_match));
+				result.concat (symbol_lookup_inherited_for_type (prerequisite, name, prefix_match));
 			}
 		} else if (sym is Vala.LocalVariable) {
 			var variable = (Vala.LocalVariable) sym;
-			result.concat (symbol_lookup_inherited (variable.variable_type.data_type, name, prefix_match));
+			result.concat (symbol_lookup_inherited_for_type (variable.variable_type, name, prefix_match));
 		} else if (sym is Vala.Field) {
 			var field = (Vala.Field) sym;
-			result.concat (symbol_lookup_inherited (field.variable_type.data_type, name, prefix_match));
+			result.concat (symbol_lookup_inherited_for_type (field.variable_type, name, prefix_match));
 		} else if (sym is Vala.Property) {
 			var prop = (Vala.Property) sym;
-			result.concat (symbol_lookup_inherited (prop.property_type.data_type, name, prefix_match));
+			result.concat (symbol_lookup_inherited_for_type (prop.property_type, name, prefix_match));
 		} else if (sym is Vala.Parameter) {
 			var fp = (Vala.Parameter) sym;
-			result.concat (symbol_lookup_inherited (fp.variable_type.data_type, name, prefix_match));
+			result.concat (symbol_lookup_inherited_for_type (fp.variable_type, name, prefix_match));
 		}
 
 		return result;