Skip to content

Commit ac03e4b

Browse files
authored
Cope with multiple CompilationMappingAttribute (#115)
1 parent a214d52 commit ac03e4b

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

ApiSurface/DocCoverage.fs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,12 @@ module DocCoverage =
128128
let isUnion = FSharpType.IsUnion (t, true)
129129

130130
let typeConstruct =
131-
t.GetCustomAttribute<CompilationMappingAttribute> () |> getSourceConstructFlags
131+
t.GetCustomAttributes<CompilationMappingAttribute> ()
132+
|> Seq.map getSourceConstructFlags
133+
|> List.ofSeq
132134

133135
t,
136+
typeConstruct,
134137
t.GetMembers (
135138
BindingFlags.Public
136139
||| BindingFlags.NonPublic
@@ -143,7 +146,7 @@ module DocCoverage =
143146
&&
144147

145148
// Exception fields are impossible to document - skip them all
146-
typeConstruct <> SourceConstructFlags.Exception
149+
not (List.contains SourceConstructFlags.Exception typeConstruct)
147150
&&
148151

149152
// Skip code generated members
@@ -176,12 +179,9 @@ module DocCoverage =
176179
| _ -> true
177180
)
178181
)
179-
|> Seq.collect (fun (t, mis) ->
182+
|> Seq.collect (fun (t, typeConstruct, mis) ->
180183
let isUnion = FSharpType.IsUnion (t, true)
181184

182-
let typeConstruct =
183-
t.GetCustomAttribute<CompilationMappingAttribute> () |> getSourceConstructFlags
184-
185185
// Skip modules which have a corresponding type
186186
let optionalTypeDoc =
187187
let searchName =
@@ -191,7 +191,7 @@ module DocCoverage =
191191
t.FullName
192192

193193
if
194-
typeConstruct = SourceConstructFlags.Module
194+
List.contains SourceConstructFlags.Module typeConstruct
195195
&& typeWithNonGenericNameExists t searchName
196196
then
197197
[]

ApiSurface/Test/ApiSurface.Test.fsproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
</ItemGroup>
2121
<ItemGroup>
2222
<PackageReference Update="System.Text.Json" Version="8.0.4" />
23-
<PackageReference Include="FsCheck" Version="2.16.6" />
24-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
25-
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
26-
<PackageReference Include="FsUnit" Version="6.0.0" />
27-
<PackageReference Include="NUnit" Version="4.1.0" />
23+
<PackageReference Include="FsCheck" Version="3.3.0" />
24+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
25+
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
26+
<PackageReference Include="FsUnit" Version="7.1.1" />
27+
<PackageReference Include="NUnit" Version="4.3.2" />
2828
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="4.2.13" />
2929
<PackageReference Include="System.Net.NameResolution" Version="4.3.0" />
3030
<PackageReference Include="System.Net.Primitives" Version="4.3.0" />

ApiSurface/Test/TestVersionFile.fs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
open System.IO
44
open System.IO.Abstractions.TestingHelpers
55
open ApiSurface
6+
open FsCheck.FSharp
67
open NUnit.Framework
78
open FsUnitTyped
89
open FsCheck
@@ -125,12 +126,12 @@ module TestVersionFile =
125126

126127
let versionFileGen : Gen<VersionFile> =
127128
gen {
128-
let! major = Arb.generate<int>
129+
let! major = ArbMap.defaults |> ArbMap.generate<int>
129130
let major = abs major
130-
let! minor = Arb.generate<int>
131+
let! minor = ArbMap.defaults |> ArbMap.generate<int>
131132
let minor = abs minor
132-
let! releaseRefSpec = Arb.generate<NonNull<string> list>
133-
let! pathFilters = Arb.generate<NonNull<string> list option>
133+
let! releaseRefSpec = ArbMap.defaults |> ArbMap.generate<NonNull<string> list>
134+
let! pathFilters = ArbMap.defaults |> ArbMap.generate<NonNull<string> list option>
134135

135136
return
136137
{

0 commit comments

Comments
 (0)