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