//============================================================ // <T>解析单个文件</T> // // @param file 要解析的文件 //============================================================ public void ParserSingleFile(FileInfo file) { FStrings strLines = FAsParser.GetLines(file.FullName); for (int n = 0; n < strLines.Count; n++) { if (FAsPackage.IsPackage(strLines, n)) { string package = string.Empty; int endindex = FAsPackage.ParserPackage(strLines, n, out package); int start, end = CheckParaAnnotate(strLines, n, out start); for (int i = n; i < endindex; i++) { if (IsInInterregional(i, start, end)) { continue; } if (FAsClass.IsClass(strLines, i)) { string classStr = FAsClass.ParserClass(strLines, i); FMapNode node = new FMapNode(classStr, package); AddNode(node); n = i; } } } } }
//============================================================ // <T>向类索引Map表中加入节点 。</T> // // @param node 需要加入的节点信息 //============================================================ 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); } }