예제 #1
0
        //============================================================
        // <T>解析单个文件。</T>
        //
        // @param file 要解析的文件
        //============================================================
        public void ParserSingleFile(FileInfo file)
        {
            FStrings strLines = FCsParser.GetLines(new FFileInfo(file.FullName));

            for (int n = 0; n < strLines.Count; n++)
            {
                if (FCsParser.IsSpace(strLines[n].ToString()))
                {
                    string space = string.Empty;
                    int    endindex = FCsSpace.ParserSpace(strLines, n, out space);
                    int    start, end = CheckParaAnnotate(strLines, n, out start);
                    for (int i = n; i < endindex; i++)
                    {
                        if (IsInInterregional(i, start, end))
                        {
                            continue;
                        }
                        if (FCsSpace.IsClass(strLines[i].ToString()))
                        {
                            string   classStr = FCsClass.ParserClass(strLines, i);
                            FMapNode node     = new FMapNode(classStr, space);
                            AddNode(node);
                            n = i;
                        }
                    }
                }
            }
        }
예제 #2
0
 //============================================================
 // <T>增加节点。</T>
 //
 // @param 需要增加的节点
 //============================================================
 public void AddNode(FMapNode node)
 {
     if (_classesMap.Contains(node.ClassStr))
     {
         _classesMap[node.ClassStr].Add(node.ArrayStr);
     }
     else
     {
         FArray <string> arrNode = new FArray <string>();
         arrNode.Add(node.ArrayStr);
         _classesMap.Set(node.ClassStr, arrNode);
     }
 }