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

◆ TranslateToManifestConvention()

string System.Diagnostics.Tracing.ManifestBuilder.TranslateToManifestConvention ( string eventMessage,
string evtName )
inlineprivate

Definition at line 814 of file ManifestBuilder.cs.

815 {
817 int num = 0;
818 int i = 0;
819 while (i < eventMessage.Length)
820 {
821 int num4;
822 if (eventMessage[i] == '%')
823 {
825 stringBuilder.Append("%%");
826 i++;
827 num = i;
828 }
829 else if (i < eventMessage.Length - 1 && ((eventMessage[i] == '{' && eventMessage[i + 1] == '{') || (eventMessage[i] == '}' && eventMessage[i + 1] == '}')))
830 {
832 stringBuilder.Append(eventMessage[i]);
833 i++;
834 i++;
835 num = i;
836 }
837 else if (eventMessage[i] == '{')
838 {
839 int num2 = i;
840 i++;
841 int num3 = 0;
842 for (; i < eventMessage.Length && char.IsDigit(eventMessage[i]); i++)
843 {
844 num3 = num3 * 10 + eventMessage[i] - 48;
845 }
846 if (i < eventMessage.Length && eventMessage[i] == '}')
847 {
848 i++;
851 stringBuilder.Append('%').Append(value);
852 if (i < eventMessage.Length && eventMessage[i] == '!')
853 {
854 i++;
855 stringBuilder.Append("%!");
856 }
857 num = i;
858 }
859 else
860 {
861 ManifestError(SR.Format(SR.EventSource_UnsupportedMessageProperty, evtName, eventMessage));
862 }
863 }
864 else if ((num4 = "&<>'\"\r\n\t".IndexOf(eventMessage[i])) >= 0)
865 {
867 i++;
869 num = i;
870 }
871 else
872 {
873 i++;
874 }
875 }
876 if (stringBuilder == null)
877 {
878 return eventMessage;
879 }
881 return stringBuilder.ToString();
882 }
int TranslateIndexToManifestConvention(int idx, string evtName)
static void UpdateStringBuilder([NotNull] ref StringBuilder stringBuilder, string eventMessage, int startIndex, int count)
void ManifestError(string msg, bool runtimeCritical=false)

References System.SR.EventSource_UnsupportedMessageProperty, System.SR.Format(), System.Diagnostics.Tracing.ManifestBuilder.ManifestError(), System.Diagnostics.Tracing.ManifestBuilder.s_escapes, System.Diagnostics.Tracing.ManifestBuilder.TranslateIndexToManifestConvention(), System.Diagnostics.Tracing.ManifestBuilder.UpdateStringBuilder(), and System.value.

Referenced by System.Diagnostics.Tracing.ManifestBuilder.EndEvent(), and System.Diagnostics.Tracing.ManifestBuilder.GetLocalizedMessage().