[m-rev.] diff: do not generate C# field names that begin with a digit
Julien Fischer
jfischer at opturion.com
Mon Sep 29 00:47:58 AEST 2025
Do not generate C# field names that begin with a digit.
The fact that we are not currently doing this causes the
submodules/dot_separator test to fail in the csharp grade, due to that test
containing data constructors whose names begin with digits.
compiler/mlds_to_cs_name.m:
As above.
Julien.
diff --git a/compiler/mlds_to_cs_name.m b/compiler/mlds_to_cs_name.m
index 425c0e545..58f290cc5 100644
--- a/compiler/mlds_to_cs_name.m
+++ b/compiler/mlds_to_cs_name.m
@@ -225,7 +225,7 @@
local_var_name_to_ll_string_for_csharp(LocalVarName) = LocalVarNameStr
:-
field_var_name_to_nll_string_for_csharp(FieldVarName) = FieldVarNameStr :-
RawString = ml_field_var_name_to_string(FieldVarName),
- MangledString = name_mangle(RawString),
+ MangledString = name_mangle_no_leading_digit(RawString),
FieldVarNameStr = make_valid_csharp_symbol_name(MangledString).
field_var_name_to_ll_string_for_csharp(FieldVarName) = FieldVarNameStr :-
More information about the reviews
mailing list