summaryrefslogtreecommitdiff
path: root/codegen
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2021-08-31 16:28:05 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2021-08-31 16:37:32 +0200
commitc0121583cee85656862516e689f8b63555a0ff20 (patch)
treed68eff521a0bcbb12d692e6b6a6402028b5962c6 /codegen
parentab74496e176e8bcba9b6cdc115381deaeb4ba092 (diff)
downloadvala-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.vala8
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;
}