Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | codegen: Add implicit parameter and instance checks in async method | Rico Tzschichholz | 2020-06-09 | 1 | -0/+21 |
| | | | | | | | This is already done for every non-async method and can be disabled by passing --disable-assert. See https://gitlab.gnome.org/GNOME/vala/issues/1005 | ||||
* | codegen: Correct field declaration for captured inline-allocated array | Rico Tzschichholz | 2020-03-31 | 1 | -2/+2 |
| | | | | | | | Also pass proper size to memset for local temp variables of inline-allocated arrays in asynchronous context. Fixes https://gitlab.gnome.org/GNOME/vala/issues/954 | ||||
* | codegen: Improve handling of "array_length_type" attribute | Rico Tzschichholz | 2020-03-17 | 1 | -2/+2 |
| | | | | | | This affects methods, parameters, field and properties. Fixes https://gitlab.gnome.org/GNOME/vala/issues/938 | ||||
* | vala: Unify "this_parameter" creation using SemanticAnalyzer.get_this_type() | Rico Tzschichholz | 2019-11-17 | 1 | -1/+1 |
| | |||||
* | codegen: Commonize the determining of return-type for delegates and methods | Rico Tzschichholz | 2019-11-09 | 1 | -5/+1 |
| | |||||
* | codegen: Make CCodeBaseModule.generate_method_declaration() return bool | Simon Werbeck | 2019-10-09 | 1 | -3/+5 |
| | | | | This is how CCodeBaseModule.generate_enum_declaration() works already. | ||||
* | codegen: Follow rename of DataType data_type property to type_symbol | Rico Tzschichholz | 2019-09-30 | 1 | -2/+2 |
| | |||||
* | codegen: When freeing local variables don't stop at "switch" on "continue" | Rico Tzschichholz | 2019-05-17 | 1 | -1/+1 |
| | | | | | | | So distinguish between BreakStatement and ContinueStatement to make the correct decision in append_local_free(). Fixes https://gitlab.gnome.org/GNOME/vala/issues/799 | ||||
* | Require and target GLib >= 2.48 | Rico Tzschichholz | 2019-03-17 | 1 | -77/+1 |
| | | | | | | | The next stable release of vala will happen 3.5 years after the release of GLib 2.48.0. Fixes https://gitlab.gnome.org/GNOME/vala/issues/671 | ||||
* | codegen: Add get_variable_array_length_cname() and use as possible | Rico Tzschichholz | 2019-02-24 | 1 | -1/+1 |
| | | | | This also replaces get_parameter_array_length_cname() | ||||
* | codegen: Use get_ccode_*name/get_parameter_cexpression() for Parameters | Rico Tzschichholz | 2019-01-15 | 1 | -4/+4 |
| | |||||
* | codegen: Handle non-default AsyncResult parameter position | Rico Tzschichholz | 2018-12-11 | 1 | -3/+3 |
| | | | | | | | | | | | Unfortunately gdbus-codegen puts the AsyncResult parameter after possible out-parameters therefore there is an "async_result_pos" attribute required to handle this correctly. Vala supposely follows the common practice to put the AsyncResult before out-parameters by default. Fixes https://gitlab.gnome.org/GNOME/vala/issues/709 | ||||
* | codegen: Add type declarations required for generics as needed | Rico Tzschichholz | 2018-11-21 | 1 | -0/+2 |
| | |||||
* | codegen: Add profile specific delegate target/destroy types | Rico Tzschichholz | 2018-11-21 | 1 | -4/+4 |
| | | | | | Make sure to use them in all delegate related contexts. This improves the support of POSIX profile. | ||||
* | codegen: Remove hardcoded "int" length type and use ArrayType.length_type | George Barrett | 2018-11-02 | 1 | -2/+4 |
| | | | | https://gitlab.gnome.org/GNOME/vala/issues/607 | ||||
* | Collect error_types on demand to allow transformations | Luca Bruno | 2018-10-23 | 1 | -2/+2 |
| | |||||
* | vala: Enforce "return yield ..." syntax to be expected | Rico Tzschichholz | 2018-09-22 | 1 | -30/+5 |
| | | | | | | "yield return ..." wasn't handled correctly and resulted in broken c-code. Fixes https://gitlab.gnome.org/GNOME/vala/issues/675 | ||||
* | codegen: Unify some delegate-type check patterns | Rico Tzschichholz | 2018-06-06 | 1 | -3/+1 |
| | |||||
* | codegen: Keep arrays alive during async server method calls | Ole André Vadla Ravnås | 2018-04-14 | 1 | -1/+1 |
| | | | | | | | | When calling a co-routine it is the caller's responsibility to ensure that arrays stay alive for the duration of the call. The GDBus server code emitted did not do this, resulting in use-after-free. https://bugzilla.gnome.org/show_bug.cgi?id=783002 | ||||
* | codegen: Fix return-type for cancelled async creation methods of classes | Ernestas Kulik | 2018-01-27 | 1 | -0/+1 |
| | | | | | | | While gcc just puts out a warning clang actually fails due to -Werror=return-type. https://bugzilla.gnome.org/show_bug.cgi?id=792942 | ||||
* | codegen: Make the task_complete flag for < 2.44 more similar to >= 2.44 | Carlos Garnacho | 2017-06-12 | 1 | -6/+59 |
| | | | | | | | | | | | | | | | | According to the g_task_get_completed() docs (which we rely on for glib >= 2.44 targets): "This changes from FALSE to TRUE after the task's callback is invoked, and will return FALSE from inside the callback". So to make the code paths most similar to >= 2.44 (when g_task_get_completed is available), wrap the GAsyncReadyCallback with one of our own, that just invokes the nested callback (if any) and turns on the flag. Also remove the code turning on the flag on finish(), it's superfluous now and there are no guarantees that it will be invoked. https://bugzilla.gnome.org/show_bug.cgi?id=783543 | ||||
* | Require and target GLib >= 2.40 | Rico Tzschichholz | 2017-05-17 | 1 | -119/+57 |
| | | | | | | | The next stable release of vala will happen 3.5 years after the release of GLib 2.40.0. https://bugzilla.gnome.org/show_bug.cgi?id=782005 | ||||
* | codegen: Fix finally blocks with async yields | Luca Bruno | 2017-05-09 | 1 | -1/+1 |
| | | | | | | | The Method.yield_count is not correct because in C the finally blocks may be emitted twice. https://bugzilla.gnome.org/show_bug.cgi?id=741929 | ||||
* | codegen: Re-use CCodeIdentifier ("_data_") | Rico Tzschichholz | 2016-12-14 | 1 | -5/+7 |
| | |||||
* | codegen: Compensate for the lack of g_task_get_completed on glib < 2.44 | Carlos Garnacho | 2016-12-14 | 1 | -0/+22 |
| | | | | | | | | | | | | | If a target glib between 2.36 and 2.44 is used, store a boolean var in the async task data, which is initialized to FALSE and set to TRUE in the async task callback, so async-forced-to-sync like the async generator example can block until the task is complete. There is one special case, if the async task receives no callback to execute, the boolean flag is set to TRUE right away, as it will be "finished" by the first time it's checked. https://bugzilla.gnome.org/show_bug.cgi?id=763345 | ||||
* | codegen: Use GTask instead of GSimpleAsyncResult if 2.36 target is selected | Carlos Garnacho | 2016-11-19 | 1 | -34/+127 |
| | | | | | | | | | | | | | | | | | | | GTask brings some differences compared to GSimpleAsyncResult. Most namely, g_task_return*() operations perform at once the async result data asignment and the caller's main context activation. This is something that has to be done exactly once, so the code flow has slight changes to ensure that. Also, the async operation data used to be attached early through g_simple_async_result_set_op_res_gpointer, only to be maybe replaced by the real return data. If GTask is being used, we set this data through g_task_set_task_data(). There's code out there relying on immediate return here when state is !=0. As GTask always defers the finalization to an idle in its main context, ensure the source is dispatched and the task completed before returning. https://bugzilla.gnome.org/show_bug.cgi?id=763345 | ||||
* | Fix broken destruction of null-terminated arrays in async data structs | Richard Wiedenhöft | 2016-11-07 | 1 | -3/+9 |
| | | | | https://bugzilla.gnome.org/show_bug.cgi?id=762819 | ||||
* | codegen: Remove support for GLib < 2.24 | Jürg Billeter | 2014-08-24 | 1 | -31/+1 |
| | |||||
* | Hide internal methods in ABI | Maciej Piechotka | 2014-03-24 | 1 | -0/+12 |
| | | | | Fixes bug 700157 | ||||
* | Fix broken parens introduced by previous commits | Luca Bruno | 2013-06-05 | 1 | -1/+1 |
| | |||||
* | Fix memory leak when defining async functions targeting glib < 2.20. | Luca Bruno | 2013-06-04 | 1 | -1/+21 |
| | | | | Fixes bug 684182 | ||||
* | Add support for Gtk widget templates. Created a new codegen gtkmodule. | Luca Bruno | 2013-05-23 | 1 | -1/+1 |
| | |||||
* | codegen: Fix g_simple_async_result_new in interface methods | Jürg Billeter | 2012-11-11 | 1 | -2/+2 |
| | | | | Fixes bug 684557. | ||||
* | codegen: Fix memory management when assigning to captured parameters | Jürg Billeter | 2012-09-09 | 1 | -8/+0 |
| | | | | Fixes bug 683646. | ||||
* | codegen: Fix memory leak with owned delegate parameters in async methods | Jürg Billeter | 2012-09-08 | 1 | -3/+12 |
| | | | | Fixes bug 683600. | ||||
* | codegen: Fix double free of captured owned parameters in async methods | Jürg Billeter | 2012-08-15 | 1 | -8/+2 |
| | |||||
* | GAsync: Support async creation methods | Jürg Billeter | 2012-06-24 | 1 | -13/+123 |
| | | | | Fixes bug 659886. | ||||
* | codegen: Add support for delegate_target_cname in CCode | Luca Bruno | 2012-02-06 | 1 | -1/+1 |
| | |||||
* | codegen: Don't copy array parameters when captured | Luca Bruno | 2012-01-07 | 1 | -8/+8 |
| | | | | | | Also allow uncopiable compact classes to be captured. Fixes bug 639054. | ||||
* | codegen: Avoid name clashes in the closure struct | Luca Bruno | 2011-10-02 | 1 | -1/+0 |
| | | | | Fixes bug 596861. | ||||
* | codegen: Use CCodeAttribute instead of C specific methods of code nodes | Luca Bruno | 2011-08-01 | 1 | -28/+28 |
| | |||||
* | GAsync: Support generic types in async methods | Luca Bruno | 2011-07-08 | 1 | -0/+15 |
| | | | | Fixes bug 653861. | ||||
* | codegen: Add lvalue field to GLibValue | Luca Bruno | 2011-07-06 | 1 | -3/+3 |
| | |||||
* | codegen: Replace temp_ref_vars with temp_ref_values using TargetValue | Luca Bruno | 2011-07-06 | 1 | -3/+3 |
| | |||||
* | GAsync: Push method symbol only when needed when generating async functions | Luca Bruno | 2011-07-06 | 1 | -2/+6 |
| | | | | | Fixes possible regressions of commit 9b22a27ed5ca78b74f56df7 and commit ab011012db8f5087939514c. | ||||
* | GAsync: Fix returning out parameters from async methods | Luca Bruno | 2011-06-28 | 1 | -2/+2 |
| | | | | Fixes bug 640721. | ||||
* | GAsync: Use store_parameter when generating the async function | Luca Bruno | 2011-06-28 | 1 | -19/+6 |
| | |||||
* | codegen: Rename coroutine data variable to _data_ | Luca Bruno | 2011-06-28 | 1 | -9/+9 |
| | |||||
* | codegen: Fix warning about copying delegate parameters in async method | Luca Bruno | 2011-06-22 | 1 | -2/+8 |
| | |||||
* | GAsync: Use full result of copy_value in generate_async_function | Luca Bruno | 2011-05-08 | 1 | -15/+9 |
| |