haxe
haxe copied to clipboard
XML output abstract duplicate
The XML output for abstract type implemention (<impl> node) is a duplicate of the the actual impl class which is also output.
It should only be a path to the impl class without full duplicate definition.
<abstract path="IconKind" params="" file="Data.hx" module="Data">
<this><c path="String"/></this>
<meta><m n=":enum"/></meta>
<impl><class path="_Data.IconKind_Impl_" params="" file="Data.hx" private="1" module="Data" final="1">
<Ok public="1" get="inline" set="null" expr="cast "Ok"" line="295" static="1">
<x path="IconKind"/>
<meta>
<m n=":value"><e>cast "Ok"</e></m>
<m n=":impl"/>
<m n=":enum"/>
</meta>
</Ok>
....
COMPLETE Impl content
</impl>
</abstract>
<class path="_Data.IconKind_Impl_" params="" file="Data.hx" private="1" module="Data" final="1">
<Ok public="1" get="inline" set="null" expr="cast "Ok"" line="295" static="1">
<x path="IconKind"/>
<meta>
<m n=":value"><e>cast "Ok"</e></m>
<m n=":impl"/>
<m n=":enum"/>
</meta>
</Ok>
<Bad public="1" get="inline" set="null" expr="cast "Bad"" line="295" static="1">
<x path="IconKind"/>
<meta>
<m n=":value"><e>cast "Bad"</e></m>
<m n=":impl"/>
<m n=":enum"/>
</meta>
</Bad>
<toString public="1" get="inline" set="null" line="448" static="1"><f a="this">
<c path="String"/>
<c path="String"/>
</f></toString>
<meta><m n=":enum"/></meta>
</class>
My intuition would be to instead omit the class from the class output. That way we don't have to mess around in the documentation parser, which would likely introduce really annoying Haxe 4 to 5 differences.