diff options
Diffstat (limited to 'src/mscorlib/src/System/Diagnostics/Stackframe.cs')
-rw-r--r-- | src/mscorlib/src/System/Diagnostics/Stackframe.cs | 104 |
1 files changed, 52 insertions, 52 deletions
diff --git a/src/mscorlib/src/System/Diagnostics/Stackframe.cs b/src/mscorlib/src/System/Diagnostics/Stackframe.cs index 13d8f5cdcc..b555a609e7 100644 --- a/src/mscorlib/src/System/Diagnostics/Stackframe.cs +++ b/src/mscorlib/src/System/Diagnostics/Stackframe.cs @@ -2,27 +2,28 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -namespace System.Diagnostics { - using System.Text; - using System; - using System.IO; - using System.Reflection; - using System.Diagnostics.Contracts; +using System.Text; +using System; +using System.IO; +using System.Reflection; +using System.Diagnostics.Contracts; +namespace System.Diagnostics +{ // There is no good reason for the methods of this class to be virtual. [Serializable] public class StackFrame { - private MethodBase method; - private int offset; - private int ILOffset; - private String strFileName; - private int iLineNumber; - private int iColumnNumber; - + private MethodBase method; + private int offset; + private int ILOffset; + private String strFileName; + private int iLineNumber; + private int iColumnNumber; + [System.Runtime.Serialization.OptionalField] - private bool fIsLastFrameFromForeignExceptionStackTrace; + private bool fIsLastFrameFromForeignExceptionStackTrace; internal void InitMembers() { @@ -33,21 +34,20 @@ namespace System.Diagnostics { iLineNumber = 0; iColumnNumber = 0; fIsLastFrameFromForeignExceptionStackTrace = false; - } // Constructs a StackFrame corresponding to the active stack frame. public StackFrame() { InitMembers(); - BuildStackFrame (0 + StackTrace.METHODS_TO_SKIP, false);// iSkipFrames=0 + BuildStackFrame(0 + StackTrace.METHODS_TO_SKIP, false);// iSkipFrames=0 } - + // Constructs a StackFrame corresponding to the active stack frame. public StackFrame(bool fNeedFileInfo) { InitMembers(); - BuildStackFrame (0 + StackTrace.METHODS_TO_SKIP, fNeedFileInfo);// iSkipFrames=0 + BuildStackFrame(0 + StackTrace.METHODS_TO_SKIP, fNeedFileInfo);// iSkipFrames=0 } // Constructs a StackFrame corresponding to a calling stack frame. @@ -55,25 +55,25 @@ namespace System.Diagnostics { public StackFrame(int skipFrames) { InitMembers(); - BuildStackFrame (skipFrames + StackTrace.METHODS_TO_SKIP, false); + BuildStackFrame(skipFrames + StackTrace.METHODS_TO_SKIP, false); } - + // Constructs a StackFrame corresponding to a calling stack frame. // public StackFrame(int skipFrames, bool fNeedFileInfo) { InitMembers(); - BuildStackFrame (skipFrames + StackTrace.METHODS_TO_SKIP, fNeedFileInfo); + BuildStackFrame(skipFrames + StackTrace.METHODS_TO_SKIP, fNeedFileInfo); } - + // Called from the class "StackTrace" // internal StackFrame(bool DummyFlag1, bool DummyFlag2) { InitMembers(); } - + // Constructs a "fake" stack frame, just containing the given file // name and line number. Use when you don't want to use the // debugger's line mapping logic. @@ -81,12 +81,12 @@ namespace System.Diagnostics { public StackFrame(String fileName, int lineNumber) { InitMembers(); - BuildStackFrame (StackTrace.METHODS_TO_SKIP, false); + BuildStackFrame(StackTrace.METHODS_TO_SKIP, false); strFileName = fileName; - iLineNumber = lineNumber; + iLineNumber = lineNumber; iColumnNumber = 0; } - + // Constructs a "fake" stack frame, just containing the given file // name, line number and column number. Use when you don't want to @@ -95,48 +95,48 @@ namespace System.Diagnostics { public StackFrame(String fileName, int lineNumber, int colNumber) { InitMembers(); - BuildStackFrame (StackTrace.METHODS_TO_SKIP, false); + BuildStackFrame(StackTrace.METHODS_TO_SKIP, false); strFileName = fileName; - iLineNumber = lineNumber; + iLineNumber = lineNumber; iColumnNumber = colNumber; } // Constant returned when the native or IL offset is unknown - public const int OFFSET_UNKNOWN = -1; - - - internal virtual void SetMethodBase (MethodBase mb) + public const int OFFSET_UNKNOWN = -1; + + + internal virtual void SetMethodBase(MethodBase mb) { method = mb; } - - internal virtual void SetOffset (int iOffset) + + internal virtual void SetOffset(int iOffset) { offset = iOffset; } - - internal virtual void SetILOffset (int iOffset) + + internal virtual void SetILOffset(int iOffset) { ILOffset = iOffset; } - internal virtual void SetFileName (String strFName) + internal virtual void SetFileName(String strFName) { strFileName = strFName; } - internal virtual void SetLineNumber (int iLine) + internal virtual void SetLineNumber(int iLine) { iLineNumber = iLine; } - internal virtual void SetColumnNumber (int iCol) + internal virtual void SetColumnNumber(int iCol) { iColumnNumber = iCol; } - internal virtual void SetIsLastFrameFromForeignExceptionStackTrace (bool fIsLastFrame) + internal virtual void SetIsLastFrameFromForeignExceptionStackTrace(bool fIsLastFrame) { fIsLastFrameFromForeignExceptionStackTrace = fIsLastFrame; } @@ -148,22 +148,22 @@ namespace System.Diagnostics { // Returns the method the frame is executing // - public virtual MethodBase GetMethod () + public virtual MethodBase GetMethod() { Contract.Ensures(Contract.Result<MethodBase>() != null); return method; } - + // Returns the offset from the start of the native (jitted) code for the // method being executed // - public virtual int GetNativeOffset () + public virtual int GetNativeOffset() { return offset; } - - + + // Returns the offset from the start of the IL code for the // method being executed. This offset may be approximate depending // on whether the jitter is generating debuggable code or not. @@ -171,8 +171,8 @@ namespace System.Diagnostics { public virtual int GetILOffset() { return ILOffset; - } - + } + // Returns the file name containing the code being executed. This // information is normally extracted from the debugging symbols // for the executable. @@ -181,7 +181,7 @@ namespace System.Diagnostics { { return strFileName; } - + // Returns the line number in the file containing the code being executed. // This information is normally extracted from the debugging symbols // for the executable. @@ -200,7 +200,7 @@ namespace System.Diagnostics { return iColumnNumber; } - + // Builds a readable representation of the stack frame // public override String ToString() @@ -258,10 +258,10 @@ namespace System.Diagnostics { } sb.Append(Environment.NewLine); - return sb.ToString(); + return sb.ToString(); } - - + + private void BuildStackFrame(int skipFrames, bool fNeedFileInfo) { using (StackFrameHelper StackF = new StackFrameHelper(null)) |