99using System . Xml ;
1010using System . Xml . Linq ;
1111using System . Xml . XPath ;
12- using mdoc . Mono . Documentation . Updater . Formatters ;
13- using Mono . Documentation . Updater . Formatters . CppFormatters ;
1412using Mono . Cecil ;
1513using Mono . Documentation . Updater ;
16- using Mono . Documentation . Updater . CppFormatters ;
14+ using Mono . Documentation . Updater . Formatters ;
1715using Mono . Documentation . Updater . Frameworks ;
1816using Mono . Documentation . Updater . Statistics ;
1917using Mono . Documentation . Util ;
2018using Mono . Options ;
2119
2220using MyXmlNodeList = System . Collections . Generic . List < System . Xml . XmlNode > ;
2321using StringList = System . Collections . Generic . List < string > ;
24- using StringToXmlNodeMap = System . Collections . Generic . Dictionary < string , System . Xml . XmlNode > ;
25- using System . Web . UI . WebControls ;
26- using mdoc . Mono . Documentation . Updater ;
27- using Lucene . Net . Documents ;
28- using System . Runtime . Serialization ;
29-
22+ using StringToXmlNodeMap = System . Collections . Generic . Dictionary < string , System . Xml . XmlNode > ;
23+
3024namespace Mono . Documentation
3125{
3226 public class MDocUpdater : MDocCommand
@@ -51,19 +45,9 @@ public class MDocUpdater : MDocCommand
5145
5246 string since ;
5347
54- static DocIdFormatter docIdFormatterField ;
5548 static MemberFormatter docTypeFormatterField ;
5649 static MemberFormatter filenameFormatterField ;
5750
58- static DocIdFormatter docIdFormatter
59- {
60- get
61- {
62- if ( docIdFormatterField == null )
63- docIdFormatterField = new DocIdFormatter ( MDocUpdater . Instance . TypeMap ) ;
64- return docIdFormatterField ;
65- }
66- }
6751 static MemberFormatter docTypeFormatter
6852 {
6953 get
@@ -83,37 +67,6 @@ static MemberFormatter filenameFormatter
8367 }
8468 }
8569
86- static MemberFormatter [ ] typeFormattersField ;
87- static MemberFormatter [ ] typeFormatters
88- {
89- get
90- {
91- if ( typeFormattersField == null )
92- typeFormattersField = new MemberFormatter [ ] {
93- new CSharpMemberFormatter ( MDocUpdater . Instance . TypeMap ) ,
94- new ILMemberFormatter ( MDocUpdater . Instance . TypeMap ) ,
95-
96- } ;
97-
98- return typeFormattersField ;
99- }
100- }
101-
102- static MemberFormatter [ ] memberFormattersField ;
103- static MemberFormatter [ ] memberFormatters
104- {
105- get
106- {
107- if ( memberFormattersField == null )
108- memberFormattersField = new MemberFormatter [ ] {
109- new CSharpFullMemberFormatter ( MDocUpdater . Instance . TypeMap ) ,
110- new ILFullMemberFormatter ( MDocUpdater . Instance . TypeMap ) ,
111-
112- } ;
113- return memberFormattersField ;
114- }
115- }
116-
11770 private readonly List < string > CustomAttributeNamesToSkip = new List < string > ( )
11871 {
11972 Consts . CompilerGeneratedAttribute ,
@@ -329,13 +282,13 @@ public override void Run (IEnumerable<string> args)
329282 "Add 'DocId' to the list of type and member signatures" ,
330283 v =>
331284 {
332- AddFormatter ( Consts . DocId ) ;
285+ FormatterManager . AddFormatter ( Consts . DocId ) ;
333286 } } ,
334287 { "lang=" ,
335288 "Add languages to the list of type and member signatures (DocId, VB.NET). Values can be coma separated" ,
336289 v =>
337290 {
338- AddFormatter ( v ) ;
291+ FormatterManager . AddFormatter ( v ) ;
339292 } } ,
340293 { "disable-searchdir-recurse" ,
341294 "Default behavior for adding search directories ('-L') is to recurse them and search in all subdirectories. This disables that" ,
@@ -382,7 +335,7 @@ public override void Run (IEnumerable<string> args)
382335 TypeMap map = TypeMap . FromXml ( typeMapPath ) ;
383336 this . TypeMap = map ;
384337
385- foreach ( var f in typeFormatters . Union ( memberFormatters ) )
338+ foreach ( var f in FormatterManager . TypeFormatters . Union ( FormatterManager . MemberFormatters ) )
386339 f . TypeMap = map ;
387340
388341 }
@@ -539,50 +492,6 @@ public override void Run (IEnumerable<string> args)
539492 Console . WriteLine ( "Members Added: {0}, Members Deleted: {1}" , additions , deletions ) ;
540493 }
541494
542- private static void AddFormatter ( string langId )
543- {
544- MemberFormatter memberFormatter ;
545- MemberFormatter typeFormatter ;
546- langId = langId . ToLower ( ) ;
547- var map = MDocUpdater . Instance . TypeMap ;
548- switch ( langId )
549- {
550- case Consts . DocIdLowCase :
551- typeFormatter = new DocIdFormatter ( map ) ;
552- memberFormatter = new DocIdFormatter ( map ) ;
553- break ;
554- case Consts . VbNetLowCase :
555- typeFormatter = new VBMemberFormatter ( map ) ;
556- memberFormatter = new VBMemberFormatter ( map ) ;
557- break ;
558- case Consts . CppCliLowCase :
559- typeFormatter = new CppMemberFormatter ( map ) ;
560- memberFormatter = new CppFullMemberFormatter ( map ) ;
561- break ;
562- case Consts . CppCxLowCase :
563- typeFormatter = new CppCxMemberFormatter ( map ) ;
564- memberFormatter = new CppCxFullMemberFormatter ( map ) ;
565- break ;
566- case Consts . CppWinRtLowCase :
567- typeFormatter = new CppWinRtMemberFormatter ( map ) ;
568- memberFormatter = new CppWinRtFullMemberFormatter ( map ) ;
569- break ;
570- case Consts . FSharpLowCase :
571- case "fsharp" :
572- typeFormatter = new FSharpMemberFormatter ( map ) ;
573- memberFormatter = new FSharpFullMemberFormatter ( map ) ;
574- break ;
575- case Consts . JavascriptLowCase :
576- typeFormatter = new JsMemberFormatter ( map ) ;
577- memberFormatter = new JsMemberFormatter ( map ) ;
578- break ;
579- default :
580- throw new ArgumentException ( "Unsupported formatter id '" + langId + "'." ) ;
581- }
582- typeFormattersField = typeFormatters . Union ( new [ ] { typeFormatter } ) . ToArray ( ) ;
583- memberFormattersField = memberFormatters . Union ( new [ ] { memberFormatter } ) . ToArray ( ) ;
584- }
585-
586495 public static bool IsInAssemblies ( string name )
587496 {
588497 return Instance ? . assemblies != null ? Instance . assemblies . Any ( a => a . Contains ( name ) ) : true ;
@@ -1636,7 +1545,7 @@ public void DoUpdateType2 (string message, XmlDocument basefile, TypeDefinition
16361545 AddEiiNameAsAttribute ( info . Member , oldmember , memberName ) ;
16371546 }
16381547
1639- string sig = oldmember2 != null ? memberFormatters [ 1 ] . GetDeclaration ( oldmember2 ) : null ;
1548+ string sig = oldmember2 != null ? FormatterManager . MemberFormatters [ 1 ] . GetDeclaration ( oldmember2 ) : null ;
16401549
16411550 // Interface implementations and overrides are deleted from the docs
16421551 // unless the overrides option is given.
@@ -1788,13 +1697,13 @@ public void DoUpdateType2 (string message, XmlDocument basefile, TypeDefinition
17881697 . Where ( m =>
17891698 {
17901699 if ( m is TypeDefinition ) return false ;
1791- string cssig = memberFormatters [ 0 ] . GetDeclaration ( m ) ;
1700+ string cssig = FormatterManager . MemberFormatters [ 0 ] . GetDeclaration ( m ) ;
17921701 if ( cssig == null ) return false ;
17931702
1794- string sig = memberFormatters [ 1 ] . GetDeclaration ( m ) ;
1703+ string sig = FormatterManager . MemberFormatters [ 1 ] . GetDeclaration ( m ) ;
17951704 if ( sig == null || seenmembers . ContainsKey ( sig ) ) return false ;
17961705
1797- var docidsig = docIdFormatter . GetDeclaration ( m ) ;
1706+ var docidsig = FormatterManager . DocIdFormatter . GetDeclaration ( m ) ;
17981707 if ( seenmembersdocid . ContainsKey ( docidsig ?? "" ) ) return false ;
17991708
18001709 // Verify that the member isn't an explicitly implemented
@@ -2200,7 +2109,7 @@ private static bool MemberDocsHaveUserContent (XmlNode e)
22002109
22012110 public XmlElement StubType ( AssemblySet set , AssemblyDefinition assembly , TypeDefinition type , FrameworkTypeEntry typeEntry , string output , IEnumerable < DocumentationImporter > importers , string Id , string Version )
22022111 {
2203- string typesig = typeFormatters [ 0 ] . GetDeclaration ( type ) ;
2112+ string typesig = FormatterManager . TypeFormatters [ 0 ] . GetDeclaration ( type ) ;
22042113 if ( typesig == null ) return null ; // not publicly visible
22052114
22062115 XmlDocument doc = new XmlDocument ( ) ;
@@ -2227,7 +2136,7 @@ public void UpdateType (XmlElement root, TypeDefinition type, FrameworkTypeEntry
22272136 root . SetAttribute ( "Name" , GetDocTypeName ( type , useTypeProjection : false ) ) ;
22282137 root . SetAttribute ( "FullName" , GetDocTypeFullName ( type , useTypeProjection : false ) ) ;
22292138
2230- foreach ( MemberFormatter f in typeFormatters )
2139+ foreach ( MemberFormatter f in FormatterManager . TypeFormatters )
22312140 {
22322141 UpdateSignature ( f , type , root , typeEntry ) ;
22332142 }
@@ -2543,7 +2452,7 @@ private void UpdateMember (DocsNodeInfo info, FrameworkTypeEntry typeEntry, Dict
25432452 MakeDocNode ( info , typeEntry . Framework . Importers , typeEntry ) ;
25442453
25452454
2546- foreach ( MemberFormatter f in memberFormatters )
2455+ foreach ( MemberFormatter f in FormatterManager . MemberFormatters )
25472456 {
25482457 UpdateSignature ( f , mi , me , typeEntry , implementedMembers ) ;
25492458 }
@@ -4468,7 +4377,7 @@ private XmlElement MakeMember (XmlDocument doc, DocsNodeInfo info, XmlNode membe
44684377 MemberReference mi = info . Member ;
44694378 if ( mi is TypeDefinition ) return null ;
44704379
4471- string sigs = memberFormatters [ 0 ] . GetDeclaration ( mi ) ;
4380+ string sigs = FormatterManager . MemberFormatters [ 0 ] . GetDeclaration ( mi ) ;
44724381 if ( sigs == null ) return null ; // not publicly visible
44734382
44744383 if ( DocUtils . IsIgnored ( mi ) )
@@ -4567,7 +4476,7 @@ private static string GetExplicitInterfaceMemberName(MemberReference mi)
45674476 /// SIGNATURE GENERATION FUNCTIONS
45684477 internal static bool IsPrivate ( MemberReference mi )
45694478 {
4570- return memberFormatters [ 0 ] . GetDeclaration ( mi ) == null ;
4479+ return FormatterManager . MemberFormatters [ 0 ] . GetDeclaration ( mi ) == null ;
45714480 }
45724481
45734482 internal static string GetMemberType ( MemberReference mi )
0 commit comments