Esempio n. 1
0
 //============================================================
 // <T>向MAP表里面加入节点。</T>
 //
 // @param node 需要加工的节点
 // @param dotHFilePath H文件的路径
 //============================================================
 public void AddNode(FMapNode node, string dotHFilePath)
 {
     if (_classesMap.Names.Contains(node.FileDotH))
     {
         _classesMap[node.FileDotH].Add(node.ClassStr);
     }
     else
     {
         FArray <string> arrNode = new FArray <string>();
         arrNode.Add(dotHFilePath);
         arrNode.Add(node.ClassStr);
         _classesMap.Set(node.FileDotH, arrNode);
     }
 }
Esempio n. 2
0
        //============================================================
        // <T>解析单个文件</T>
        //
        // @param 需要解析的单个文件
        //============================================================
        public void ParserSingleFile(FileInfo file)
        {
            FStrings strLines = FCppParser.GetLines(file.FullName);
            int      start, end = CheckParaAnnotate(strLines, 0, out start);

            for (int n = 0; n < strLines.Count; n++)
            {
                if (IsInInterregional(n, start, end))
                {
                    continue;
                }
                if (FCppClass.IsClass(strLines, n))
                {
                    string   classStr = GetClassString(strLines[n]);
                    FMapNode node     = new FMapNode(classStr, file.Name);
                    AddNode(node, file.FullName);
                    n = GetPairNum(strLines, n);
                }
            }
        }