예제 #1
0
        private void RethrownAtStackFrame(ExceptionEntity exception, short depth)
        {
            var stackFrame = new StackFrameEntity()
            {
                Depth = depth,
                IsApplicationCode = false,
                Path = "Rethrown"
            };

            exception.StackFrames.Add(stackFrame);
        }
예제 #2
0
        private short StackFrame(ExceptionEntity exception, short depth)
        {
            var stackFrameText = GetStackFrameFromToken(ReadToken(TokenType.StackFrame).Value);
            var stackFrame = new StackFrameEntity()
            {
                Depth = depth,
                IsApplicationCode = IsApplicationStackFrame(stackFrameText),
                Path = stackFrameText
            };
            
            exception.StackFrames.Add(stackFrame);
            DiscardToken(TokenType.StackFrame);

            if (_lookaheadFirst.TokenType == TokenType.StackFrame)
            {
                var newDepth = (short)(depth + 1);
                return StackFrame(exception, newDepth);
            }

            return depth;
        }