Add namespace to frame conditionally (#144)
* take fullTime parametr * append fullname true/false * review
This commit is contained in:
parent
243029cc29
commit
fd2d239eb0
@ -51,6 +51,9 @@ namespace System.Diagnostics
|
||||
public override string ToString() => Append(new StringBuilder()).ToString();
|
||||
|
||||
public StringBuilder Append(StringBuilder builder)
|
||||
=> Append(builder, true);
|
||||
|
||||
public StringBuilder Append(StringBuilder builder, bool fullName)
|
||||
{
|
||||
if (IsAsync)
|
||||
{
|
||||
@ -71,16 +74,16 @@ namespace System.Diagnostics
|
||||
if (string.IsNullOrEmpty(SubMethod) && !IsLambda)
|
||||
builder.Append("new ");
|
||||
|
||||
AppendDeclaringTypeName(builder);
|
||||
AppendDeclaringTypeName(builder, fullName);
|
||||
}
|
||||
else if (Name == ".cctor")
|
||||
{
|
||||
builder.Append("static ");
|
||||
AppendDeclaringTypeName(builder);
|
||||
AppendDeclaringTypeName(builder, fullName);
|
||||
}
|
||||
else
|
||||
{
|
||||
AppendDeclaringTypeName(builder)
|
||||
AppendDeclaringTypeName(builder, fullName)
|
||||
.Append(".")
|
||||
.Append(Name);
|
||||
}
|
||||
@ -161,9 +164,9 @@ namespace System.Diagnostics
|
||||
return builder;
|
||||
}
|
||||
|
||||
private StringBuilder AppendDeclaringTypeName(StringBuilder builder)
|
||||
private StringBuilder AppendDeclaringTypeName(StringBuilder builder, bool fullName = true)
|
||||
{
|
||||
return DeclaringType != null ? builder.AppendTypeDisplayName(DeclaringType, fullName: true, includeGenericParameterNames: true) : builder;
|
||||
return DeclaringType != null ? builder.AppendTypeDisplayName(DeclaringType, fullName: fullName, includeGenericParameterNames: true) : builder;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
26
test/Ben.Demystifier.Test/ResolvedMethodTests.cs
Normal file
26
test/Ben.Demystifier.Test/ResolvedMethodTests.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Xunit;
|
||||
|
||||
namespace Ben.Demystifier.Test
|
||||
{
|
||||
public class ResolvedMethodTests
|
||||
{
|
||||
[Fact]
|
||||
public void AppendWithFullNameTrueTest()
|
||||
{
|
||||
var resolvedMethod = EnhancedStackTrace.GetMethodDisplayString(GetType().GetMethods().First(m => m.Name == nameof(AppendWithFullNameTrueTest)));
|
||||
var sb = new StringBuilder();
|
||||
Assert.Equal($"void {GetType().Namespace}.{GetType().Name}.{nameof(AppendWithFullNameTrueTest)}()", resolvedMethod.Append(sb).ToString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppendWithFullNameFalseTest()
|
||||
{
|
||||
var resolvedMethod = EnhancedStackTrace.GetMethodDisplayString(GetType().GetMethods().First(m => m.Name == nameof(AppendWithFullNameFalseTest)));
|
||||
var sb = new StringBuilder();
|
||||
Assert.Equal($"void {GetType().Name}.{nameof(AppendWithFullNameFalseTest)}()", resolvedMethod.Append(sb, false).ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user