]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Make use of Callable to replace some if-else-trees
authorRico Tzschichholz <ricotz@ubuntu.com>
Mon, 10 Oct 2016 18:22:10 +0000 (20:22 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Tue, 11 Oct 2016 09:07:25 +0000 (11:07 +0200)
codegen/valaccodeattribute.vala
vala/valagirparser.vala

index 0383fe3d41c0a561680fe69d293aba17bb26b3a6..f9c9ab6e79eceacc439766edab558b51e2638921 100644 (file)
@@ -376,12 +376,8 @@ public class Vala.CCodeAttribute : AttributeCache {
                                } else {
                                        var param = (Parameter) node;
                                        var sym = param.parent_symbol;
-                                       if (sym is Method) {
-                                               _pos = ((Method) sym).get_parameters().index_of (param) + 1.0;
-                                       } else if (sym is Delegate) {
-                                               _pos = ((Delegate) sym).get_parameters().index_of (param) + 1.0;
-                                       } else if (sym is Signal) {
-                                               _pos = ((Signal) sym).get_parameters().index_of (param) + 1.0;
+                                       if (sym is Callable) {
+                                               _pos = ((Callable) sym).get_parameters ().index_of (param) + 1.0;
                                        } else {
                                                _pos = 0.0;
                                        }
index 742868cefb201af641f913af00f69431744ed9fe..2a0e18db5081d2d9d847b1b8a3ad23f04ff75a74 100644 (file)
@@ -1515,12 +1515,7 @@ public class Vala.GirParser : CodeVisitor {
        }
 
        void assume_parameter_names (Signal sig, Symbol sym, bool skip_first) {
-               Iterator<Parameter> iter;
-               if (sym is Method) {
-                       iter = ((Method) sym).get_parameters ().iterator ();
-               } else {
-                       iter = ((Delegate) sym).get_parameters ().iterator ();
-               }
+               var iter = ((Callable) sym).get_parameters ().iterator ();
                bool first = true;
                foreach (var param in sig.get_parameters ()) {
                        if (!iter.next ()) {
@@ -3574,12 +3569,8 @@ public class Vala.GirParser : CodeVisitor {
                List<ParameterInfo> parameters = node.parameters;
 
                DataType return_type = null;
-               if (s is Method) {
-                       return_type = ((Method) s).return_type;
-               } else if (s is Delegate) {
-                       return_type = ((Delegate) s).return_type;
-               } else if (s is Signal) {
-                       return_type = ((Signal) s).return_type;
+               if (s is Callable) {
+                       return_type = ((Callable) s).return_type;
                }
 
                if (return_type is ArrayType && node.return_array_length_idx >= 0) {
@@ -3691,12 +3682,8 @@ public class Vala.GirParser : CodeVisitor {
 
                        /* add_parameter sets carray_length_parameter_position and cdelegate_target_parameter_position
                           so do it first*/
-                       if (s is Method) {
-                               ((Method) s).add_parameter (info.param);
-                       } else if (s is Delegate) {
-                               ((Delegate) s).add_parameter (info.param);
-                       } else if (s is Signal) {
-                               ((Signal) s).add_parameter (info.param);
+                       if (s is Callable) {
+                               ((Callable) s).add_parameter (info.param);
                        }
 
                        if (info.array_length_idx != -1) {
@@ -3754,12 +3741,8 @@ public class Vala.GirParser : CodeVisitor {
                        set_array_ccode (s, parameters[node.return_array_length_idx]);
                }
 
-               if (s is Method) {
-                       ((Method) s).return_type = return_type;
-               } else if (s is Delegate) {
-                       ((Delegate) s).return_type = return_type;
-               } else if (s is Signal) {
-                       ((Signal) s).return_type = return_type;
+               if (s is Callable) {
+                       ((Callable) s).return_type = return_type;
                }
        }