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 override string ToString() => Append(new StringBuilder()).ToString();
|
||||||
|
|
||||||
public StringBuilder Append(StringBuilder builder)
|
public StringBuilder Append(StringBuilder builder)
|
||||||
|
=> Append(builder, true);
|
||||||
|
|
||||||
|
public StringBuilder Append(StringBuilder builder, bool fullName)
|
||||||
{
|
{
|
||||||
if (IsAsync)
|
if (IsAsync)
|
||||||
{
|
{
|
||||||
@ -71,16 +74,16 @@ namespace System.Diagnostics
|
|||||||
if (string.IsNullOrEmpty(SubMethod) && !IsLambda)
|
if (string.IsNullOrEmpty(SubMethod) && !IsLambda)
|
||||||
builder.Append("new ");
|
builder.Append("new ");
|
||||||
|
|
||||||
AppendDeclaringTypeName(builder);
|
AppendDeclaringTypeName(builder, fullName);
|
||||||
}
|
}
|
||||||
else if (Name == ".cctor")
|
else if (Name == ".cctor")
|
||||||
{
|
{
|
||||||
builder.Append("static ");
|
builder.Append("static ");
|
||||||
AppendDeclaringTypeName(builder);
|
AppendDeclaringTypeName(builder, fullName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AppendDeclaringTypeName(builder)
|
AppendDeclaringTypeName(builder, fullName)
|
||||||
.Append(".")
|
.Append(".")
|
||||||
.Append(Name);
|
.Append(Name);
|
||||||
}
|
}
|
||||||
@ -161,9 +164,9 @@ namespace System.Diagnostics
|
|||||||
return builder;
|
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