Skip to content

Commit 53df4b8

Browse files
v-susu1huangmin-ms
andauthored
bug 686206: F# property signature is missing 'static' keyword (#646)
* Fix bug 686206 * update * update * update * clean before build * update tests Co-authored-by: Min Huang <[email protected]>
1 parent afdf849 commit 53df4b8

File tree

6 files changed

+17
-8
lines changed

6 files changed

+17
-8
lines changed

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ stages:
113113
displayName: Run Unit and Integration Tests
114114
inputs:
115115
targetType: 'inline'
116-
script: 'make prepare all check CONFIGURATION=$(buildConfiguration)'
116+
script: 'make prepare clean all check CONFIGURATION=$(buildConfiguration)'
117117

118118
- task: EsrpCodeSigning@1
119119
displayName: Sign executable and dll files

mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -734,7 +734,16 @@ protected override string GetPropertyDeclaration(PropertyDefinition property)
734734
if (isField)
735735
buf.Append("val ");
736736
else
737-
buf.Append("member this.");
737+
{
738+
if (property.GetMethod?.IsStatic ?? false)
739+
{
740+
buf.Append("static member ");
741+
}
742+
else
743+
{
744+
buf.Append("member this.");
745+
}
746+
}
738747
}
739748

740749
buf.Append(DocUtils.GetPropertyName(property, NestedTypeSeparator));

mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AquariumFilter.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
<MemberSignature Language="ILAsm" Value=".property class System.Windows.RoutedEvent NeedsCleaningEvent" />
4545
<MemberSignature Language="DocId" Value="P:AttachedEventsAndProperties.AquariumFilter.NeedsCleaningEvent" />
4646
<MemberSignature Language="VB.NET" Value="Public Shared Property NeedsCleaningEvent As RoutedEvent" />
47-
<MemberSignature Language="F#" Value="member this.NeedsCleaningEvent : System.Windows.RoutedEvent with get, set" Usage="AttachedEventsAndProperties.AquariumFilter.NeedsCleaningEvent" />
47+
<MemberSignature Language="F#" Value="static member NeedsCleaningEvent : System.Windows.RoutedEvent with get, set" Usage="AttachedEventsAndProperties.AquariumFilter.NeedsCleaningEvent" />
4848
<MemberSignature Language="JavaScript" Usage="var routedEvent = AquariumFilter.needsCleaningEvent;&#xA;AquariumFilter.needsCleaningEvent = routedEvent;" />
4949
<MemberSignature Language="C++ CLI" Value="public:&#xA; static property System::Windows::RoutedEvent ^ NeedsCleaningEvent { System::Windows::RoutedEvent ^ get(); void set(System::Windows::RoutedEvent ^ value); };" />
5050
<MemberSignature Language="C++ WINRT" Value="static System::Windows::RoutedEvent NeedsCleaningEvent();&#xA;&#xA;static void NeedsCleaningEvent(System::Windows::RoutedEvent value);" />

mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedPropertyExample.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@
170170
<MemberSignature Language="ILAsm" Value=".property bool IsDuplicated" />
171171
<MemberSignature Language="DocId" Value="P:AttachedEventsAndProperties.AttachedPropertyExample.IsDuplicated" />
172172
<MemberSignature Language="VB.NET" Value="Public Shared Property IsDuplicated As Boolean" />
173-
<MemberSignature Language="F#" Value="member this.IsDuplicated : bool with get, set" Usage="AttachedEventsAndProperties.AttachedPropertyExample.IsDuplicated" />
173+
<MemberSignature Language="F#" Value="static member IsDuplicated : bool with get, set" Usage="AttachedEventsAndProperties.AttachedPropertyExample.IsDuplicated" />
174174
<MemberSignature Language="JavaScript" Usage="var boolean = AttachedPropertyExample.isDuplicated;&#xA;AttachedPropertyExample.isDuplicated = boolean;" />
175175
<MemberSignature Language="C++ CLI" Value="public:&#xA; static property bool IsDuplicated { bool get(); void set(bool value); };" />
176176
<MemberSignature Language="C++ CX" Value="public:&#xA; static property bool IsDuplicated { bool get(); void set(bool value); };" />

mdoc/Test/en.expected-fsharp/DiscriminatedUnions+SizeUnion.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@
317317
<Member MemberName="Large">
318318
<MemberSignature Language="C#" Value="public static DiscriminatedUnions.SizeUnion Large { get; }" />
319319
<MemberSignature Language="ILAsm" Value=".property DiscriminatedUnions/SizeUnion Large" />
320-
<MemberSignature Language="F#" Value="member this.Large : DiscriminatedUnions.SizeUnion" Usage="DiscriminatedUnions.SizeUnion.Large" />
320+
<MemberSignature Language="F#" Value="static member Large : DiscriminatedUnions.SizeUnion" Usage="DiscriminatedUnions.SizeUnion.Large" />
321321
<MemberType>Property</MemberType>
322322
<AssemblyInfo>
323323
<AssemblyVersion>1.0.0.0</AssemblyVersion>
@@ -348,7 +348,7 @@
348348
<Member MemberName="Medium">
349349
<MemberSignature Language="C#" Value="public static DiscriminatedUnions.SizeUnion Medium { get; }" />
350350
<MemberSignature Language="ILAsm" Value=".property DiscriminatedUnions/SizeUnion Medium" />
351-
<MemberSignature Language="F#" Value="member this.Medium : DiscriminatedUnions.SizeUnion" Usage="DiscriminatedUnions.SizeUnion.Medium" />
351+
<MemberSignature Language="F#" Value="static member Medium : DiscriminatedUnions.SizeUnion" Usage="DiscriminatedUnions.SizeUnion.Medium" />
352352
<MemberType>Property</MemberType>
353353
<AssemblyInfo>
354354
<AssemblyVersion>1.0.0.0</AssemblyVersion>
@@ -379,7 +379,7 @@
379379
<Member MemberName="Small">
380380
<MemberSignature Language="C#" Value="public static DiscriminatedUnions.SizeUnion Small { get; }" />
381381
<MemberSignature Language="ILAsm" Value=".property DiscriminatedUnions/SizeUnion Small" />
382-
<MemberSignature Language="F#" Value="member this.Small : DiscriminatedUnions.SizeUnion" Usage="DiscriminatedUnions.SizeUnion.Small" />
382+
<MemberSignature Language="F#" Value="static member Small : DiscriminatedUnions.SizeUnion" Usage="DiscriminatedUnions.SizeUnion.Small" />
383383
<MemberType>Property</MemberType>
384384
<AssemblyInfo>
385385
<AssemblyVersion>1.0.0.0</AssemblyVersion>

mdoc/mdoc.Test/FSharp/FSharpFormatterTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public void TypeSignature_Union_4() =>
135135
public void TypeSignature_Union_5() =>
136136
TestPropertySignature(
137137
typeof(DiscriminatedUnions.SizeUnion),
138-
"member this.Small : DiscriminatedUnions.SizeUnion",
138+
"static member Small : DiscriminatedUnions.SizeUnion",
139139
nameof(DiscriminatedUnions.SizeUnion.Small));
140140

141141
[Test]

0 commit comments

Comments
 (0)