]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
ctyperesolver, virtual signals: register function pointer names
authorFlorian Brosch <flo.brosch@gmail.com>
Thu, 21 Aug 2014 00:59:13 +0000 (02:59 +0200)
committerFlorian Brosch <flo.brosch@gmail.com>
Fri, 29 Aug 2014 13:51:59 +0000 (15:51 +0200)
src/libvaladoc/ctyperesolver.vala

index c5604276a3e270337e8993c585bd31d6b79c6f9b..3c30dfdf54bda0ba6c6103b5883954ea8979641b 100644 (file)
@@ -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);