Some types like ExternallyDefinedTypeDeclaration provide an explicit overload which use the Roslyn-synthesized TranslatedDeclaration copy constructor to shadow existing declarations, while with others (IE: TranslatedEnum) you must manually populate ReplacedDeclarations.
Both feel differing degrees of wrong, and forgetting to do this breaks type references. (EG: When replacing a typedef with a sythesized enum as with PotAudioNet.Generator.MacroTransformation.)
This should be revisited and potentially clarified. I think I accidentally went two different directions with this at some point in a way that's causing confusion for me now 😅
Some types like
ExternallyDefinedTypeDeclarationprovide an explicit overload which use the Roslyn-synthesizedTranslatedDeclarationcopy constructor to shadow existing declarations, while with others (IE:TranslatedEnum) you must manually populateReplacedDeclarations.Both feel differing degrees of wrong, and forgetting to do this breaks type references. (EG: When replacing a
typedefwith a sythesized enum as withPotAudioNet.Generator.MacroTransformation.)This should be revisited and potentially clarified. I think I accidentally went two different directions with this at some point in a way that's causing confusion for me now 😅