[vala/0.52] codegen: Use CCodeConstant for member access of constant symbol



commit 86fc2eb1783aa3fa9b16bade0d9c3589674c7204
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Sat Nov 6 18:55:38 2021 +0100

    codegen: Use CCodeConstant for member access of constant symbol
    
    This broke assumptions in CCodeBaseModule.is_constant_ccode_expression()

 codegen/valaccodememberaccessmodule.vala | 2 +-
 tests/Makefile.am                        | 1 +
 tests/semantic/field-constant.vala       | 5 +++++
 3 files changed, 7 insertions(+), 1 deletion(-)
---
diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala
index ae9fca482..f8161b947 100644
--- a/codegen/valaccodememberaccessmodule.vala
+++ b/codegen/valaccodememberaccessmodule.vala
@@ -186,7 +186,7 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
                                }
                                set_cvalue (expr, new CCodeConstant ("\"%s\"".printf (s)));
                        } else {
-                               set_cvalue (expr, new CCodeIdentifier (get_ccode_name (c)));
+                               set_cvalue (expr, new CCodeConstant (get_ccode_name (c)));
                        }
 
                        if (array_type != null) {
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 23a84204c..b08700f11 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1013,6 +1013,7 @@ TESTS = \
        semantic/errordomain-empty.test \
        semantic/field-accessibility.test \
        semantic/field-compact-static.test \
+       semantic/field-constant.vala \
        semantic/field-external.test \
        semantic/field-incompatible.test \
        semantic/field-interface.test \
diff --git a/tests/semantic/field-constant.vala b/tests/semantic/field-constant.vala
new file mode 100644
index 000000000..43162dc38
--- /dev/null
+++ b/tests/semantic/field-constant.vala
@@ -0,0 +1,5 @@
+double foo = GLib.Math.PI;
+
+void main () {
+       assert (foo == GLib.Math.PI);
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]