From 40600c3b4a60dea7a2399aa0286620d5bb96fe93 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Mon, 30 Sep 2019 15:12:05 +0200 Subject: [PATCH 1/2] vala-pack: Fix a few compiler warnings --- .../vala-pack/ide-vala-completion-provider.vala | 2 +- src/plugins/vala-pack/ide-vala-symbol-tree.vala | 4 ++-- src/plugins/vala-pack/lang-server/ide-utils.vala | 12 ++++++------ .../vala-pack/lang-server/ide-vala-locator.vala | 14 ++++++++------ 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/plugins/vala-pack/ide-vala-completion-provider.vala b/src/plugins/vala-pack/ide-vala-completion-provider.vala index 3a067468a..af5671819 100644 --- a/src/plugins/vala-pack/ide-vala-completion-provider.vala +++ b/src/plugins/vala-pack/ide-vala-completion-provider.vala @@ -47,7 +47,7 @@ namespace Ide public bool refilter (Ide.CompletionContext context, GLib.ListModel proposals) { - (proposals as ValaCompletionResults).refilter (context.get_word ()); + ((ValaCompletionResults) proposals).refilter (context.get_word ()); return true; } diff --git a/src/plugins/vala-pack/ide-vala-symbol-tree.vala b/src/plugins/vala-pack/ide-vala-symbol-tree.vala index 5278fe27b..eba9488a5 100644 --- a/src/plugins/vala-pack/ide-vala-symbol-tree.vala +++ b/src/plugins/vala-pack/ide-vala-symbol-tree.vala @@ -34,7 +34,7 @@ namespace Ide public uint get_n_children (Ide.SymbolNode? node) { if (node != null) - return (node as ValaSymbolNode).n_children; + return ((ValaSymbolNode) node).n_children; return (uint)tree.n_children (); } @@ -42,7 +42,7 @@ namespace Ide public Ide.SymbolNode? get_nth_child (Ide.SymbolNode? node, uint nth) { if (node != null) - return (node as ValaSymbolNode).get_nth_child (nth); + return ((ValaSymbolNode) node).get_nth_child (nth); var child_val = tree.get_child_value (nth); return new ValaSymbolNode (child_val); diff --git a/src/plugins/vala-pack/lang-server/ide-utils.vala b/src/plugins/vala-pack/lang-server/ide-utils.vala index b1adb8968..b6baf1afc 100644 --- a/src/plugins/vala-pack/lang-server/ide-utils.vala +++ b/src/plugins/vala-pack/lang-server/ide-utils.vala @@ -16,7 +16,7 @@ namespace Ide { name = vala_symbol_name (symbol); } else { if (symbol is Vala.CreationMethod) { - name = (symbol as Vala.CreationMethod).class_name; + name = ((Vala.CreationMethod) symbol).class_name; } else { name = symbol.name; } @@ -94,9 +94,9 @@ namespace Ide { } else if (symbol is Vala.Property) { return symbol.name; } else if (symbol is Vala.CreationMethod) { - return (symbol as Vala.CreationMethod).class_name; + return ((Vala.CreationMethod) symbol).class_name; } else if (symbol is Vala.Method) { - var type = new Vala.MethodType (symbol as Vala.Method); + var type = new Vala.MethodType ((Vala.Method) symbol); return type.to_prototype_string (null); } @@ -123,11 +123,11 @@ namespace Ide { public static Vala.Symbol? vala_symbol_from_code_node (Vala.CodeNode node) { if (node is Vala.Expression) - return (node as Vala.Expression).symbol_reference; + return ((Vala.Expression) node).symbol_reference; else if (node is Vala.MethodCall) - return (node as Vala.MethodCall).call.symbol_reference; + return ((Vala.MethodCall) node).call.symbol_reference; else if (node is Vala.MemberAccess) - return (node as Vala.MemberAccess).symbol_reference; + return ((Vala.MemberAccess) node).symbol_reference; else return (node as Vala.Symbol); } diff --git a/src/plugins/vala-pack/lang-server/ide-vala-locator.vala b/src/plugins/vala-pack/lang-server/ide-vala-locator.vala index a6a9ba378..6e8df59ef 100644 --- a/src/plugins/vala-pack/lang-server/ide-vala-locator.vala +++ b/src/plugins/vala-pack/lang-server/ide-vala-locator.vala @@ -257,11 +257,12 @@ namespace Ide { public override void visit_end_full_expression (Vala.Expression expr) { if (expr is Vala.LambdaExpression) { - if ((expr as Vala.LambdaExpression).method != null) - visit_method ((expr as Vala.LambdaExpression).method); + unowned Vala.LambdaExpression lambda_expr = (Vala.LambdaExpression) expr; + if (lambda_expr.method != null) + visit_method (lambda_expr.method); } if (expr is Vala.MethodCall) { - foreach (Vala.Expression e in (expr as Vala.MethodCall).get_argument_list()) { + foreach (Vala.Expression e in ((Vala.MethodCall) expr).get_argument_list()) { visit_expression (e); } } @@ -269,8 +270,9 @@ namespace Ide { public override void visit_expression (Vala.Expression expr) { if (expr is Vala.LambdaExpression) { - if ((expr as Vala.LambdaExpression).method != null) - visit_method ((expr as Vala.LambdaExpression).method); + unowned Vala.LambdaExpression lambda_expr = (Vala.LambdaExpression) expr; + if (lambda_expr.method != null) + visit_method (lambda_expr.method); } /*if (expr is Vala.MethodCall) { update_location (expr); @@ -279,7 +281,7 @@ namespace Ide { }*/ if (expr is Vala.Assignment) { - (expr as Vala.Assignment).accept_children (this); + ((Vala.Assignment) expr).accept_children (this); } } } -- GitLab From fc4607dec2f3dca5dbfee7a56662856dc5a60254 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Mon, 30 Sep 2019 15:32:16 +0200 Subject: [PATCH 2/2] vala-pack: Support for vala 0.48 API --- .../vala-pack/lang-server/ide-utils.vala | 4 ++++ .../lang-server/ide-vala-completion.vala | 24 ++++++++++++------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/plugins/vala-pack/lang-server/ide-utils.vala b/src/plugins/vala-pack/lang-server/ide-utils.vala index b6baf1afc..091f16171 100644 --- a/src/plugins/vala-pack/lang-server/ide-utils.vala +++ b/src/plugins/vala-pack/lang-server/ide-utils.vala @@ -29,7 +29,11 @@ namespace Ide { if (node is Vala.MethodCall) { source_reference = ((Vala.MethodCall) node).call.symbol_reference.source_reference; } else if (node is Vala.DataType) { +#if VALA_0_48 + source_reference = ((Vala.DataType) node).type_symbol.source_reference; +#else source_reference = ((Vala.DataType) node).data_type.source_reference; +#endif } else if (node is Vala.MemberAccess) { weak Vala.Symbol symbol_ref = ((Vala.MemberAccess) node).symbol_reference; if (symbol_ref != null) { diff --git a/src/plugins/vala-pack/lang-server/ide-vala-completion.vala b/src/plugins/vala-pack/lang-server/ide-vala-completion.vala index d8312b139..0ce2529cd 100644 --- a/src/plugins/vala-pack/lang-server/ide-vala-completion.vala +++ b/src/plugins/vala-pack/lang-server/ide-vala-completion.vala @@ -110,6 +110,14 @@ namespace Ide return matching_symbols; } + inline Vala.ArrayList symbol_lookup_inherited_for_type (Vala.DataType data_type) { +#if VALA_0_48 + return symbol_lookup_inherited (data_type.type_symbol); +#else + return symbol_lookup_inherited (data_type.data_type); +#endif + } + Vala.ArrayList symbol_lookup_inherited (Vala.Symbol? sym, bool invocation = false) { @@ -127,32 +135,32 @@ namespace Ide if (invocation && sym is Vala.Method) { var func = (Vala.Method) sym; - result.add_all (symbol_lookup_inherited (func.return_type.data_type)); + result.add_all (symbol_lookup_inherited_for_type (func.return_type)); } else if (sym is Vala.Class) { var cl = (Vala.Class) sym; foreach (var base_type in cl.get_base_types ()) { - result.add_all (symbol_lookup_inherited (base_type.data_type)); + result.add_all (symbol_lookup_inherited_for_type (base_type)); } } else if (sym is Vala.Struct) { var st = (Vala.Struct) sym; - result.add_all (symbol_lookup_inherited (st.base_type.data_type)); + result.add_all (symbol_lookup_inherited_for_type (st.base_type)); } else if (sym is Vala.Interface) { var iface = (Vala.Interface) sym; foreach (var prerequisite in iface.get_prerequisites ()) { - result.add_all (symbol_lookup_inherited (prerequisite.data_type)); + result.add_all (symbol_lookup_inherited_for_type (prerequisite)); } } else if (sym is Vala.LocalVariable) { var variable = (Vala.LocalVariable) sym; - result.add_all (symbol_lookup_inherited (variable.variable_type.data_type)); + result.add_all (symbol_lookup_inherited_for_type (variable.variable_type)); } else if (sym is Vala.Field) { var field = (Vala.Field) sym; - result.add_all (symbol_lookup_inherited (field.variable_type.data_type)); + result.add_all (symbol_lookup_inherited_for_type (field.variable_type)); } else if (sym is Vala.Property) { var prop = (Vala.Property) sym; - result.add_all (symbol_lookup_inherited (prop.property_type.data_type)); + result.add_all (symbol_lookup_inherited_for_type (prop.property_type)); } else if (sym is Vala.Parameter) { var fp = (Vala.Parameter) sym; - result.add_all (symbol_lookup_inherited (fp.variable_type.data_type)); + result.add_all (symbol_lookup_inherited_for_type (fp.variable_type)); } return result; -- GitLab