Example #1
0
        /// <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;
        }
Example #2
0
        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());
        }
Example #3
0
        public void Process(Context context)
        {
            string name = context.ReadNextToken();

            context.OpenBlock(name);
        }