diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-06-11 13:28:11 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-06-14 15:46:39 +0200 |
commit | ecf55f6768005a50f4f84348a1991b3af7c1c71e (patch) | |
tree | e591746582415b7c7d9716698619b1b0d050170a /codegen/valaccodebasemodule.vala | |
parent | b98d970f52c7094c70cd65c8c9624e6b7a85bfc3 (diff) | |
download | vala-ecf55f6768005a50f4f84348a1991b3af7c1c71e.tar.gz |
codegen: Split reserved identifiers for C and Vala
Diffstat (limited to 'codegen/valaccodebasemodule.vala')
-rw-r--r-- | codegen/valaccodebasemodule.vala | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index c30f0dae9..fb323e28e 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -275,6 +275,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { public Set<string> predefined_marshal_set; /* (constant) hash table with all reserved identifiers in the generated code */ public static Set<string> reserved_identifiers; + public static Set<string> reserved_vala_identifiers; public int next_temp_var_id { get { return emit_context.next_temp_var_id; } @@ -467,10 +468,12 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { // MSVC keywords reserved_identifiers.add ("cdecl"); + reserved_vala_identifiers = new HashSet<string> (str_hash, str_equal); + // reserved for Vala/GObject naming conventions - reserved_identifiers.add ("error"); - reserved_identifiers.add ("result"); - reserved_identifiers.add ("self"); + reserved_vala_identifiers.add ("error"); + reserved_vala_identifiers.add ("result"); + reserved_vala_identifiers.add ("self"); } public override void emit (CodeContext context) { @@ -2721,7 +2724,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { next_temp_var_id++; } return variable_name_map.get (name); - } else if (reserved_identifiers.contains (name)) { + } else if (reserved_identifiers.contains (name) || reserved_vala_identifiers.contains (name)) { return "_%s_".printf (name); } else { return name; |