Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ AppendKeywords()

void System.Diagnostics.Tracing.ManifestBuilder.AppendKeywords ( StringBuilder sb,
ulong keywords,
string eventName )
inlineprivate

Definition at line 720 of file ManifestBuilder.cs.

721 {
722 keywords &= 0xFFFFFFFFFFFFFFFuL;
723 bool flag = false;
724 for (ulong num = 1uL; num != 0L; num <<= 1)
725 {
726 if ((keywords & num) != 0L)
727 {
728 string value = null;
729 if ((keywordTab == null || !keywordTab.TryGetValue(num, out value)) && num >= 281474976710656L)
730 {
731 value = string.Empty;
732 }
733 if (value == null)
734 {
735 ManifestError(SR.Format(SR.EventSource_UndefinedKeyword, "0x" + num.ToString("x", CultureInfo.CurrentCulture), eventName), runtimeCritical: true);
736 value = string.Empty;
737 }
738 if (value.Length != 0)
739 {
740 if (flag)
741 {
742 sb.Append(' ');
743 }
744 sb.Append(value);
745 flag = true;
746 }
747 }
748 }
749 }
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
void ManifestError(string msg, bool runtimeCritical=false)
static CultureInfo CurrentCulture
StringBuilder Append(char value, int repeatCount)

References System.Text.StringBuilder.Append(), System.Globalization.CultureInfo.CurrentCulture, System.Diagnostics.Tracing.ManifestBuilder.eventName, System.SR.EventSource_UndefinedKeyword, System.SR.Format(), System.Diagnostics.Tracing.ManifestBuilder.keywordTab, System.L, System.Diagnostics.Tracing.ManifestBuilder.ManifestError(), System.Diagnostics.Tracing.ManifestBuilder.sb, System.Collections.Generic.Dictionary< TKey, TValue >.TryGetValue(), and System.value.

Referenced by System.Diagnostics.Tracing.ManifestBuilder.StartEvent().