diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-08-31 16:28:05 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-08-31 16:37:32 +0200 |
commit | c0121583cee85656862516e689f8b63555a0ff20 (patch) | |
tree | d68eff521a0bcbb12d692e6b6a6402028b5962c6 /codegen | |
parent | ab74496e176e8bcba9b6cdc115381deaeb4ba092 (diff) | |
download | vala-c0121583cee85656862516e689f8b63555a0ff20.tar.gz |
codegen: Add missing cast to access base-class members in class/static ctor
Regression of 9cbd53b8d79aa4c394ddf49e766f2c15fc476906
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1221
Diffstat (limited to 'codegen')
-rw-r--r-- | codegen/valaccodebasemodule.vala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 54fc3e184..f7321b72a 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -2622,7 +2622,13 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { cast = call; } else { // Accessing the member from a static or class constructor - cast = new CCodeIdentifier ("klass"); + if (current_class == cl) { + cast = new CCodeIdentifier ("klass"); + } else { + call = new CCodeFunctionCall (new CCodeIdentifier (get_ccode_class_type_function (cl))); + call.add_argument (new CCodeIdentifier ("klass")); + cast = call; + } } return cast; } |