private static Dictionary<string, ScanParameters> initETNDictionary() { Dictionary<string, ScanParameters> res = new Dictionary<string, ScanParameters>(); scanParameters = new ScanParameters(); scanParameters.setUselessChars(new char[] { '\t', ' ', '\n', '{', '}', '(', ')', ';', '\r' }); scanParameters.setCommentRegex("(/\\*[^\\*]*[^/]*/|\\/\\/[^\\n]*)"); TEXT = new ScanParameters(); TEXT.setUselessChars(new char[]{}); res.Add("*", TEXT); res.Add(".java", scanParameters); res.Add(".cs", scanParameters); res.Add(".as", scanParameters); res.Add(".cpp", scanParameters); res.Add(".h", scanParameters); res.Add(".c", scanParameters); return res; }
public static ScanInfo scan(FileConteiner file, ScanParameters param) { ScanInfo info = new ScanInfo(); info.path = file.path; info.fileName = file.fileName; string[] rawLines = file.raw.Split('\n'); string[] cuttedLines = GetContentWithoutComments(file.raw, param.getCommentRegex()).Split('\n'); info.rawLinesCount = rawLines.Length; info.cuttedLinesCount = cuttedLines.Length; int usefullLinesCount = 0; foreach (string line in cuttedLines) { if (isUsefulLine(line, param.getUselessChars())) { usefullLinesCount++; } } info.usefullLineCount = usefullLinesCount; return info; }