Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -354,19 +354,28 @@ private static bool ShowInStackTrace(MethodBase mb)
return false;
}

if (mb.IsDefined(typeof(StackTraceHiddenAttribute), inherit: false))
try
{
// Don't show where StackTraceHidden is applied to the method.
return false;
}
if (mb.IsDefined(typeof(StackTraceHiddenAttribute), inherit: false))
{
// Don't show where StackTraceHidden is applied to the method.
return false;
}

Type? declaringType = mb.DeclaringType;
// Methods don't always have containing types, for example dynamic RefEmit generated methods.
if (declaringType != null &&
declaringType.IsDefined(typeof(StackTraceHiddenAttribute), inherit: false))
Type? declaringType = mb.DeclaringType;
// Methods don't always have containing types, for example dynamic RefEmit generated methods.
if (declaringType != null &&
declaringType.IsDefined(typeof(StackTraceHiddenAttribute), inherit: false))
{
// Don't show where StackTraceHidden is applied to the containing Type of the method.
return false;
}
}
catch
{
// Don't show where StackTraceHidden is applied to the containing Type of the method.
return false;
// Getting the StackTraceHiddenAttribute has failed, behave as if it was not present.
// One of the reasons can be that the method mb or its declaring type use attributes
// defined in an assembly that is missing.
}

return true;
Expand Down