Exemplo n.º 1
0
        public CtrlParser(FileRef filepath)
        {
            m_scanner = new CSScanner <SymbolRecord, TokenRef.Type>(CreateSymbol, CreateSourceObject, new TokenRef.Type[] { TokenRef.Type.Keyword, TokenRef.Type.Modifier, TokenRef.Type.Operator, TokenRef.Type.Identifier });

            if (!filepath.IsAbsoluteFilepath)
            {
                throw new ArgumentException($"Absolute Filepath required! ", nameof(filepath));
            }

            FileRef designer = filepath.CreateAs("Designer.cs");
            FileRef resource = filepath.CreateAs("resx");

            m_srcRef = new SourceRef(filepath, designer, resource);
            int i = 0;

            foreach (SourceFile srcFile in m_srcRef.FileList)
            {
                SourceObject srcObj = m_scanner.Scan(srcFile);                   // After call, SourceObj sequence will be available through m_srcRef.FileList[n] (.Sequence)

#if DEBUG
                srcObj = srcFile.Sequence;
                Debug.Write("", srcFile.Text);
                while (srcObj != null)
                {
                    Debug.Write(srcObj.Text + " ");
                    srcObj = srcObj.Sequence;
                }
                Debug.WriteLine("");
#endif
            }
        }