[valadoc] ctyperesolver, virtual signals: register function pointer names



commit a4ea5ec772783547025169e51f3471b728bcf881
Author: Florian Brosch <flo brosch gmail com>
Date:   Thu Aug 21 02:59:13 2014 +0200

    ctyperesolver, virtual signals: register function pointer names

 src/libvaladoc/ctyperesolver.vala |   26 ++++----------------------
 1 files changed, 4 insertions(+), 22 deletions(-)
---
diff --git a/src/libvaladoc/ctyperesolver.vala b/src/libvaladoc/ctyperesolver.vala
index c560427..3c30dfd 100644
--- a/src/libvaladoc/ctyperesolver.vala
+++ b/src/libvaladoc/ctyperesolver.vala
@@ -318,6 +318,10 @@ public class Valadoc.CTypeResolver : Visitor {
                string cname = item.get_cname ();
                register_symbol (parent_cname+"::"+cname, item);
 
+               if (item.is_virtual) {
+                       // only supported by classes
+                       register_symbol (parent_cname + "Class." + item.name, item);
+               }
 
                Collection<Interface> interfaces = null;
                Collection<Class> classes = null;
@@ -354,28 +358,6 @@ public class Valadoc.CTypeResolver : Visitor {
 
                        // Allow to resolve invalid links:
                        register_symbol (parent_cname + "." + item.name, item);
-
-
-                       Collection<Interface> interfaces = null;
-                       Collection<Class> classes = null;
-
-                       if (item.parent is Interface) {
-                               interfaces = ((Api.Interface) item.parent).get_known_related_interfaces ();
-                               classes = ((Api.Interface) item.parent).get_known_implementations ();
-                       } else if (item.parent is Class) {
-                               interfaces = ((Api.Class) item.parent).get_known_derived_interfaces ();
-                               classes = ((Api.Class) item.parent).get_known_child_classes ();
-                       }
-
-                       foreach (Interface iface in interfaces) {
-                               register_symbol (iface.get_cname () + "Iface." + item.name, item);
-                               register_symbol (iface.get_cname () + "." + item.name, item);
-                       }
-
-                       foreach (Class cl in classes) {
-                               register_symbol (cl.get_cname () + "Class." + item.name, item);
-                               register_symbol (cl.get_cname () + "." + item.name, item);
-                       }
                }
 
                register_symbol (item.get_cname (), item);


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