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

◆ DebugCheckEvent()

static void System.Diagnostics.Tracing.EventSource.DebugCheckEvent ( ref Dictionary< string, string > eventsByName,
EventMetadata[] eventData,
MethodInfo method,
EventAttribute eventAttribute,
ManifestBuilder manifest,
EventManifestOptions options )
inlinestaticprivateinherited

Definition at line 2542 of file EventSource.cs.

2543 {
2544 int eventId = eventAttribute.EventId;
2545 string name = method.Name;
2548 {
2549 manifest.ManifestError(SR.Format(SR.EventSource_MismatchIdToWriteEvent, name, eventId, helperCallFirstArg), runtimeCritical: true);
2550 }
2551 if (eventId < eventData.Length && eventData[eventId].Descriptor.EventId != 0)
2552 {
2553 manifest.ManifestError(SR.Format(SR.EventSource_EventIdReused, name, eventId, eventData[eventId].Name), runtimeCritical: true);
2554 }
2555 for (int i = 0; i < eventData.Length; i++)
2556 {
2557 if (eventData[i].Name != null && eventData[i].Descriptor.Task == (int)eventAttribute.Task && (EventOpcode)eventData[i].Descriptor.Opcode == eventAttribute.Opcode)
2558 {
2559 manifest.ManifestError(SR.Format(SR.EventSource_TaskOpcodePairReused, name, eventId, eventData[i].Name, i));
2560 if ((options & EventManifestOptions.Strict) == 0)
2561 {
2562 break;
2563 }
2564 }
2565 }
2566 if (eventAttribute.Opcode != 0)
2567 {
2568 bool flag = false;
2569 if (eventAttribute.Task == EventTask.None)
2570 {
2571 flag = true;
2572 }
2573 else
2574 {
2575 EventTask eventTask = (EventTask)(65534 - eventId);
2576 if (eventAttribute.Opcode != EventOpcode.Start && eventAttribute.Opcode != EventOpcode.Stop && eventAttribute.Task == eventTask)
2577 {
2578 flag = true;
2579 }
2580 }
2581 if (flag)
2582 {
2583 manifest.ManifestError(SR.Format(SR.EventSource_EventMustHaveTaskIfNonDefaultOpcode, name, eventId));
2584 }
2585 }
2586 if (eventsByName == null)
2587 {
2589 }
2590 if (eventsByName.ContainsKey(name))
2591 {
2592 manifest.ManifestError(SR.Format(SR.EventSource_EventNameReused, name), runtimeCritical: true);
2593 }
2595 }
static int GetHelperCallFirstArg(MethodInfo method)

References System.Collections.Generic.Dictionary< TKey, TValue >.ContainsKey(), System.SR.EventSource_EventIdReused, System.SR.EventSource_EventMustHaveTaskIfNonDefaultOpcode, System.SR.EventSource_EventNameReused, System.SR.EventSource_MismatchIdToWriteEvent, System.SR.EventSource_TaskOpcodePairReused, System.SR.Format(), System.Diagnostics.Tracing.EventSource.GetHelperCallFirstArg(), System.Diagnostics.Tracing.EventSource.Name, and System.options.

Referenced by System.Diagnostics.Tracing.EventSource.CreateManifestAndDescriptors().