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

Projects

Status

New

Relationships

None yet

Development

No branches or pull requests

Issue actions