94 lines · 3.2 KB · C#
RawDownload
#if MONO

using System;
namespace System.Runtime.ExceptionServices
{
    [__DynamicallyInvokable]
    public sealed class ExceptionDispatchInfo
    {
        private Exception m_Exception;
        private string m_remoteStackTrace;
        private object m_stackTrace;
        private object m_dynamicMethods;
        private UIntPtr m_IPForWatsonBuckets;
        private object m_WatsonBuckets;
        internal UIntPtr IPForWatsonBuckets
        {
            [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
            get
            {
                return this.m_IPForWatsonBuckets;
            }
        }
        internal object WatsonBuckets
        {
            [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
            get
            {
                return this.m_WatsonBuckets;
            }
        }
        internal object BinaryStackTraceArray
        {
            [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
            get
            {
                return this.m_stackTrace;
            }
        }
        internal object DynamicMethodArray
        {
            [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
            get
            {
                return this.m_dynamicMethods;
            }
        }
        internal string RemoteStackTrace
        {
            [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
            get
            {
                return this.m_remoteStackTrace;
            }
        }
        [__DynamicallyInvokable]
        public Exception SourceException
        {
            [__DynamicallyInvokable, TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
            get
            {
                return this.m_Exception;
            }
        }
        [__DynamicallyInvokable]
        public static ExceptionDispatchInfo Capture(Exception source)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source", "ArgumentNull_Obj");
            }
            return new ExceptionDispatchInfo(source);
        }
        [__DynamicallyInvokable]
        public void Throw()
        {
            //this.m_Exception.RestoreExceptionDispatchInfo(this);
            throw this.m_Exception;
        }
        private ExceptionDispatchInfo(Exception exception)
        {
            this.m_Exception = exception;
            //this.m_remoteStackTrace = exception.RemoteStackTrace;
            //object stackTrace;
            //object dynamicMethods;
            //this.m_Exception.GetStackTracesDeepCopy(out stackTrace, out dynamicMethods);
            //this.m_stackTrace = stackTrace;
            //this.m_dynamicMethods = dynamicMethods;
            //this.m_IPForWatsonBuckets = exception.IPForWatsonBuckets;
            //this.m_WatsonBuckets = exception.WatsonBuckets;
        }
    }
}

#endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t