System.Exception.Exception.AddFrames C# (CSharp) Method

AddFrames() private method

private AddFrames ( StringBuilder sb, string newline, string unknown, StackTrace st ) : bool
sb StringBuilder
newline string
unknown string
st System.Diagnostics.StackTrace
return bool
		bool AddFrames (StringBuilder sb, string newline, string unknown, StackTrace st)
		{
			int i;
			for (i = 0; i < st.FrameCount; i++) {
				StackFrame frame = st.GetFrame (i);
				if (i == 0)
					sb.AppendFormat ("  {0} ", Locale.GetText ("at"));
				else
					sb.Append (newline);

				if (frame.GetMethod () == null) {
					string internal_name = frame.GetInternalMethodName ();
					if (internal_name != null)
						sb.Append (internal_name);
					else
						sb.AppendFormat ("<0x{0:x5} + 0x{1:x5}> {2}", frame.GetMethodAddress (), frame.GetNativeOffset (), unknown);
				} else {
					GetFullNameForStackTrace (sb, frame.GetMethod ());

					if (frame.GetILOffset () == -1)
						sb.AppendFormat ("<0x{0:x5} + 0x{1:x5}> ", frame.GetMethodAddress (), frame.GetNativeOffset ());
					else
						sb.AppendFormat (" [0x{0:x5}] ", frame.GetILOffset ());

					sb.AppendFormat ("in {0}:{1} ", frame.GetSecureFileName (),
									 frame.GetFileLineNumber ());
				}
			}

			return i != 0;
		}