]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Next attempt to correct parameter positions for instance and error
authorJürg Billeter <j@bitron.ch>
Sat, 25 Oct 2008 18:41:00 +0000 (18:41 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 25 Oct 2008 18:41:00 +0000 (18:41 +0000)
2008-10-25  Jürg Billeter  <j@bitron.ch>

* vala/valadelegate.vala:
* gobject/valaccodegenerator.vala:
* gobject/valaccodeinvocationexpressionmodule.vala:

Next attempt to correct parameter positions for instance and
error parameters in delegate wrappers

svn path=/trunk/; revision=1928

ChangeLog
gobject/valaccodegenerator.vala
gobject/valaccodeinvocationexpressionmodule.vala
vala/valadelegate.vala

index e05ab7a82bfec5634e48686ed18bc5b7bb3f012f..89a747ff16e1f98ce17747f97af3031caec24773 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-10-25  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valadelegate.vala:
+       * gobject/valaccodegenerator.vala:
+       * gobject/valaccodeinvocationexpressionmodule.vala:
+
+       Next attempt to correct parameter positions for instance and
+       error parameters in delegate wrappers
+
 2008-10-25  Ali Sabil  <ali.sabil@gmail.com>
 
        * vapi/glib-2.0.vapi:
index fa99eed6dc7e811d460f65885acc778f423f79fc..ad1774dc84df4ca6897ab3183ed5a2f5442061ef 100644 (file)
@@ -3925,7 +3925,7 @@ public class Vala.CCodeGenerator : CodeGenerator {
 
                if (m.get_error_types ().size > 0) {
                        var cparam = new CCodeFormalParameter ("error", "GError**");
-                       cparam_map.set (get_param_pos (-2), cparam);
+                       cparam_map.set (get_param_pos (-1), cparam);
                }
 
                // append C parameters in the right order
index 2b044cf510be9ee39e0b622b8f3bbaa7e05ba936..23fcf1b196aa755f190ef5fc2baf48b427643b13 100644 (file)
@@ -366,7 +366,7 @@ public class Vala.CCodeInvocationExpressionModule : CCodeModule {
                        // method can fail
                        codegen.current_method_inner_error = true;
                        // add &inner_error before the ellipsis arguments
-                       carg_map.set (codegen.get_param_pos (-2), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("inner_error")));
+                       carg_map.set (codegen.get_param_pos (-1), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier ("inner_error")));
                }
 
                if (ellipsis) {
index 281ef0a3ff1bbe547258e551cfcf2f10cd6cf33b..fdf949f8a3b6e5c16f1a2ef8702adf5fa00f6065 100644 (file)
@@ -100,7 +100,8 @@ public class Vala.Delegate : TypeSymbol {
                this.return_type = return_type;
                this.source_reference = source_reference;
 
-               cinstance_parameter_position = -1;
+               // error is -1 (right of user_data)
+               cinstance_parameter_position = -2;
                carray_length_parameter_position = -3;
                cdelegate_target_parameter_position = -3;
        }