//============================================================ // <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); } }
//============================================================ // <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); } } }