/// <summary> /// Parse file with source code. /// </summary> private void Parse() { using (var reader = new StreamReader(fileName)) { var context = new Context(reader, collectors, new CSharpTokenizer()); for (string token = context.ReadNextToken(); token != null; token = context.ReadNextToken()) { ITokenProcessor processor; if (tokenProcessors.TryGetValue(token, out processor)) { processor.Process(context); } } } processed = true; }
public void Process(Context context) { string name = context.ReadNextToken(); //Find generic args int genericArgsCount = FindGenericArgsCount(context); if (genericArgsCount != 0) { name += "`" + genericArgsCount.ToString(); } context.OpenBlock(name); classesRegistry.Add(context.GetCurrentPath()); }
public void Process(Context context) { string name = context.ReadNextToken(); context.OpenBlock(name); }