Bike.Interpreter.Builtin.ErrorFactory.BuildStackTrace C# (CSharp) Метод

BuildStackTrace() статический приватный Метод

static private BuildStackTrace ( ) : BikeString
Результат BikeString
        internal static BikeString BuildStackTrace()
        {
            var lastLocation = InterpretationContext.Instance.CurrentLocation;
            var callStack = new List<ScopeFrame>();
            var currentFrame = InterpretationContext.Instance.CurrentFrame;
            while (currentFrame != null)
            {
                if (currentFrame.Func != null || currentFrame.IsGlobal)
                    callStack.Add(currentFrame);
                currentFrame = currentFrame.Caller;
            }

            var sb = new StringBuilder();
            foreach (var frame in callStack)
            {
                var at = frame.IsGlobal
                             ? "<Global>"
                             : frame.Func.Description;
                sb.AppendFormat("   at {0} in {1}:line {2}", at, lastLocation.FilePath, lastLocation.Line)
                    .AppendLine();
                lastLocation = frame.Location;
            }
            return new BikeString(sb.ToString());
        }