haxe icon indicating copy to clipboard operation
haxe copied to clipboard

XML output abstract duplicate

Open ncannasse opened this issue 5 months ago • 1 comments

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 &quot;Ok&quot;" 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 &quot;Ok&quot;" 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 &quot;Bad&quot;" 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>

ncannasse avatar Sep 07 '25 15:09 ncannasse

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.

Simn avatar Sep 07 '25 15:09 Simn