| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- //-----------------------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //-----------------------------------------------------------------------------
- namespace System.Runtime.Serialization
- {
- using System.Diagnostics;
- using System.Security;
- #if USE_REFEMIT
- public static class SerializationTrace
- #else
- static class SerializationTrace
- #endif
- {
- [Fx.Tag.SecurityNote(Critical = "Static fields are marked SecurityCritical or readonly to prevent"
- + " data from being modified or leaked to other components in appdomain.")]
- [SecurityCritical]
- static TraceSource codeGen;
- internal static SourceSwitch CodeGenerationSwitch
- {
- get
- {
- return CodeGenerationTraceSource.Switch;
- }
- }
- internal static void WriteInstruction(int lineNumber, string instruction)
- {
- CodeGenerationTraceSource.TraceInformation("{0:00000}: {1}", lineNumber, instruction);
- }
- #if USE_REFEMIT
- public static void TraceInstruction(string instruction)
- #else
- internal static void TraceInstruction(string instruction)
- #endif
- {
- CodeGenerationTraceSource.TraceEvent(TraceEventType.Verbose, 0, instruction);
- }
- static TraceSource CodeGenerationTraceSource
- {
- [Fx.Tag.SecurityNote(Critical = "Fetches the critical codeGen field.",
- Safe = "Get-only properties only needs to be protected for write; initialized in getter if null.")]
- [SecuritySafeCritical]
- get
- {
- if (codeGen == null)
- codeGen = new TraceSource("System.Runtime.Serialization.CodeGeneration");
- return codeGen;
- }
- }
- }
- }
|