Skip to content

CLIEvent events are considered properties in XmlDoc Ids and Symbol API #10273

@auduchinok

Description

@auduchinok

F# properties tagged with CLIEvent attribute are compiled to CLI events instead of properties, however XmlDoc id mentions such events as properties anyway:

type T() =
    /// An event.
    [<CLIEvent>]
    member x.E = Event<int>().Publish

Generated documentation file:

<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly><name>ConsoleApp1</name></assembly>
<members>
<member name="M:Program.T.remove_E(Microsoft.FSharp.Control.FSharpHandler{System.Int32})">
<summary>
 An event.
</summary>
</member>
<member name="P:Program.T.E">
<summary>
 An event.
</summary>
</member>
<member name="M:Program.T.add_E(Microsoft.FSharp.Control.FSharpHandler{System.Int32})">
<summary>
 An event.
</summary>
</member>
</members>
</doc>

FCS Symbol API also reports the wrong id in FSharpMemberOrFunctionOrValue.XmlDocSig, and IsEvent is also false.

Probably related: #5834.

Metadata

Metadata

Assignees

Labels

Area-XmlDocsxmldoc generation, xmldoc contentBugImpact-Medium(Internal MS Team use only) Describes an issue with moderate impact on existing code.

Type

No fields configured for Bug.

Projects

Status

New

Relationships

None yet

Development

No branches or pull requests

Issue actions