public static FunctionStackInfo Create(LineInstance suFileLine)
        {
            if (!LineRegex.IsMatch(suFileLine.Line))
                throw new ArgumentException($"Line '{ suFileLine }' does not match SU file line", nameof(suFileLine));

            var matches = LineRegex.Match(suFileLine.Line);

            var file = matches.Groups[1].Value;
            var line = uint.Parse(matches.Groups[2].Value);
            var column = uint.Parse(matches.Groups[3].Value);
            var name = matches.Groups[4].Value;
            var bytes = uint.Parse(matches.Groups[5].Value);
            var qualifier = ParseQualifier(matches.Groups[6].Value.Trim());

            return Create(Path.Combine(Path.GetDirectoryName(suFileLine.FileName), file).Replace("\\Debug\\", "\\"), name, line, column, bytes, qualifier);
        }
        public static FunctionStackInfo Create(LineInstance suFileLine)
        {
            if (!LineRegex.IsMatch(suFileLine.Line))
            {
                throw new ArgumentException($"Line '{ suFileLine }' does not match SU file line", nameof(suFileLine));
            }

            var matches = LineRegex.Match(suFileLine.Line);

            var file      = matches.Groups[1].Value;
            var line      = uint.Parse(matches.Groups[2].Value);
            var column    = uint.Parse(matches.Groups[3].Value);
            var name      = matches.Groups[4].Value;
            var bytes     = uint.Parse(matches.Groups[5].Value);
            var qualifier = ParseQualifier(matches.Groups[6].Value.Trim());

            return(Create(Path.Combine(Path.GetDirectoryName(suFileLine.FileName), file).Replace("\\Debug\\", "\\"), name, line, column, bytes, qualifier));
        }