[gnome-builder/gnome-builder-3-18] Minor fixes in the vala plugin
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-3-18] Minor fixes in the vala plugin
- Date: Tue, 13 Oct 2015 07:25:46 +0000 (UTC)
commit ec970d5171d333e012da16b5e4067787250841c3
Author: Ben Iofel <iofelben gmail com>
Date: Sun Sep 27 02:02:55 2015 -0400
Minor fixes in the vala plugin
plugins/vala-pack/configure.ac | 2 +-
plugins/vala-pack/ide-vala-completion-item.vala | 4 ++-
plugins/vala-pack/ide-vala-symbol-resolver.vala | 38 ++++++++++++++++++-----
3 files changed, 34 insertions(+), 10 deletions(-)
---
diff --git a/plugins/vala-pack/configure.ac b/plugins/vala-pack/configure.ac
index 273b267..7baeee7 100644
--- a/plugins/vala-pack/configure.ac
+++ b/plugins/vala-pack/configure.ac
@@ -7,7 +7,7 @@ AC_ARG_ENABLE([enable-vala-pack-plugin],
AS_IF([test x$enable_vala_pack_plugin != xno],[
PKG_CHECK_MODULES(VALA, [libvala-0.30 >= 0.29.3],[enable_vala_pack_plugin=yes],[
- AS_IF([test x$enable_vala_pack_plugin = yes],[
+ AS_IF([test x$enable_vala_pack_plugin = xyes],[
AC_MSG_ERROR([Failed to locate vala. Please install the vala-devel package.])
])
])
diff --git a/plugins/vala-pack/ide-vala-completion-item.vala b/plugins/vala-pack/ide-vala-completion-item.vala
index 7f3fbbb..94ee00b 100644
--- a/plugins/vala-pack/ide-vala-completion-item.vala
+++ b/plugins/vala-pack/ide-vala-completion-item.vala
@@ -51,7 +51,7 @@ namespace Ide
return "lang-variable-symbolic";
else if (symbol is Vala.Field)
return "struct-field-symbolic";
- else if (symbol is Vala.Method || symbol is Vala.MethodCall)
+ else if (symbol is Vala.Subroutine)
return "lang-function-symbolic";
else if (symbol is Vala.Namespace)
return "lang-include-symbolic";
@@ -67,6 +67,8 @@ namespace Ide
return "lang-enum-symbolic";
else if (symbol is Vala.EnumValue)
return "lang-enum-value-symbolic";
+ else if (symbol is Vala.Delegate)
+ return "lang-typedef-symbolic";
return null;
}
diff --git a/plugins/vala-pack/ide-vala-symbol-resolver.vala b/plugins/vala-pack/ide-vala-symbol-resolver.vala
index aefc1f9..200714a 100644
--- a/plugins/vala-pack/ide-vala-symbol-resolver.vala
+++ b/plugins/vala-pack/ide-vala-symbol-resolver.vala
@@ -52,7 +52,12 @@ namespace Ide
if (symbol != null) {
var kind = Ide.SymbolKind.NONE;
if (symbol is Vala.Class) kind = Ide.SymbolKind.CLASS;
- else if (symbol is Vala.Subroutine) kind = Ide.SymbolKind.FUNCTION;
+ else if (symbol is Vala.Subroutine) {
+ if (symbol.is_instance_member ())
+ kind = Ide.SymbolKind.METHOD;
+ else
+ kind = Ide.SymbolKind.FUNCTION;
+ }
else if (symbol is Vala.Struct) kind = Ide.SymbolKind.STRUCT;
else if (symbol is Vala.Field) kind = Ide.SymbolKind.FIELD;
else if (symbol is Vala.Enum) kind = Ide.SymbolKind.ENUM;
@@ -60,13 +65,14 @@ namespace Ide
else if (symbol is Vala.Variable) kind = Ide.SymbolKind.VARIABLE;
var flags = Ide.SymbolFlags.NONE;
- if (symbol.is_class_member ()) {
- if (symbol.is_instance_member ())
- flags |= Ide.SymbolFlags.IS_MEMBER;
- else
- flags |= Ide.SymbolFlags.IS_STATIC;
- }
- if (symbol.check_deprecated ())
+ if (symbol.is_instance_member ())
+ flags |= Ide.SymbolFlags.IS_MEMBER;
+
+ var binding = get_member_binding (symbol);
+ if (binding != null && binding == Vala.MemberBinding.STATIC)
+ flags |= Ide.SymbolFlags.IS_STATIC;
+
+ if (symbol.deprecated)
flags |= Ide.SymbolFlags.IS_DEPRECATED;
var source_reference = symbol.source_reference;
@@ -82,6 +88,22 @@ namespace Ide
return null;
}
+
+ // a member binding is Instance, Class, or Static
+ private Vala.MemberBinding? get_member_binding (Vala.Symbol sym)
+ {
+ if (sym is Vala.Constructor)
+ return ((Vala.Constructor)sym).binding;
+ if (sym is Vala.Destructor)
+ return ((Vala.Destructor)sym).binding;
+ if (sym is Vala.Field)
+ return ((Vala.Field)sym).binding;
+ if (sym is Vala.Method)
+ return ((Vala.Method)sym).binding;
+ if (sym is Vala.Property)
+ return ((Vala.Property)sym).binding;
+ return null;
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]