@@ -818,7 +818,7 @@ IndexForTypes CreateIndexForTypes (string dest)
818818 /// <param name="result">A typle that contains 1) the 'reltypefile', 2) the 'typefile', and 3) the file info</param>
819819 bool TryFindTypeFile ( string nsname , string typename , string basepath , out Tuple < string , string , FileInfo > result )
820820 {
821- string reltypefile = DocUtils . PathCombine ( nsname , typename + ".xml" ) ;
821+ string reltypefile = DocUtils . PathCombine ( nsname , typename . Replace ( "<" , "<" ) . Replace ( ">" , ">" ) + ".xml" ) ;
822822 string typefile = Path . Combine ( basepath , reltypefile ) ;
823823 System . IO . FileInfo file = new System . IO . FileInfo ( typefile ) ;
824824
@@ -1127,7 +1127,7 @@ private void DoUpdateAssembly (AssemblySet assemblySet, AssemblyDefinition assem
11271127 foreach ( TypeDefinition type in docEnum . GetDocumentationTypes ( assembly , null ) )
11281128 {
11291129 string typename = GetTypeFileName ( type ) ;
1130- if ( ! DocUtils . IsPublic ( type ) || DocUtils . IsIgnored ( type ) || typename . IndexOfAny ( InvalidFilenameChars ) >= 0 )
1130+ if ( ! DocUtils . IsPublic ( type ) || DocUtils . IsIgnored ( type ) || ( typename . IndexOfAny ( InvalidFilenameChars ) >= 0 && ! typename . Contains ( "<G>$" ) && ! typename . Contains ( "<M>$" ) ) )
11311131 continue ;
11321132
11331133 var typeEntry = frameworkEntry . ProcessType ( type , assembly ) ;
@@ -1437,7 +1437,7 @@ private static void CleanupIndexTypes (XmlElement index_types, HashSet<string> g
14371437 MyXmlNodeList remove = new MyXmlNodeList ( ) ;
14381438 foreach ( XmlElement typenode in index_types . SelectNodes ( "Namespace/Type" ) )
14391439 {
1440- string fulltypename = Path . Combine ( ( ( XmlElement ) typenode . ParentNode ) . GetAttribute ( "Name" ) , typenode . GetAttribute ( "Name" ) + ".xml" ) ;
1440+ string fulltypename = Path . Combine ( ( ( XmlElement ) typenode . ParentNode ) . GetAttribute ( "Name" ) , typenode . GetAttribute ( "Name" ) . Replace ( "<" , "<" ) . Replace ( ">" , ">" ) + ".xml" ) ;
14411441 if ( ! goodfiles . Contains ( fulltypename ) )
14421442 {
14431443 remove . Add ( typenode ) ;
0 commit comments