[vala/0.40] libvaladoc: Support exporting the `class` modifier on methods



commit 5129e6e747e0508c4ffd4f753a1b258a650d6bd1
Author: Corentin Noël <corentin noel collabora com>
Date:   Fri Jul 17 10:35:37 2020 +0200

    libvaladoc: Support exporting the `class` modifier on methods

 libvaladoc/api/method.vala            | 11 +++++++++++
 libvaladoc/api/methodbindingtype.vala |  6 +++++-
 valadoc/treebuilder.vala              |  4 +++-
 3 files changed, 19 insertions(+), 2 deletions(-)
---
diff --git a/libvaladoc/api/method.vala b/libvaladoc/api/method.vala
index dddd96e91..2c487c4fe 100644
--- a/libvaladoc/api/method.vala
+++ b/libvaladoc/api/method.vala
@@ -147,6 +147,15 @@ public class Valadoc.Api.Method : Member, Callable {
                }
        }
 
+       /**
+        * Specifies whether this method is a class method
+        */
+       public bool is_class {
+               get {
+                       return binding_type == MethodBindingType.CLASS;
+               }
+       }
+
        /**
         * Specifies whether this method is a creation method
         */
@@ -183,6 +192,8 @@ public class Valadoc.Api.Method : Member, Callable {
                if (!is_constructor) {
                        if (is_static) {
                                signature.append_keyword ("static");
+                       } else if (is_class) {
+                               signature.append_keyword ("class");
                        } else if (is_abstract) {
                                signature.append_keyword ("abstract");
                        } else if (is_override) {
diff --git a/libvaladoc/api/methodbindingtype.vala b/libvaladoc/api/methodbindingtype.vala
index 0e1df797e..39d5adf39 100644
--- a/libvaladoc/api/methodbindingtype.vala
+++ b/libvaladoc/api/methodbindingtype.vala
@@ -27,7 +27,8 @@ public enum Valadoc.MethodBindingType {
        ABSTRACT,
        VIRTUAL,
        INLINE,
-       STATIC;
+       STATIC,
+       CLASS;
 
        public unowned string to_string () {
                switch (this) {
@@ -46,6 +47,9 @@ public enum Valadoc.MethodBindingType {
                case STATIC:
                        return "static";
 
+               case CLASS:
+                       return "class";
+
                case UNMODIFIED:
                        return "";
                }
diff --git a/valadoc/treebuilder.vala b/valadoc/treebuilder.vala
index f0e710b58..bf8d12559 100644
--- a/valadoc/treebuilder.vala
+++ b/valadoc/treebuilder.vala
@@ -564,7 +564,9 @@ public class Valadoc.Drivers.TreeBuilder : Vala.CodeVisitor {
                        return MethodBindingType.OVERRIDE;
                } else if (element.is_inline) {
                        return MethodBindingType.INLINE;
-               } else if (element.binding != Vala.MemberBinding.INSTANCE) {
+               } else if (element.binding == Vala.MemberBinding.CLASS) {
+                       return MethodBindingType.CLASS;
+               } else if (element.binding == Vala.MemberBinding.STATIC) {
                        return MethodBindingType.STATIC;
                }
                return MethodBindingType.UNMODIFIED;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]