public virtual IReadOnlyList ParseStackTrace()

in src/SourceMapToolkit.CallstackDeminifier/StackTraceParser.cs [48:81]


		public virtual IReadOnlyList<StackFrame> ParseStackTrace(string stackTraceString, out string message)
		{
			if (stackTraceString == null)
			{
				throw new ArgumentNullException(nameof(stackTraceString));
			}

			message = null;
			string[] stackFrameStrings = stackTraceString.SplitFast('\n');

			int startingIndex = 0;

			var firstFrame = stackFrameStrings.First();
			if (!firstFrame.StartsWith(" ") && TryExtractMethodNameFromFrame(firstFrame) == null)
			{
				message = firstFrame.Trim();
				startingIndex = 1;
			}

			// Allocate assuming none of the frames are null.
			List<StackFrame> stackTrace = new List<StackFrame>(stackFrameStrings.Length - startingIndex);

			for (int i = startingIndex; i < stackFrameStrings.Length; i++)
			{
				StackFrame parsedStackFrame = TryParseSingleStackFrame(stackFrameStrings[i]);

				if (parsedStackFrame != null)
				{
					stackTrace.Add(parsedStackFrame);
				}
			}

			return stackTrace;
		}