Skip to content

Commit 94b1c4c

Browse files
committed
minor code cleanup for il.fs
1 parent bed62ac commit 94b1c4c

File tree

1 file changed

+5
-16
lines changed

1 file changed

+5
-16
lines changed

src/absil/il.fs

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,7 @@ let memoizeNamespaceRightTable = new ConcurrentDictionary<string,string option *
8686

8787

8888
let splitNamespace nm =
89-
let mutable res = Unchecked.defaultof<_>
90-
let ok = memoizeNamespaceTable.TryGetValue(nm,&res)
91-
if ok then res else
92-
let x = splitNamespaceAux nm
93-
(memoizeNamespaceTable.[nm] <- x; x)
89+
memoizeNamespaceTable.GetOrAdd(nm, splitNamespaceAux)
9490

9591
let splitNamespaceMemoized nm = splitNamespace nm
9692

@@ -99,12 +95,9 @@ let memoizeNamespaceArrayTable =
9995
Concurrent.ConcurrentDictionary<string,string[]>()
10096

10197
let splitNamespaceToArray nm =
102-
let mutable res = Unchecked.defaultof<_>
103-
let ok = memoizeNamespaceArrayTable.TryGetValue(nm,&res)
104-
if ok then res else
105-
let x = Array.ofList (splitNamespace nm)
106-
(memoizeNamespaceArrayTable.[nm] <- x; x)
107-
98+
memoizeNamespaceArrayTable.GetOrAdd(nm, fun nm ->
99+
let x = Array.ofList (splitNamespace nm)
100+
x)
108101

109102
let splitILTypeName (nm:string) =
110103
match nm.LastIndexOf '.' with
@@ -157,11 +150,7 @@ let splitTypeNameRightAux nm =
157150
else None, nm
158151

159152
let splitTypeNameRight nm =
160-
let mutable res = Unchecked.defaultof<_>
161-
let ok = memoizeNamespaceRightTable.TryGetValue(nm,&res)
162-
if ok then res else
163-
let x = splitTypeNameRightAux nm
164-
(memoizeNamespaceRightTable.[nm] <- x; x)
153+
memoizeNamespaceRightTable.GetOrAdd(nm, splitTypeNameRightAux)
165154

166155
// --------------------------------------------------------------------
167156
// Ordered lists with a lookup table

0 commit comments

Comments
 (0)