string INdrFormatter.FormatComplexType(NdrComplexTypeReference complex_type)
 {
     return(complex_type.FormatComplexType(this));
 }
        private static void FixupComplexType(HashSet <NdrComplexTypeReference> fixup_set, NdrComplexTypeReference complex_type, UserDefinedTypeInformation udt)
        {
            if (!fixup_set.Add(complex_type))
            {
                return;
            }

            // Fixup the name to remove compiler generated characters.
            complex_type.Name = CodeGenUtils.MakeIdentifier(udt.Name);
            if (udt.Union)
            {
                if (complex_type is NdrUnionTypeReference union)
                {
                    FixupUnionType(fixup_set, union, udt);
                }
            }
            else
            {
                if (complex_type is NdrBaseStructureTypeReference str)
                {
                    FixupStructureType(fixup_set, str, udt);
                }
            }
        }