Skip to content

Commit

Permalink
Do not generate logical type names like "MyNamespace.Test,"
Browse files Browse the repository at this point in the history
  • Loading branch information
forki committed Feb 4, 2015
1 parent b40d937 commit 6cc3227
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ type ManglingNamesOfProvidedTypesWithSingleParameter() =
member this.MangleWithDefaultValue() =
let mangled =
PrettyNaming.computeMangledNameWithoutDefaultArgValues("MyNamespace.Test", [| "xyz" |], [| "Foo", Some "xyz" |])
Assert.AreEqual("MyNamespace.Test,", mangled)
Assert.AreEqual("MyNamespace.Test", mangled)

[<Test>]
member this.DemangleNonDefaultValue() =
Expand All @@ -29,11 +29,16 @@ type ManglingNamesOfProvidedTypesWithSingleParameter() =

[<Test>]
member this.DemangleDefaultValue() =
// If all provided parameters are the default value demangling fails - see #98
let name, parameters = PrettyNaming.demangleProvidedTypeName "MyNamespace.Test,"
Assert.AreEqual("MyNamespace.Test", name)
Assert.AreEqual([||], parameters)

[<Test>]
member this.DemangleNewDefaultValue() =
let name, parameters = PrettyNaming.demangleProvidedTypeName "MyNamespace.Test"
Assert.AreEqual("MyNamespace.Test", name)
Assert.AreEqual([||], parameters)

[<TestFixture>]
type ManglingNamesOfProvidedTypesWithMultipleParameter() =

Expand All @@ -53,7 +58,7 @@ type ManglingNamesOfProvidedTypesWithMultipleParameter() =
("MyNamespace.Test", [| "xyz"; "abc" |],
[| "Foo", Some "xyz"
"Foo2", Some "abc" |])
Assert.AreEqual("MyNamespace.Test,", mangled)
Assert.AreEqual("MyNamespace.Test", mangled)

[<Test>]
member this.DemangleMultiParameter() =
Expand Down
6 changes: 5 additions & 1 deletion src/fsharp/PrettyNaming.fs
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,11 @@ module internal Microsoft.FSharp.Compiler.PrettyNaming
nonDefaultArgs
|> Array.map mangleStaticStringArg
|> String.concat ","
typeLogicalName+","+nonDefaultArgsText

if nonDefaultArgsText = "" then
typeLogicalName
else
typeLogicalName + "," + nonDefaultArgsText


let computeMangledNameWithoutDefaultArgValues(nm,staticArgs,defaultArgValues) =
Expand Down

0 comments on commit 6cc3227

Please sign in to comment.