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)); }