private IReadOnlyCollection <string> AnalyzeFile(string file)
        {
            List <string> result = new List <string>();

            using (_decompiler)
            {
                _decompiler.Open(file);

                while (!_decompiler.EndOfStream)
                {
                    string line = _decompiler.ReadLine();

                    _scanner.AppendLine(line);
                    _scanner.Scan();
                }

                _decompiler.Close();
            }

            IReadOnlyCollection <ScanResult> scanResults = _scanner.GetResult();

            result.AddRange(scanResults
                            .Where(scan => scan.IsSuccess)
                            .Select(scan => scan.Value));

            return(result.ToArray());
        }