Skip to content

Commit 3895e74

Browse files
committed
Quickfix for #9 and #10 - second attempt
1 parent 6d0ac01 commit 3895e74

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

Diff for: src/fsharp/PrettyNaming.fs

+1-1
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ module internal Microsoft.FSharp.Compiler.PrettyNaming
387387

388388
let MangledGlobalName = "`global`"
389389

390-
let IllegalCharactersInTypeAndNamespaceNames = [| '.'; '+'; '$'; '&'; '['; ']'; '/'; '\\'; '*'; '\"'; '`' |]
390+
let IllegalCharactersInTypeAndNamespaceNames = [| '.'; ','; '+'; '$'; '&'; '['; ']'; '/'; '\\'; '*'; '\"'; '`' |]
391391

392392
let IsActivePatternName (nm:string) =
393393
(nm.IndexOf '|' = 0) &&

Diff for: src/fsharp/ilxgen.fs

+4-4
Original file line numberDiff line numberDiff line change
@@ -282,16 +282,16 @@ let NestedTypeRefForCompLoc cloc n =
282282
mkILTyRef(cloc.clocScope,tyname)
283283
| h::t -> mkILNestedTyRef(cloc.clocScope,mkTopName cloc.clocNamespace h :: t,n)
284284

285-
let CleanUpGeneratedTypeName (nm:string) =
285+
let CleanUpGeneratedName (nm:string) =
286286
if nm.IndexOfAny IllegalCharactersInTypeAndNamespaceNames = -1 then
287287
nm
288288
else
289289
(nm,IllegalCharactersInTypeAndNamespaceNames) ||> Array.fold (fun nm c -> nm.Replace(string c, "-"))
290290

291291

292-
let TypeNameForInitClass cloc = "<StartupCode$" + (CleanUpGeneratedTypeName cloc.clocQualifiedNameOfFile) + ">.$" + cloc.clocTopImplQualifiedName
292+
let TypeNameForInitClass cloc = "<StartupCode$" + (CleanUpGeneratedName cloc.clocQualifiedNameOfFile) + ">.$" + (CleanUpGeneratedName cloc.clocTopImplQualifiedName)
293293
let TypeNameForImplicitMainMethod cloc = TypeNameForInitClass cloc + "$Main"
294-
let TypeNameForPrivateImplementationDetails cloc = "<PrivateImplementationDetails$" + (CleanUpGeneratedTypeName cloc.clocQualifiedNameOfFile) + ">"
294+
let TypeNameForPrivateImplementationDetails cloc = "<PrivateImplementationDetails$" + (CleanUpGeneratedName cloc.clocQualifiedNameOfFile) + ">"
295295

296296
let CompLocForInitClass cloc =
297297
{cloc with clocEncl=[TypeNameForInitClass cloc]; clocNamespace=None}
@@ -3881,7 +3881,7 @@ and GetIlxClosureFreeVars cenv m selfv eenvouter takenNames expr =
38813881
// Choose a name for the closure
38823882
let ilCloTypeRef =
38833883
// FSharp 1.0 bug 3404: System.Reflection doesn't like '.' and '`' in type names
3884-
let basenameSafeForUseAsTypename = CleanUpGeneratedTypeName basename
3884+
let basenameSafeForUseAsTypename = CleanUpGeneratedName basename
38853885
let suffixmark = expr.Range
38863886
let cloName = globalStableNameGenerator.GetUniqueCompilerGeneratedName(basenameSafeForUseAsTypename,suffixmark,uniq)
38873887
NestedTypeRefForCompLoc eenvouter.cloc cloName

0 commit comments

Comments
 (0)