[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);
|