Thread: [csdoc-patches] CVS: csdoc/src/csdoc/MCSDoc ChangeLog,1.11,1.12 DocTreeGenerator.cs,1.5,1.6 INamespa
Status: Planning
Brought to you by:
mastergaurav
From: Gaurav V. <mas...@us...> - 2003-04-01 16:36:52
|
Update of /cvsroot/csdoc/csdoc/src/csdoc/MCSDoc In directory sc8-pr-cvs1:/tmp/cvs-serv5935 Modified Files: ChangeLog DocTreeGenerator.cs INamespaceDoc.cs NamespaceDoc.cs Log Message: 2003-04-01 * INamespaceDoc.cs : Namespaces { get; } - Sub-namespaces. * DocTreeGenerator.cs : Parsing done. Generation to start. * NamespaceDoc.cs : CreateHierarchy(ArrayList) - Stubbed. Index: ChangeLog =================================================================== RCS file: /cvsroot/csdoc/csdoc/src/csdoc/MCSDoc/ChangeLog,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ChangeLog 1 Apr 2003 16:04:09 -0000 1.11 +++ ChangeLog 1 Apr 2003 16:36:47 -0000 1.12 @@ -1,6 +1,12 @@ 2003-04-01 Gaurav Vaish <mastergaurav AT users DOT sf DOT net> + * INamespaceDoc.cs : Namespaces { get; } - Sub-namespaces. + * DocTreeGenerator.cs : Parsing done. Generation to start. + * NamespaceDoc.cs : CreateHierarchy(ArrayList) - Stubbed. + +2003-04-01 Gaurav Vaish <mastergaurav AT users DOT sf DOT net> + * AttributeDoc.cs : Oops! Forgot to add last time. * RootDoc.cs : Don't parse here. * DocTreeGenerator.cs : Making it come to use. Index: DocTreeGenerator.cs =================================================================== RCS file: /cvsroot/csdoc/csdoc/src/csdoc/MCSDoc/DocTreeGenerator.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DocTreeGenerator.cs 1 Apr 2003 16:04:09 -0000 1.5 +++ DocTreeGenerator.cs 1 Apr 2003 16:36:47 -0000 1.6 @@ -15,15 +15,15 @@ { internal class DocTreeGenerator { - private TypeContainer root; - private RootDoc rootDoc; + private TypeContainer root = null; + private RootDoc rootDoc = null; - private ArrayList allNamespaces; - private ArrayList allClasses; - private ArrayList allStructs; - private ArrayList allDelegates; - private ArrayList allEnums; - private ArrayList allInterfaces; + private ArrayList allNamespaces = new ArrayList(); + private ArrayList allClasses = new ArrayList(); + private ArrayList allStructs = new ArrayList(); + private ArrayList allDelegates = new ArrayList(); + private ArrayList allEnums = new ArrayList(); + private ArrayList allInterfaces = new ArrayList(); public DocTreeGenerator(TypeContainer root) { @@ -44,8 +44,93 @@ ParseDelegates(root.Delegates); ParseEnums(root.Enums); ParseInterfaces(root.Interfaces); + //First need to populate [allNamespaces] - //GenerateTree(); + //or should I populate while generating tree? + ParseNamespaces(); + GenerateTree(); + } + + private void ParseNamespaces() + { + foreach(ClassDoc cd in this.allClasses) + { + if(cd.Namespace.Name != null) + { + OptNamespaceAdd(cd.Namespace.Name); + } + } + + foreach(StructDoc sd in this.allStructs) + { + if(sd.Namespace.Name != null) + { + OptNamespaceAdd(sd.Namespace.Name); + } + } + + foreach(EnumDoc ed in this.allEnums) + { + if(ed.Namespace.Name != null) + { + OptNamespaceAdd(ed.Namespace.Name); + } + } + + foreach(InterfaceDoc id in this.allInterfaces) + { + if(id.Namespace.Name != null) + { + OptNamespaceAdd(id.Namespace.Name); + } + } + + foreach(DelegateDoc dd in this.allDelegates) + { + if(dd.Namespace.Name != null) + { + OptNamespaceAdd(dd.Namespace.Name); + } + } + } + + private void OptNamespaceAdd(string name) + { + foreach(NamespaceDoc current in allNamespaces) + { + if(current.Name == name) + { + return; + } + } + + NamespaceDoc nsd = new NamespaceDoc(name); + allNamespaces.Add(nsd); + } + + private void HandleNamespaceClass(Class klass, ClassDoc doc) + { + NamespaceDoc nsd = NamespaceLookup(klass.Namespace.Name); + nsd.AddClassDoc(doc); + } + + private void HandleNamespaceStruct(Struct esstruct, StructDoc doc) + { + NamespaceDoc nsd = NamespaceLookup(esstruct.Namespace.Name); + nsd.AddStructDoc(doc); + } + + private void HandleNamespaceEnum(Mono.CSharp.Enum eenum, + Mono.CSharp.Enum doc) + { + NamespaceDoc nsd = NamespaceLookup(eenum.Namespace.Name); + allNamespaces.AddClassDoc(doc); + } + + private void HandleNamespaceStruct(Struct esstruct, StructDoc doc) + { + NamespaceDoc nsd = NamespaceLookup(esstruct.Namespace.Name); + nsd.AddStructDoc(doc); } private void ParseContainers(ArrayList containers) @@ -95,7 +180,7 @@ { if(delegates != null && delegates.Count > 0) { - foreach(Delegate deleg in delegates) + foreach(Mono.CSharp.Delegate deleg in delegates) { DelegateDoc dd = new DelegateDoc(deleg); allDelegates.Add(dd); Index: INamespaceDoc.cs =================================================================== RCS file: /cvsroot/csdoc/csdoc/src/csdoc/MCSDoc/INamespaceDoc.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- INamespaceDoc.cs 28 Mar 2003 14:23:56 -0000 1.3 +++ INamespaceDoc.cs 1 Apr 2003 16:36:48 -0000 1.4 @@ -16,6 +16,8 @@ string Comments { get; } string Name { get; } + INamespaceDoc[] Namespaces { get; } + IClassDoc[] Classes { get; } IDelegateDoc[] Delegates { get; } IEnumDoc[] Enums { get; } Index: NamespaceDoc.cs =================================================================== RCS file: /cvsroot/csdoc/csdoc/src/csdoc/MCSDoc/NamespaceDoc.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- NamespaceDoc.cs 28 Mar 2003 14:23:57 -0000 1.1 +++ NamespaceDoc.cs 1 Apr 2003 16:36:48 -0000 1.2 @@ -34,11 +34,23 @@ throw new NotImplementedException(); } + /// <summary> + /// Will create a hierarchy of NamespaceDoc elements. + /// </summary> + public static ArrayList CreateHierarchy(ArrayList namespaceDocs) + { + ArrayList retVal = new ArrayList(); + if(namespaceDocs != null && namespaceDocs.Count > 0) + { + throw new NotImplementedException(); + } + } + public void AddClassDoc(IClassDoc doc) { classes.Add(doc); } - + public void AddStructDoc(IStructDoc doc) { structs.Add(doc); |