<Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\UnsafeValueTypeAttribute.cs" />
<Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\AssemblySettingAttributes.cs" />
<Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\TypeDependencyAttribute.cs" />
- <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\CompilerMarshalOverride.cs" />
<Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\jithelpers.cs" />
<Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\Unsafe.cs" />
- <Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\SpecialNameAttribute.cs" />
<Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\SuppressMergeCheckAttribute.cs" />
<Compile Condition="'$(FeatureICastable)' == 'true'" Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\ICastable.cs" />
<Compile Include="$(BclSourcesRoot)\System\Runtime\CompilerServices\SuppressIldasmAttribute.cs" />
<Compile Include="$(BclSourcesRoot)\System\Runtime\GcSettings.cs" />
</ItemGroup>
<ItemGroup>
- <Compile Include="$(BclSourcesRoot)\System\Collections\CollectionBase.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\ArrayList.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\Comparer.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\CompatibleComparer.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\EmptyReadOnlyDictionaryInternal.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\Hashtable.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\IHashCodeProvider.cs" />
- <Compile Include="$(BclSourcesRoot)\System\Collections\StructuralComparisons.cs" />
</ItemGroup>
<ItemGroup>
<Compile Include="$(BclSourcesRoot)\System\Runtime\InteropServices\ArrayWithOffset.cs" />
<Compile Include="$(BclSourcesRoot)\System\Int64.cs" />
<Compile Include="$(BclSourcesRoot)\System\IntPtr.cs" />
<Compile Include="$(BclSourcesRoot)\System\Internal.cs" />
- <Compile Include="$(BclSourcesRoot)\System\IServiceObjectProvider.cs" />
<Compile Include="$(BclSourcesRoot)\System\Math.cs" />
<Compile Include="$(BclSourcesRoot)\System\MathF.cs" />
<Compile Include="$(BclSourcesRoot)\System\mda.cs" />
<Compile Include="$(BclSourcesRoot)\System\Reflection\ICustomAttributeProvider.cs" />
<Compile Include="$(BclSourcesRoot)\System\Reflection\IReflectableType.cs" />
<Compile Include="$(BclSourcesRoot)\System\Reflection\IntrospectionExtensions.cs" />
- <Compile Include="$(BclSourcesRoot)\System\Reflection\RuntimeReflectionExtensions.cs" />
<Compile Include="$(BclSourcesRoot)\System\Reflection\InterfaceMapping.cs" />
<Compile Include="$(BclSourcesRoot)\System\Reflection\InvalidFilterCriteriaException.cs" />
<Compile Include="$(BclSourcesRoot)\System\Reflection\INVOCATION_FLAGS.cs" />
<Compile Include="$(BclSourcesRoot)\System\Threading\ApartmentState.cs" />
<Compile Include="$(BclSourcesRoot)\System\Threading\SpinLock.cs" />
<Compile Include="$(BclSourcesRoot)\System\Threading\SpinWait.cs" />
- <Compile Include="$(BclSourcesRoot)\System\Threading\CountdownEvent.cs" />
<Compile Include="$(BclSourcesRoot)\System\Threading\LazyInitializer.cs" />
<Compile Include="$(BclSourcesRoot)\System\Threading\ThreadLocal.cs" />
<Compile Include="$(BclSourcesRoot)\System\Threading\SemaphoreSlim.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\ObjectModel\Collection.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\ObjectModel\ReadOnlyCollection.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\ObjectModel\ReadOnlyDictionary.cs" />
- <Compile Include="$(BclSourcesRoot)\System\Collections\ObjectModel\KeyedCollection.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\Concurrent\ConcurrentStack.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\Concurrent\IProducerConsumerCollection.cs" />
<Compile Include="$(BclSourcesRoot)\System\Collections\Concurrent\ConcurrentDictionary.cs" />
public static bool TryParse<TEnum>(string value, bool ignoreCase, out TEnum result) where TEnum : struct { result = default(TEnum); throw null; }
}
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
- public static partial class Environment
- {
- public static int CurrentManagedThreadId { get { throw null; } }
- public static int ExitCode { [System.Security.SecuritySafeCriticalAttribute][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)]get { throw null; } [System.Security.SecuritySafeCriticalAttribute][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)]set { } }
- public static bool HasShutdownStarted { [System.Security.SecuritySafeCriticalAttribute][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)]get { throw null; } }
- public static string MachineName { [System.Security.SecuritySafeCriticalAttribute]get { throw null; } }
- public static string NewLine { get { throw null; } }
- public static int ProcessorCount { [System.Security.SecuritySafeCriticalAttribute]get { throw null; } }
- public static string StackTrace { [System.Security.SecuritySafeCriticalAttribute]get { throw null; } }
- public static int TickCount { [System.Security.SecuritySafeCriticalAttribute][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)]get { throw null; } }
- public static System.Version Version { get { throw null; } }
- [System.Security.SecuritySafeCriticalAttribute]
- public static void Exit(int exitCode) { }
- [System.Security.SecuritySafeCriticalAttribute]
- public static string ExpandEnvironmentVariables(string name) { throw null; }
- [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)][System.Security.SecurityCriticalAttribute]
- public static void FailFast(string message) { }
- [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)][System.Security.SecurityCriticalAttribute]
- public static void FailFast(string message, System.Exception exception) { }
- [System.Security.SecuritySafeCriticalAttribute]
- public static string[] GetCommandLineArgs() { throw null; }
- [System.Security.SecuritySafeCriticalAttribute]
- public static string GetEnvironmentVariable(string variable) { throw null; }
- [System.Security.SecuritySafeCriticalAttribute]
- public static System.Collections.IDictionary GetEnvironmentVariables() { throw null; }
- [System.Security.SecuritySafeCriticalAttribute]
- public static void SetEnvironmentVariable(string variable, string value) { }
- }
- [System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class EventArgs
{
public static readonly System.EventArgs Empty;
{
void Report(T value);
}
- public partial interface IServiceProvider
- {
- object GetService(System.Type serviceType);
- }
[System.Diagnostics.DebuggerDisplayAttribute("ThreadSafetyMode={Mode}, IsValueCreated={IsValueCreated}, IsValueFaulted={IsValueFaulted}, Value={ValueForDebugDisplay}")]
[System.Runtime.InteropServices.ComVisibleAttribute(false)]
public partial class Lazy<T>
namespace System.Collections
{
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
- public abstract partial class CollectionBase : System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList
- {
- protected CollectionBase() { }
- public int Count { get { throw null; } }
- protected System.Collections.IList List { get { throw null; } }
- bool System.Collections.ICollection.IsSynchronized { get { throw null; } }
- object System.Collections.ICollection.SyncRoot { get { throw null; } }
- bool System.Collections.IList.IsFixedSize { get { throw null; } }
- bool System.Collections.IList.IsReadOnly { get { throw null; } }
- object System.Collections.IList.this[int index] { get { throw null; } set { } }
- public void Clear() { }
- public System.Collections.IEnumerator GetEnumerator() { throw null; }
- public void RemoveAt(int index) { }
- void System.Collections.ICollection.CopyTo(System.Array array, int index) { }
- int System.Collections.IList.Add(object value) { throw null; }
- bool System.Collections.IList.Contains(object value) { throw null; }
- int System.Collections.IList.IndexOf(object value) { throw null; }
- void System.Collections.IList.Insert(int index, object value) { }
- void System.Collections.IList.Remove(object value) { }
- }
- [System.Runtime.InteropServices.ComVisibleAttribute(true)]
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public partial struct DictionaryEntry
{
bool Equals(object other, System.Collections.IEqualityComparer comparer);
int GetHashCode(System.Collections.IEqualityComparer comparer);
}
- public static partial class StructuralComparisons
- {
- public static System.Collections.IComparer StructuralComparer { get { throw null; } }
- public static System.Collections.IEqualityComparer StructuralEqualityComparer { get { throw null; } }
- }
}
namespace System.Collections.Generic
{
}
[System.Diagnostics.DebuggerDisplayAttribute("Count = {Count}")]
[System.Runtime.InteropServices.ComVisibleAttribute(false)]
- public abstract partial class KeyedCollection<TKey, TItem> : System.Collections.ObjectModel.Collection<TItem>
- {
- protected KeyedCollection() { }
- protected KeyedCollection(System.Collections.Generic.IEqualityComparer<TKey> comparer) { }
- protected KeyedCollection(System.Collections.Generic.IEqualityComparer<TKey> comparer, int dictionaryCreationThreshold) { }
- public System.Collections.Generic.IEqualityComparer<TKey> Comparer { get { throw null; } }
- protected System.Collections.Generic.IDictionary<TKey, TItem> Dictionary { get { throw null; } }
- public TItem this[TKey key] { get { throw null; } }
- protected void ChangeItemKey(TItem item, TKey newKey) { }
- protected override void ClearItems() { }
- public bool Contains(TKey key) { throw null; }
- protected abstract TKey GetKeyForItem(TItem item);
- protected override void InsertItem(int index, TItem item) { }
- public bool Remove(TKey key) { throw null; }
- protected override void RemoveItem(int index) { }
- protected override void SetItem(int index, TItem item) { }
- }
- [System.Diagnostics.DebuggerDisplayAttribute("Count = {Count}")]
- [System.Runtime.InteropServices.ComVisibleAttribute(false)]
public partial class ReadOnlyCollection<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlyList<T>, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList
{
public ReadOnlyCollection(System.Collections.Generic.IList<T> list) { }
void System.Collections.IList.Remove(object value) { }
void System.Collections.IList.RemoveAt(int index) { }
}
- [System.Diagnostics.DebuggerDisplayAttribute("Count = {Count}")]
- public partial class ReadOnlyDictionary<TKey, TValue> : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey, TValue>>, System.Collections.Generic.IDictionary<TKey, TValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, TValue>>, System.Collections.Generic.IReadOnlyCollection<System.Collections.Generic.KeyValuePair<TKey, TValue>>, System.Collections.Generic.IReadOnlyDictionary<TKey, TValue>, System.Collections.ICollection, System.Collections.IDictionary, System.Collections.IEnumerable
- {
- public ReadOnlyDictionary(System.Collections.Generic.IDictionary<TKey, TValue> dictionary) { }
- public int Count { get { throw null; } }
- protected System.Collections.Generic.IDictionary<TKey, TValue> Dictionary { get { throw null; } }
- public TValue this[TKey key] { get { throw null; } }
- public System.Collections.ObjectModel.ReadOnlyDictionary<TKey, TValue>.KeyCollection Keys { get { throw null; } }
- bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IsReadOnly { get { throw null; } }
- TValue System.Collections.Generic.IDictionary<TKey,TValue>.this[TKey key] { get { throw null; } set { } }
- System.Collections.Generic.ICollection<TKey> System.Collections.Generic.IDictionary<TKey,TValue>.Keys { get { throw null; } }
- System.Collections.Generic.ICollection<TValue> System.Collections.Generic.IDictionary<TKey,TValue>.Values { get { throw null; } }
- System.Collections.Generic.IEnumerable<TKey> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Keys { get { throw null; } }
- System.Collections.Generic.IEnumerable<TValue> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Values { get { throw null; } }
- bool System.Collections.ICollection.IsSynchronized { get { throw null; } }
- object System.Collections.ICollection.SyncRoot { get { throw null; } }
- bool System.Collections.IDictionary.IsFixedSize { get { throw null; } }
- bool System.Collections.IDictionary.IsReadOnly { get { throw null; } }
- object System.Collections.IDictionary.this[object key] { get { throw null; } set { } }
- System.Collections.ICollection System.Collections.IDictionary.Keys { get { throw null; } }
- System.Collections.ICollection System.Collections.IDictionary.Values { get { throw null; } }
- public System.Collections.ObjectModel.ReadOnlyDictionary<TKey, TValue>.ValueCollection Values { get { throw null; } }
- public bool ContainsKey(TKey key) { throw null; }
- public System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey, TValue>> GetEnumerator() { throw null; }
- void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Add(System.Collections.Generic.KeyValuePair<TKey, TValue> item) { }
- void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Clear() { }
- bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(System.Collections.Generic.KeyValuePair<TKey, TValue> item) { throw null; }
- void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(System.Collections.Generic.KeyValuePair<TKey, TValue>[] array, int arrayIndex) { }
- bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Remove(System.Collections.Generic.KeyValuePair<TKey, TValue> item) { throw null; }
- void System.Collections.Generic.IDictionary<TKey,TValue>.Add(TKey key, TValue value) { }
- bool System.Collections.Generic.IDictionary<TKey,TValue>.Remove(TKey key) { throw null; }
- void System.Collections.ICollection.CopyTo(System.Array array, int index) { }
- void System.Collections.IDictionary.Add(object key, object value) { }
- void System.Collections.IDictionary.Clear() { }
- bool System.Collections.IDictionary.Contains(object key) { throw null; }
- System.Collections.IDictionaryEnumerator System.Collections.IDictionary.GetEnumerator() { throw null; }
- void System.Collections.IDictionary.Remove(object key) { }
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; }
- public bool TryGetValue(TKey key, out TValue value) { value = default(TValue); throw null; }
- [System.Diagnostics.DebuggerDisplayAttribute("Count = {Count}")]
- public sealed partial class KeyCollection : System.Collections.Generic.ICollection<TKey>, System.Collections.Generic.IEnumerable<TKey>, System.Collections.Generic.IReadOnlyCollection<TKey>, System.Collections.ICollection, System.Collections.IEnumerable
- {
- internal KeyCollection() { }
- public int Count { get { throw null; } }
- bool System.Collections.Generic.ICollection<TKey>.IsReadOnly { get { throw null; } }
- bool System.Collections.ICollection.IsSynchronized { get { throw null; } }
- object System.Collections.ICollection.SyncRoot { get { throw null; } }
- public void CopyTo(TKey[] array, int arrayIndex) { }
- public System.Collections.Generic.IEnumerator<TKey> GetEnumerator() { throw null; }
- void System.Collections.Generic.ICollection<TKey>.Add(TKey item) { }
- void System.Collections.Generic.ICollection<TKey>.Clear() { }
- bool System.Collections.Generic.ICollection<TKey>.Contains(TKey item) { throw null; }
- bool System.Collections.Generic.ICollection<TKey>.Remove(TKey item) { throw null; }
- void System.Collections.ICollection.CopyTo(System.Array array, int index) { }
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; }
- }
- [System.Diagnostics.DebuggerDisplayAttribute("Count = {Count}")]
- public sealed partial class ValueCollection : System.Collections.Generic.ICollection<TValue>, System.Collections.Generic.IEnumerable<TValue>, System.Collections.Generic.IReadOnlyCollection<TValue>, System.Collections.ICollection, System.Collections.IEnumerable
- {
- internal ValueCollection() { }
- public int Count { get { throw null; } }
- bool System.Collections.Generic.ICollection<TValue>.IsReadOnly { get { throw null; } }
- bool System.Collections.ICollection.IsSynchronized { get { throw null; } }
- object System.Collections.ICollection.SyncRoot { get { throw null; } }
- public void CopyTo(TValue[] array, int arrayIndex) { }
- public System.Collections.Generic.IEnumerator<TValue> GetEnumerator() { throw null; }
- void System.Collections.Generic.ICollection<TValue>.Add(TValue item) { }
- void System.Collections.Generic.ICollection<TValue>.Clear() { }
- bool System.Collections.Generic.ICollection<TValue>.Contains(TValue item) { throw null; }
- bool System.Collections.Generic.ICollection<TValue>.Remove(TValue item) { throw null; }
- void System.Collections.ICollection.CopyTo(System.Array array, int index) { }
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; }
- }
- }
}
namespace System.Configuration.Assemblies
{
[System.Security.SecuritySafeCriticalAttribute]
public override string ToString() { throw null; }
}
- [System.Runtime.InteropServices.ComVisibleAttribute(true)]
- public partial class StackTrace
- {
- public const int METHODS_TO_SKIP = 0;
- [System.Security.SecuritySafeCriticalAttribute]
- public StackTrace() { }
- [System.Security.SecurityCriticalAttribute]
- public StackTrace(bool fNeedFileInfo) { }
- public StackTrace(System.Diagnostics.StackFrame frame) { }
- public StackTrace(System.Exception e) { }
- [System.Security.SecurityCriticalAttribute]
- public StackTrace(System.Exception e, bool fNeedFileInfo) { }
- [System.Security.SecurityCriticalAttribute]
- public StackTrace(System.Exception e, int skipFrames) { }
- [System.Security.SecurityCriticalAttribute]
- public StackTrace(System.Exception e, int skipFrames, bool fNeedFileInfo) { }
- [System.Security.SecurityCriticalAttribute]
- public StackTrace(int skipFrames) { }
- [System.Security.SecurityCriticalAttribute]
- public StackTrace(int skipFrames, bool fNeedFileInfo) { }
- [System.ObsoleteAttribute("This constructor has been deprecated. Please use a constructor that does not require a Thread parameter. http://go.microsoft.com/fwlink/?linkid=14202")]
- [System.Security.SecurityCriticalAttribute]
- public StackTrace(System.Threading.Thread targetThread, bool needFileInfo) { }
- public virtual int FrameCount { get { throw null; } }
- public virtual System.Diagnostics.StackFrame GetFrame(int index) { throw null; }
- [System.Runtime.InteropServices.ComVisibleAttribute(false)]
- public virtual System.Diagnostics.StackFrame[] GetFrames() { throw null; }
- [System.Security.SecuritySafeCriticalAttribute]
- public override string ToString() { throw null; }
+
+ [System.Runtime.InteropServices.ComVisibleAttribute(true)]
+ public partial class StackTrace
+ {
+ public const int METHODS_TO_SKIP = 0;
+ [System.Security.SecuritySafeCriticalAttribute]
+ public StackTrace() { }
+ [System.Security.SecurityCriticalAttribute]
+ public StackTrace(bool fNeedFileInfo) { }
+ public StackTrace(System.Diagnostics.StackFrame frame) { }
+ public StackTrace(System.Exception e) { }
+ [System.Security.SecurityCriticalAttribute]
+ public StackTrace(System.Exception e, bool fNeedFileInfo) { }
+ [System.Security.SecurityCriticalAttribute]
+ public StackTrace(System.Exception e, int skipFrames) { }
+ [System.Security.SecurityCriticalAttribute]
+ public StackTrace(System.Exception e, int skipFrames, bool fNeedFileInfo) { }
+ [System.Security.SecurityCriticalAttribute]
+ public StackTrace(int skipFrames) { }
+ [System.Security.SecurityCriticalAttribute]
+ public StackTrace(int skipFrames, bool fNeedFileInfo) { }
+ public virtual int FrameCount { get { throw null; } }
+ public virtual System.Diagnostics.StackFrame GetFrame(int index) { throw null; }
+ [System.Runtime.InteropServices.ComVisibleAttribute(false)]
+ public virtual System.Diagnostics.StackFrame[] GetFrames() { throw null; }
+ [System.Security.SecuritySafeCriticalAttribute]
+ public override string ToString() { throw null; }
}
}
namespace System.Diagnostics.CodeAnalysis
ContainedInManifestFile = 4,
Embedded = 1,
}
- public static partial class RuntimeReflectionExtensions
- {
- public static System.Reflection.MethodInfo GetMethodInfo(this System.Delegate del) { throw null; }
- public static System.Reflection.MethodInfo GetRuntimeBaseDefinition(this System.Reflection.MethodInfo method) { throw null; }
- public static System.Reflection.EventInfo GetRuntimeEvent(this System.Type type, string name) { throw null; }
- public static System.Collections.Generic.IEnumerable<System.Reflection.EventInfo> GetRuntimeEvents(this System.Type type) { throw null; }
- public static System.Reflection.FieldInfo GetRuntimeField(this System.Type type, string name) { throw null; }
- public static System.Collections.Generic.IEnumerable<System.Reflection.FieldInfo> GetRuntimeFields(this System.Type type) { throw null; }
- public static System.Reflection.InterfaceMapping GetRuntimeInterfaceMap(this System.Reflection.TypeInfo typeInfo, System.Type interfaceType) { throw null; }
- public static System.Reflection.MethodInfo GetRuntimeMethod(this System.Type type, string name, System.Type[] parameters) { throw null; }
- public static System.Collections.Generic.IEnumerable<System.Reflection.MethodInfo> GetRuntimeMethods(this System.Type type) { throw null; }
- public static System.Collections.Generic.IEnumerable<System.Reflection.PropertyInfo> GetRuntimeProperties(this System.Type type) { throw null; }
- public static System.Reflection.PropertyInfo GetRuntimeProperty(this System.Type type, string name) { throw null; }
- }
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class TargetException : System.ApplicationException
{
{
public CompilerGlobalScopeAttribute() { }
}
- public static partial class CompilerMarshalOverride
- {
- }
[System.Runtime.InteropServices.ComVisibleAttribute(false)]
public sealed partial class ConditionalWeakTable<TKey, TValue> where TKey : class where TValue : class
{
[System.Security.SecurityCriticalAttribute]
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
- [System.AttributeUsageAttribute((System.AttributeTargets)(972))]
- public sealed partial class SpecialNameAttribute : System.Attribute
- {
- public SpecialNameAttribute() { }
- }
[System.AttributeUsageAttribute((System.AttributeTargets)(1), Inherited=false)]
public sealed partial class StringFreezingAttribute : System.Attribute
{
}
namespace System.Runtime.InteropServices
{
- [System.AttributeUsageAttribute((System.AttributeTargets)(64), AllowMultiple=false, Inherited=false)]
- public sealed partial class AllowReversePInvokeCallsAttribute : System.Attribute
- {
- public AllowReversePInvokeCallsAttribute() { }
- }
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public partial struct ArrayWithOffset
namespace System.Runtime.Serialization
{
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
- public static partial class FormatterServices
- {
- [System.Security.SecurityCriticalAttribute]
- public static object GetUninitializedObject(System.Type type) { throw null; }
- }
- [System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial interface IDeserializationCallback
{
void OnDeserialization(object sender);
{
public SecuritySafeCriticalAttribute() { }
}
- [System.Security.SecurityCriticalAttribute]
- public abstract partial class SecurityState
- {
- protected SecurityState() { }
- public abstract void EnsureState();
- [System.Security.SecurityCriticalAttribute]
- public bool IsStateAvailable() { throw null; }
- }
[System.AttributeUsageAttribute((System.AttributeTargets)(1), AllowMultiple=false, Inherited=false)]
public sealed partial class SecurityTransparentAttribute : System.Attribute
{
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
[System.Security.SecurityCriticalAttribute]
public delegate void ContextCallback(object state);
- [System.Diagnostics.DebuggerDisplayAttribute("Initial Count={InitialCount}, Current Count={CurrentCount}")]
- [System.Runtime.InteropServices.ComVisibleAttribute(false)]
- public partial class CountdownEvent : System.IDisposable
- {
- public CountdownEvent(int initialCount) { }
- public int CurrentCount { get { throw null; } }
- public int InitialCount { get { throw null; } }
- public bool IsSet { get { throw null; } }
- public System.Threading.WaitHandle WaitHandle { get { throw null; } }
- public void AddCount() { }
- public void AddCount(int signalCount) { }
- public void Dispose() { }
- protected virtual void Dispose(bool disposing) { }
- public void Reset() { }
- public void Reset(int count) { }
- public bool Signal() { throw null; }
- public bool Signal(int signalCount) { throw null; }
- public bool TryAddCount() { throw null; }
- public bool TryAddCount(int signalCount) { throw null; }
- public void Wait() { }
- public bool Wait(int millisecondsTimeout) { throw null; }
- public bool Wait(int millisecondsTimeout, System.Threading.CancellationToken cancellationToken) { throw null; }
- public void Wait(System.Threading.CancellationToken cancellationToken) { }
- public bool Wait(System.TimeSpan timeout) { throw null; }
- public bool Wait(System.TimeSpan timeout, System.Threading.CancellationToken cancellationToken) { throw null; }
- }
[System.Runtime.InteropServices.ComVisibleAttribute(false)]
public enum EventResetMode
{
public SynchronizationLockException(string message, System.Exception innerException) { }
protected SynchronizationLockException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}
- [System.Runtime.InteropServices.ClassInterfaceAttribute((System.Runtime.InteropServices.ClassInterfaceType)(0))]
- [System.Runtime.InteropServices.ComVisibleAttribute(true)]
- public sealed partial class Thread : Internal.Runtime.Augments.RuntimeThread
- {
- [System.Security.SecuritySafeCriticalAttribute]
- public Thread(System.Threading.ParameterizedThreadStart start) { }
- [System.Security.SecuritySafeCriticalAttribute]
- public Thread(System.Threading.ThreadStart start) { }
- public System.Globalization.CultureInfo CurrentCulture { get { throw null; } [System.Security.SecuritySafeCriticalAttribute]set { } }
- public static new System.Threading.Thread CurrentThread { [System.Security.SecuritySafeCriticalAttribute]get { throw null; } }
- public System.Globalization.CultureInfo CurrentUICulture { get { throw null; } [System.Security.SecuritySafeCriticalAttribute]set { } }
- public new int ManagedThreadId { [System.Security.SecuritySafeCriticalAttribute][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)]get { throw null; } }
- public new string Name { get { throw null; } [System.Security.SecuritySafeCriticalAttribute]set { } }
- ~Thread() { }
- [System.Security.SecuritySafeCriticalAttribute]
- [System.Runtime.InteropServices.ComVisibleAttribute(false)]
- public override int GetHashCode() { throw null; }
- [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
- public static void MemoryBarrier() { }
- [System.Security.SecuritySafeCriticalAttribute]
- public static new void Sleep(int millisecondsTimeout) { }
- public static void Sleep(System.TimeSpan timeout) { }
- [System.Security.SecuritySafeCriticalAttribute]
- public static new void SpinWait(int iterations) { }
- [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
- public new void Start() { }
- [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
- public new void Start(object parameter) { }
- }
- [System.Runtime.InteropServices.ComVisibleAttribute(true)]
- public sealed partial class ThreadAbortException : System.SystemException
- {
- internal ThreadAbortException() { }
- }
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class ThreadInterruptedException : System.SystemException
{
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-//------------------------------------------------------------------------------
-//------------------------------------------------------------------------------
-//
-
-using System;
-using System.Diagnostics.Contracts;
-
-namespace System.Collections
-{
- // Useful base class for typed read/write collections where items derive from object
- [Serializable]
- public abstract class CollectionBase : IList
- {
- private ArrayList list;
-
- protected CollectionBase()
- {
- list = new ArrayList();
- }
-
- internal ArrayList InnerList
- {
- get
- {
- if (list == null)
- list = new ArrayList();
- return list;
- }
- }
-
- protected IList List
- {
- get { return (IList)this; }
- }
-
-
- public int Count
- {
- get
- {
- return list == null ? 0 : list.Count;
- }
- }
-
- public void Clear()
- {
- OnClear();
- InnerList.Clear();
- OnClearComplete();
- }
-
- public void RemoveAt(int index)
- {
- if (index < 0 || index >= Count)
- throw new ArgumentOutOfRangeException(nameof(index), Environment.GetResourceString("ArgumentOutOfRange_Index"));
- Contract.EndContractBlock();
- Object temp = InnerList[index];
- OnValidate(temp);
- OnRemove(index, temp);
- InnerList.RemoveAt(index);
- try
- {
- OnRemoveComplete(index, temp);
- }
- catch
- {
- InnerList.Insert(index, temp);
- throw;
- }
- }
-
- bool IList.IsReadOnly
- {
- get { return InnerList.IsReadOnly; }
- }
-
- bool IList.IsFixedSize
- {
- get { return InnerList.IsFixedSize; }
- }
-
- bool ICollection.IsSynchronized
- {
- get { return InnerList.IsSynchronized; }
- }
-
- Object ICollection.SyncRoot
- {
- get { return InnerList.SyncRoot; }
- }
-
- void ICollection.CopyTo(Array array, int index)
- {
- InnerList.CopyTo(array, index);
- }
-
- Object IList.this[int index]
- {
- get
- {
- if (index < 0 || index >= Count)
- throw new ArgumentOutOfRangeException(nameof(index), Environment.GetResourceString("ArgumentOutOfRange_Index"));
- Contract.EndContractBlock();
- return InnerList[index];
- }
- set
- {
- if (index < 0 || index >= Count)
- throw new ArgumentOutOfRangeException(nameof(index), Environment.GetResourceString("ArgumentOutOfRange_Index"));
- Contract.EndContractBlock();
- OnValidate(value);
- Object temp = InnerList[index];
- OnSet(index, temp, value);
- InnerList[index] = value;
- try
- {
- OnSetComplete(index, temp, value);
- }
- catch
- {
- InnerList[index] = temp;
- throw;
- }
- }
- }
-
- bool IList.Contains(Object value)
- {
- return InnerList.Contains(value);
- }
-
- int IList.Add(Object value)
- {
- OnValidate(value);
- OnInsert(InnerList.Count, value);
- int index = InnerList.Add(value);
- try
- {
- OnInsertComplete(index, value);
- }
- catch
- {
- InnerList.RemoveAt(index);
- throw;
- }
- return index;
- }
-
-
- void IList.Remove(Object value)
- {
- OnValidate(value);
- int index = InnerList.IndexOf(value);
- if (index < 0) throw new ArgumentException(Environment.GetResourceString("Arg_RemoveArgNotFound"));
- OnRemove(index, value);
- InnerList.RemoveAt(index);
- try
- {
- OnRemoveComplete(index, value);
- }
- catch
- {
- InnerList.Insert(index, value);
- throw;
- }
- }
-
- int IList.IndexOf(Object value)
- {
- return InnerList.IndexOf(value);
- }
-
- void IList.Insert(int index, Object value)
- {
- if (index < 0 || index > Count)
- throw new ArgumentOutOfRangeException(nameof(index), Environment.GetResourceString("ArgumentOutOfRange_Index"));
- Contract.EndContractBlock();
- OnValidate(value);
- OnInsert(index, value);
- InnerList.Insert(index, value);
- try
- {
- OnInsertComplete(index, value);
- }
- catch
- {
- InnerList.RemoveAt(index);
- throw;
- }
- }
-
- public IEnumerator GetEnumerator()
- {
- return InnerList.GetEnumerator();
- }
-
- protected virtual void OnSet(int index, Object oldValue, Object newValue)
- {
- }
-
- protected virtual void OnInsert(int index, Object value)
- {
- }
-
- protected virtual void OnClear()
- {
- }
-
- protected virtual void OnRemove(int index, Object value)
- {
- }
-
- protected virtual void OnValidate(Object value)
- {
- if (value == null) throw new ArgumentNullException(nameof(value));
- Contract.EndContractBlock();
- }
-
- protected virtual void OnSetComplete(int index, Object oldValue, Object newValue)
- {
- }
-
- protected virtual void OnInsertComplete(int index, Object value)
- {
- }
-
- protected virtual void OnClearComplete()
- {
- }
-
- protected virtual void OnRemoveComplete(int index, Object value)
- {
- }
- }
-}
}
}
- internal sealed class Mscorlib_KeyedCollectionDebugView<K, T>
- {
- private KeyedCollection<K, T> kc;
-
- public Mscorlib_KeyedCollectionDebugView(KeyedCollection<K, T> keyedCollection)
- {
- if (keyedCollection == null)
- {
- throw new ArgumentNullException(nameof(keyedCollection));
- }
- Contract.EndContractBlock();
-
- kc = keyedCollection;
- }
-
- [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
- public T[] Items
- {
- get
- {
- T[] items = new T[kc.Count];
- kc.CopyTo(items, 0);
- return items;
- }
- }
- }
}
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-//
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Diagnostics.Contracts;
-
-namespace System.Collections.ObjectModel
-{
- [Serializable]
- [DebuggerTypeProxy(typeof(Mscorlib_KeyedCollectionDebugView<,>))]
- [DebuggerDisplay("Count = {Count}")]
- public abstract class KeyedCollection<TKey, TItem> : Collection<TItem>
- {
- private const int defaultThreshold = 0;
-
- private IEqualityComparer<TKey> comparer;
- private Dictionary<TKey, TItem> dict;
- private int keyCount;
- private int threshold;
-
- protected KeyedCollection() : this(null, defaultThreshold) { }
-
- protected KeyedCollection(IEqualityComparer<TKey> comparer) : this(comparer, defaultThreshold) { }
-
-
- protected KeyedCollection(IEqualityComparer<TKey> comparer, int dictionaryCreationThreshold)
- : base(new List<TItem>())
- { // Be explicit about the use of List<T> so we can foreach over
- // Items internally without enumerator allocations.
- if (comparer == null)
- {
- comparer = EqualityComparer<TKey>.Default;
- }
-
- if (dictionaryCreationThreshold == -1)
- {
- dictionaryCreationThreshold = int.MaxValue;
- }
-
- if (dictionaryCreationThreshold < -1)
- {
- ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.dictionaryCreationThreshold, ExceptionResource.ArgumentOutOfRange_InvalidThreshold);
- }
-
- this.comparer = comparer;
- threshold = dictionaryCreationThreshold;
- }
-
- /// <summary>
- /// Enables the use of foreach internally without allocations using <see cref="List{T}"/>'s struct enumerator.
- /// </summary>
- new private List<TItem> Items
- {
- get
- {
- Debug.Assert(base.Items is List<TItem>);
-
- return (List<TItem>)base.Items;
- }
- }
-
- public IEqualityComparer<TKey> Comparer
- {
- get
- {
- return comparer;
- }
- }
-
- public TItem this[TKey key]
- {
- get
- {
- if (key == null)
- {
- ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key);
- }
-
- if (dict != null)
- {
- return dict[key];
- }
-
- foreach (TItem item in Items)
- {
- if (comparer.Equals(GetKeyForItem(item), key)) return item;
- }
-
- ThrowHelper.ThrowKeyNotFoundException();
- return default(TItem);
- }
- }
-
- public bool Contains(TKey key)
- {
- if (key == null)
- {
- ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key);
- }
-
- if (dict != null)
- {
- return dict.ContainsKey(key);
- }
-
- foreach (TItem item in Items)
- {
- if (comparer.Equals(GetKeyForItem(item), key)) return true;
- }
- return false;
- }
-
- private bool ContainsItem(TItem item)
- {
- TKey key;
- if ((dict == null) || ((key = GetKeyForItem(item)) == null))
- {
- return Items.Contains(item);
- }
-
- TItem itemInDict;
- bool exist = dict.TryGetValue(key, out itemInDict);
- if (exist)
- {
- return EqualityComparer<TItem>.Default.Equals(itemInDict, item);
- }
- return false;
- }
-
- public bool Remove(TKey key)
- {
- if (key == null)
- {
- ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key);
- }
-
- if (dict != null)
- {
- if (dict.ContainsKey(key))
- {
- return Remove(dict[key]);
- }
-
- return false;
- }
-
- for (int i = 0; i < Items.Count; i++)
- {
- if (comparer.Equals(GetKeyForItem(Items[i]), key))
- {
- RemoveItem(i);
- return true;
- }
- }
- return false;
- }
-
- protected IDictionary<TKey, TItem> Dictionary
- {
- get { return dict; }
- }
-
- protected void ChangeItemKey(TItem item, TKey newKey)
- {
- // check if the item exists in the collection
- if (!ContainsItem(item))
- {
- ThrowHelper.ThrowArgumentException(ExceptionResource.Argument_ItemNotExist);
- }
-
- TKey oldKey = GetKeyForItem(item);
- if (!comparer.Equals(oldKey, newKey))
- {
- if (newKey != null)
- {
- AddKey(newKey, item);
- }
-
- if (oldKey != null)
- {
- RemoveKey(oldKey);
- }
- }
- }
-
- protected override void ClearItems()
- {
- base.ClearItems();
- if (dict != null)
- {
- dict.Clear();
- }
-
- keyCount = 0;
- }
-
- protected abstract TKey GetKeyForItem(TItem item);
-
- protected override void InsertItem(int index, TItem item)
- {
- TKey key = GetKeyForItem(item);
- if (key != null)
- {
- AddKey(key, item);
- }
- base.InsertItem(index, item);
- }
-
- protected override void RemoveItem(int index)
- {
- TKey key = GetKeyForItem(Items[index]);
- if (key != null)
- {
- RemoveKey(key);
- }
- base.RemoveItem(index);
- }
-
- protected override void SetItem(int index, TItem item)
- {
- TKey newKey = GetKeyForItem(item);
- TKey oldKey = GetKeyForItem(Items[index]);
-
- if (comparer.Equals(oldKey, newKey))
- {
- if (newKey != null && dict != null)
- {
- dict[newKey] = item;
- }
- }
- else
- {
- if (newKey != null)
- {
- AddKey(newKey, item);
- }
-
- if (oldKey != null)
- {
- RemoveKey(oldKey);
- }
- }
- base.SetItem(index, item);
- }
-
- private void AddKey(TKey key, TItem item)
- {
- if (dict != null)
- {
- dict.Add(key, item);
- }
- else if (keyCount == threshold)
- {
- CreateDictionary();
- dict.Add(key, item);
- }
- else
- {
- if (Contains(key))
- {
- ThrowHelper.ThrowArgumentException(ExceptionResource.Argument_AddingDuplicate);
- }
-
- keyCount++;
- }
- }
-
- private void CreateDictionary()
- {
- dict = new Dictionary<TKey, TItem>(comparer);
- foreach (TItem item in Items)
- {
- TKey key = GetKeyForItem(item);
- if (key != null)
- {
- dict.Add(key, item);
- }
- }
- }
-
- private void RemoveKey(TKey key)
- {
- Debug.Assert(key != null, "key shouldn't be null!");
- if (dict != null)
- {
- dict.Remove(key);
- }
- else
- {
- keyCount--;
- }
- }
- }
-}
[Serializable]
[DebuggerTypeProxy(typeof(Mscorlib_DictionaryDebugView<,>))]
[DebuggerDisplay("Count = {Count}")]
- public class ReadOnlyDictionary<TKey, TValue> : IDictionary<TKey, TValue>, IDictionary, IReadOnlyDictionary<TKey, TValue>
+ internal class ReadOnlyDictionary<TKey, TValue> : IDictionary<TKey, TValue>, IDictionary, IReadOnlyDictionary<TKey, TValue>
{
private readonly IDictionary<TKey, TValue> m_dictionary;
[NonSerialized]
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-//
-
-using System;
-
-namespace System.Collections
-{
- public static class StructuralComparisons
- {
- private static volatile IComparer s_StructuralComparer;
- private static volatile IEqualityComparer s_StructuralEqualityComparer;
-
- public static IComparer StructuralComparer
- {
- get
- {
- IComparer comparer = s_StructuralComparer;
- if (comparer == null)
- {
- comparer = new StructuralComparer();
- s_StructuralComparer = comparer;
- }
- return comparer;
- }
- }
-
- public static IEqualityComparer StructuralEqualityComparer
- {
- get
- {
- IEqualityComparer comparer = s_StructuralEqualityComparer;
- if (comparer == null)
- {
- comparer = new StructuralEqualityComparer();
- s_StructuralEqualityComparer = comparer;
- }
- return comparer;
- }
- }
- }
-
- [Serializable]
- internal class StructuralEqualityComparer : IEqualityComparer
- {
- public new bool Equals(Object x, Object y)
- {
- if (x != null)
- {
- IStructuralEquatable seObj = x as IStructuralEquatable;
-
- if (seObj != null)
- {
- return seObj.Equals(y, this);
- }
-
- if (y != null)
- {
- return x.Equals(y);
- }
- else
- {
- return false;
- }
- }
- if (y != null) return false;
- return true;
- }
-
- public int GetHashCode(Object obj)
- {
- if (obj == null) return 0;
-
- IStructuralEquatable seObj = obj as IStructuralEquatable;
-
- if (seObj != null)
- {
- return seObj.GetHashCode(this);
- }
-
- return obj.GetHashCode();
- }
- }
-
- [Serializable]
- internal class StructuralComparer : IComparer
- {
- public int Compare(Object x, Object y)
- {
- if (x == null) return y == null ? 0 : -1;
- if (y == null) return 1;
-
- IStructuralComparable scX = x as IStructuralComparable;
-
- if (scX != null)
- {
- return scX.CompareTo(y, this);
- }
-
- return Comparer.Default.Compare(x, y);
- }
- }
-}
#if ES_BUILD_PCL || PROJECTN
namespace System.Security
{
- class SuppressUnmanagedCodeSecurityAttribute : Attribute { }
+ internal class SuppressUnmanagedCodeSecurityAttribute : Attribute { }
enum SecurityAction { Demand }
}
}
- // Constructs a stack trace for the given thread
- //
- [Obsolete("This constructor has been deprecated. Please use a constructor that does not require a Thread parameter. http://go.microsoft.com/fwlink/?linkid=14202")]
- public StackTrace(Thread targetThread, bool needFileInfo)
- {
- m_iNumOfFrames = 0;
- m_iMethodsToSkip = 0;
-
- CaptureStackTrace(METHODS_TO_SKIP, needFileInfo, targetThread, null);
- }
-
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern void GetStackFramesInternal(StackFrameHelper sfh, int iSkip, bool fNeedFileInfo, Exception e);
Machine = 2,
}
- public static partial class Environment
+ internal static partial class Environment
{
// Assume the following constants include the terminating '\0' - use <, not <=
private const int MaxEnvVariableValueLength = 32767; // maximum length for environment variable name and value
namespace System.IO
{
[Serializable]
- public enum SearchOption
+ internal enum SearchOption
{
// Include only the current directory in the search operation
TopDirectoryOnly,
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace System
-{
- public interface IServiceProvider
- {
- // Interface does not need to be marked with the serializable attribute
- Object GetService(Type serviceType);
- }
-}
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-
-namespace System.Reflection
-{
- public static class RuntimeReflectionExtensions
- {
- private const BindingFlags everything = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static;
-
- private static void CheckAndThrow(Type type)
- {
- if (type == null) throw new ArgumentNullException(nameof(type));
- if (!(type is RuntimeType)) throw new ArgumentException(Environment.GetResourceString("Argument_MustBeRuntimeType"));
- }
-
- private static void CheckAndThrow(MethodInfo method)
- {
- if (method == null) throw new ArgumentNullException(nameof(method));
- if (!(method is RuntimeMethodInfo)) throw new ArgumentException(Environment.GetResourceString("Argument_MustBeRuntimeMethodInfo"));
- }
-
- public static IEnumerable<PropertyInfo> GetRuntimeProperties(this Type type)
- {
- CheckAndThrow(type);
- return type.GetProperties(everything);
- }
- public static IEnumerable<EventInfo> GetRuntimeEvents(this Type type)
- {
- CheckAndThrow(type);
- return type.GetEvents(everything);
- }
-
- public static IEnumerable<MethodInfo> GetRuntimeMethods(this Type type)
- {
- CheckAndThrow(type);
- return type.GetMethods(everything);
- }
-
- public static IEnumerable<FieldInfo> GetRuntimeFields(this Type type)
- {
- CheckAndThrow(type);
- return type.GetFields(everything);
- }
-
- public static PropertyInfo GetRuntimeProperty(this Type type, string name)
- {
- CheckAndThrow(type);
- return type.GetProperty(name);
- }
- public static EventInfo GetRuntimeEvent(this Type type, string name)
- {
- CheckAndThrow(type);
- return type.GetEvent(name);
- }
- public static MethodInfo GetRuntimeMethod(this Type type, string name, Type[] parameters)
- {
- CheckAndThrow(type);
- return type.GetMethod(name, parameters);
- }
- public static FieldInfo GetRuntimeField(this Type type, string name)
- {
- CheckAndThrow(type);
- return type.GetField(name);
- }
- public static MethodInfo GetRuntimeBaseDefinition(this MethodInfo method)
- {
- CheckAndThrow(method);
- return method.GetBaseDefinition();
- }
-
- public static InterfaceMapping GetRuntimeInterfaceMap(this TypeInfo typeInfo, Type interfaceType)
- {
- if (typeInfo == null) throw new ArgumentNullException(nameof(typeInfo));
- if (!(typeInfo is RuntimeType)) throw new ArgumentException(Environment.GetResourceString("Argument_MustBeRuntimeType"));
-
- return typeInfo.GetInterfaceMap(interfaceType);
- }
-
- public static MethodInfo GetMethodInfo(this Delegate del)
- {
- if (del == null) throw new ArgumentNullException(nameof(del));
-
- return del.Method;
- }
- }
-}
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Runtime.CompilerServices
-{
- // The CLR data marshaler has some behaviors that are incompatible with
- // C++. Specifically, C++ treats boolean variables as byte size, whereas
- // the marshaller treats them as 4-byte size. Similarly, C++ treats
- // wchar_t variables as 4-byte size, whereas the marshaller treats them
- // as single byte size under certain conditions. In order to work around
- // such issues, the C++ compiler will emit a type that the marshaller will
- // marshal using the correct sizes. In addition, the compiler will place
- // this modopt onto the variables to indicate that the specified type is
- // not the true type. Any compiler that needed to deal with similar
- // marshalling incompatibilities could use this attribute as well.
- //
- // Indicates that the modified instance differs from its true type for
- // correct marshalling.
- public static class CompilerMarshalOverride
- {
- }
-}
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-namespace System.Runtime.CompilerServices
-{
- [AttributeUsage(AttributeTargets.Class |
- AttributeTargets.Method |
- AttributeTargets.Property |
- AttributeTargets.Field |
- AttributeTargets.Event |
- AttributeTargets.Struct)]
-
-
- public sealed class SpecialNameAttribute : Attribute
- {
- public SpecialNameAttribute() { }
- }
-}
-
-
-
namespace System.Runtime.Serialization
{
- public static class FormatterServices
+ internal static class FormatterServices
{
// Gets a new instance of the object. The entire object is initalized to 0 and no
// constructors have been run. **THIS MEANS THAT THE OBJECT MAY NOT BE IN A STATE
namespace System.Security
{
- public abstract class SecurityState
+ internal abstract class SecurityState
{
protected SecurityState() { }
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-// =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
-//
-//
-//
-// A simple coordination data structure that we use for fork/join style parallelism.
-//
-// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
-using System;
-using System.Runtime.InteropServices;
-using System.Threading;
-using System.Diagnostics;
-using System.Diagnostics.Contracts;
-
-namespace System.Threading
-{
- /// <summary>
- /// Represents a synchronization primitive that is signaled when its count reaches zero.
- /// </summary>
- /// <remarks>
- /// All public and protected members of <see cref="CountdownEvent"/> are thread-safe and may be used
- /// concurrently from multiple threads, with the exception of Dispose, which
- /// must only be used when all other operations on the <see cref="CountdownEvent"/> have
- /// completed, and Reset, which should only be used when no other threads are
- /// accessing the event.
- /// </remarks>
- [DebuggerDisplay("Initial Count={InitialCount}, Current Count={CurrentCount}")]
- public class CountdownEvent : IDisposable
- {
- // CountdownEvent is a simple synchronization primitive used for fork/join parallelism. We create a
- // latch with a count of N; threads then signal the latch, which decrements N by 1; other threads can
- // wait on the latch at any point; when the latch count reaches 0, all threads are woken and
- // subsequent waiters return without waiting. The implementation internally lazily creates a true
- // Win32 event as needed. We also use some amount of spinning on MP machines before falling back to a
- // wait.
-
- private int m_initialCount; // The original # of signals the latch was instantiated with.
- private volatile int m_currentCount; // The # of outstanding signals before the latch transitions to a signaled state.
- private ManualResetEventSlim m_event; // An event used to manage blocking and signaling.
- private volatile bool m_disposed; // Whether the latch has been disposed.
-
- /// <summary>
- /// Initializes a new instance of <see cref="T:System.Threading.CountdownEvent"/> class with the
- /// specified count.
- /// </summary>
- /// <param name="initialCount">The number of signals required to set the <see
- /// cref="T:System.Threading.CountdownEvent"/>.</param>
- /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="initialCount"/> is less
- /// than 0.</exception>
- public CountdownEvent(int initialCount)
- {
- if (initialCount < 0)
- {
- throw new ArgumentOutOfRangeException(nameof(initialCount));
- }
-
- m_initialCount = initialCount;
- m_currentCount = initialCount;
-
- // Allocate a thin event, which internally defers creation of an actual Win32 event.
- m_event = new ManualResetEventSlim();
-
- // If the latch was created with a count of 0, then it's already in the signaled state.
- if (initialCount == 0)
- {
- m_event.Set();
- }
- }
-
- /// <summary>
- /// Gets the number of remaining signals required to set the event.
- /// </summary>
- /// <value>
- /// The number of remaining signals required to set the event.
- /// </value>
- public int CurrentCount
- {
- get
- {
- int observedCount = m_currentCount;
- return observedCount < 0 ? 0 : observedCount;
- }
- }
-
- /// <summary>
- /// Gets the numbers of signals initially required to set the event.
- /// </summary>
- /// <value>
- /// The number of signals initially required to set the event.
- /// </value>
- public int InitialCount
- {
- get { return m_initialCount; }
- }
-
- /// <summary>
- /// Determines whether the event is set.
- /// </summary>
- /// <value>true if the event is set; otherwise, false.</value>
- public bool IsSet
- {
- get
- {
- // The latch is "completed" if its current count has reached 0. Note that this is NOT
- // the same thing is checking the event's IsCompleted property. There is a tiny window
- // of time, after the final decrement of the current count to 0 and before setting the
- // event, where the two values are out of sync.
- return (m_currentCount <= 0);
- }
- }
-
- /// <summary>
- /// Gets a <see cref="T:System.Threading.WaitHandle"/> that is used to wait for the event to be set.
- /// </summary>
- /// <value>A <see cref="T:System.Threading.WaitHandle"/> that is used to wait for the event to be set.</value>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
- /// <remarks>
- /// <see cref="WaitHandle"/> should only be used if it's needed for integration with code bases
- /// that rely on having a WaitHandle. If all that's needed is to wait for the <see cref="CountdownEvent"/>
- /// to be set, the <see cref="Wait()"/> method should be preferred.
- /// </remarks>
- public WaitHandle WaitHandle
- {
- get
- {
- ThrowIfDisposed();
- return m_event.WaitHandle;
- }
- }
-
- /// <summary>
- /// Releases all resources used by the current instance of <see cref="T:System.Threading.CountdownEvent"/>.
- /// </summary>
- /// <remarks>
- /// Unlike most of the members of <see cref="CountdownEvent"/>, <see cref="Dispose()"/> is not
- /// thread-safe and may not be used concurrently with other members of this instance.
- /// </remarks>
- public void Dispose()
- {
- // Gets rid of this latch's associated resources. This can consist of a Win32 event
- // which is (lazily) allocated by the underlying thin event. This method is not safe to
- // call concurrently -- i.e. a caller must coordinate to ensure only one thread is using
- // the latch at the time of the call to Dispose.
-
- Dispose(true);
- GC.SuppressFinalize(this);
- }
-
- /// <summary>
- /// When overridden in a derived class, releases the unmanaged resources used by the
- /// <see cref="T:System.Threading.CountdownEvent"/>, and optionally releases the managed resources.
- /// </summary>
- /// <param name="disposing">true to release both managed and unmanaged resources; false to release
- /// only unmanaged resources.</param>
- /// <remarks>
- /// Unlike most of the members of <see cref="CountdownEvent"/>, <see cref="Dispose()"/> is not
- /// thread-safe and may not be used concurrently with other members of this instance.
- /// </remarks>
- protected virtual void Dispose(bool disposing)
- {
- if (disposing)
- {
- m_event.Dispose();
- m_disposed = true;
- }
- }
-
- /// <summary>
- /// Registers a signal with the <see cref="T:System.Threading.CountdownEvent"/>, decrementing its
- /// count.
- /// </summary>
- /// <returns>true if the signal caused the count to reach zero and the event was set; otherwise,
- /// false.</returns>
- /// <exception cref="T:System.InvalidOperationException">The current instance is already set.
- /// </exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public bool Signal()
- {
- ThrowIfDisposed();
- Debug.Assert(m_event != null);
-
- if (m_currentCount <= 0)
- {
- throw new InvalidOperationException(Environment.GetResourceString("CountdownEvent_Decrement_BelowZero"));
- }
-#pragma warning disable 0420
- int newCount = Interlocked.Decrement(ref m_currentCount);
-#pragma warning restore 0420
- if (newCount == 0)
- {
- m_event.Set();
- return true;
- }
- else if (newCount < 0)
- {
- //if the count is decremented below zero, then throw, it's OK to keep the count negative, and we shouldn't set the event here
- //because there was a thread already which decremented it to zero and set the event
- throw new InvalidOperationException(Environment.GetResourceString("CountdownEvent_Decrement_BelowZero"));
- }
-
- return false;
- }
-
- /// <summary>
- /// Registers multiple signals with the <see cref="T:System.Threading.CountdownEvent"/>,
- /// decrementing its count by the specified amount.
- /// </summary>
- /// <param name="signalCount">The number of signals to register.</param>
- /// <returns>true if the signals caused the count to reach zero and the event was set; otherwise,
- /// false.</returns>
- /// <exception cref="T:System.InvalidOperationException">
- /// The current instance is already set. -or- Or <paramref name="signalCount"/> is greater than <see
- /// cref="CurrentCount"/>.
- /// </exception>
- /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount"/> is less
- /// than 1.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public bool Signal(int signalCount)
- {
- if (signalCount <= 0)
- {
- throw new ArgumentOutOfRangeException(nameof(signalCount));
- }
-
- ThrowIfDisposed();
- Debug.Assert(m_event != null);
-
- int observedCount;
- SpinWait spin = new SpinWait();
- while (true)
- {
- observedCount = m_currentCount;
-
- // If the latch is already signaled, we will fail.
- if (observedCount < signalCount)
- {
- throw new InvalidOperationException(Environment.GetResourceString("CountdownEvent_Decrement_BelowZero"));
- }
-
- // This disables the "CS0420: a reference to a volatile field will not be treated as volatile" warning
- // for this statement. This warning is clearly senseless for Interlocked operations.
-#pragma warning disable 0420
- if (Interlocked.CompareExchange(ref m_currentCount, observedCount - signalCount, observedCount) == observedCount)
-#pragma warning restore 0420
- {
- break;
- }
-
- // The CAS failed. Spin briefly and try again.
- spin.SpinOnce();
- }
-
- // If we were the last to signal, set the event.
- if (observedCount == signalCount)
- {
- m_event.Set();
- return true;
- }
-
- Debug.Assert(m_currentCount >= 0, "latch was decremented below zero");
- return false;
- }
-
- /// <summary>
- /// Increments the <see cref="T:System.Threading.CountdownEvent"/>'s current count by one.
- /// </summary>
- /// <exception cref="T:System.InvalidOperationException">The current instance is already
- /// set.</exception>
- /// <exception cref="T:System.InvalidOperationException"><see cref="CurrentCount"/> is equal to <see
- /// cref="T:System.Int32.MaxValue"/>.</exception>
- /// <exception cref="T:System.ObjectDisposedException">
- /// The current instance has already been disposed.
- /// </exception>
- public void AddCount()
- {
- AddCount(1);
- }
-
- /// <summary>
- /// Attempts to increment the <see cref="T:System.Threading.CountdownEvent"/>'s current count by one.
- /// </summary>
- /// <returns>true if the increment succeeded; otherwise, false. If <see cref="CurrentCount"/> is
- /// already at zero. this will return false.</returns>
- /// <exception cref="T:System.InvalidOperationException"><see cref="CurrentCount"/> is equal to <see
- /// cref="T:System.Int32.MaxValue"/>.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public bool TryAddCount()
- {
- return TryAddCount(1);
- }
-
- /// <summary>
- /// Increments the <see cref="T:System.Threading.CountdownEvent"/>'s current count by a specified
- /// value.
- /// </summary>
- /// <param name="signalCount">The value by which to increase <see cref="CurrentCount"/>.</param>
- /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount"/> is less than
- /// 0.</exception>
- /// <exception cref="T:System.InvalidOperationException">The current instance is already
- /// set.</exception>
- /// <exception cref="T:System.InvalidOperationException"><see cref="CurrentCount"/> is equal to <see
- /// cref="T:System.Int32.MaxValue"/>.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public void AddCount(int signalCount)
- {
- if (!TryAddCount(signalCount))
- {
- throw new InvalidOperationException(Environment.GetResourceString("CountdownEvent_Increment_AlreadyZero"));
- }
- }
-
- /// <summary>
- /// Attempts to increment the <see cref="T:System.Threading.CountdownEvent"/>'s current count by a
- /// specified value.
- /// </summary>
- /// <param name="signalCount">The value by which to increase <see cref="CurrentCount"/>.</param>
- /// <returns>true if the increment succeeded; otherwise, false. If <see cref="CurrentCount"/> is
- /// already at zero this will return false.</returns>
- /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount"/> is less
- /// than 0.</exception>
- /// <exception cref="T:System.InvalidOperationException">The current instance is already
- /// set.</exception>
- /// <exception cref="T:System.InvalidOperationException"><see cref="CurrentCount"/> is equal to <see
- /// cref="T:System.Int32.MaxValue"/>.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public bool TryAddCount(int signalCount)
- {
- if (signalCount <= 0)
- {
- throw new ArgumentOutOfRangeException(nameof(signalCount));
- }
-
- ThrowIfDisposed();
-
- // Loop around until we successfully increment the count.
- int observedCount;
- SpinWait spin = new SpinWait();
- while (true)
- {
- observedCount = m_currentCount;
-
- if (observedCount <= 0)
- {
- return false;
- }
- else if (observedCount > (Int32.MaxValue - signalCount))
- {
- throw new InvalidOperationException(Environment.GetResourceString("CountdownEvent_Increment_AlreadyMax"));
- }
-
- // This disables the "CS0420: a reference to a volatile field will not be treated as volatile" warning
- // for this statement. This warning is clearly senseless for Interlocked operations.
-#pragma warning disable 0420
- if (Interlocked.CompareExchange(ref m_currentCount, observedCount + signalCount, observedCount) == observedCount)
-#pragma warning restore 0420
- {
- break;
- }
-
- // The CAS failed. Spin briefly and try again.
- spin.SpinOnce();
- }
-
- return true;
- }
-
- /// <summary>
- /// Resets the <see cref="CurrentCount"/> to the value of <see cref="InitialCount"/>.
- /// </summary>
- /// <remarks>
- /// Unlike most of the members of <see cref="CountdownEvent"/>, Reset is not
- /// thread-safe and may not be used concurrently with other members of this instance.
- /// </remarks>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed..</exception>
- public void Reset()
- {
- Reset(m_initialCount);
- }
-
- /// <summary>
- /// Resets the <see cref="CurrentCount"/> to a specified value.
- /// </summary>
- /// <param name="count">The number of signals required to set the <see
- /// cref="T:System.Threading.CountdownEvent"/>.</param>
- /// <remarks>
- /// Unlike most of the members of <see cref="CountdownEvent"/>, Reset is not
- /// thread-safe and may not be used concurrently with other members of this instance.
- /// </remarks>
- /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="count"/> is
- /// less than 0.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has alread been disposed.</exception>
- public void Reset(int count)
- {
- ThrowIfDisposed();
-
- if (count < 0)
- {
- throw new ArgumentOutOfRangeException(nameof(count));
- }
-
- m_currentCount = count;
- m_initialCount = count;
-
- if (count == 0)
- {
- m_event.Set();
- }
- else
- {
- m_event.Reset();
- }
- }
-
- /// <summary>
- /// Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set.
- /// </summary>
- /// <remarks>
- /// The caller of this method blocks indefinitely until the current instance is set. The caller will
- /// return immediately if the event is currently in a set state.
- /// </remarks>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public void Wait()
- {
- Wait(Timeout.Infinite, new CancellationToken());
- }
-
-
- /// <summary>
- /// Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, while
- /// observing a <see cref="T:System.Threading.CancellationToken"/>.
- /// </summary>
- /// <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
- /// observe.</param>
- /// <remarks>
- /// The caller of this method blocks indefinitely until the current instance is set. The caller will
- /// return immediately if the event is currently in a set state. If the
- /// <see cref="T:System.Threading.CancellationToken">CancellationToken</see> being observed
- /// is canceled during the wait operation, an <see cref="T:System.OperationCanceledException"/>
- /// will be thrown.
- /// </remarks>
- /// <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has been
- /// canceled.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public void Wait(CancellationToken cancellationToken)
- {
- Wait(Timeout.Infinite, cancellationToken);
- }
-
- /// <summary>
- /// Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, using a
- /// <see cref="T:System.TimeSpan"/> to measure the time interval.
- /// </summary>
- /// <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of
- /// milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to
- /// wait indefinitely.</param>
- /// <returns>true if the <see cref="System.Threading.CountdownEvent"/> was set; otherwise,
- /// false.</returns>
- /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
- /// number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
- /// than <see cref="System.Int32.MaxValue"/>.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public bool Wait(TimeSpan timeout)
- {
- long totalMilliseconds = (long)timeout.TotalMilliseconds;
- if (totalMilliseconds < -1 || totalMilliseconds > int.MaxValue)
- {
- throw new ArgumentOutOfRangeException(nameof(timeout));
- }
-
- return Wait((int)totalMilliseconds, new CancellationToken());
- }
-
- /// <summary>
- /// Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, using
- /// a <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a
- /// <see cref="T:System.Threading.CancellationToken"/>.
- /// </summary>
- /// <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of
- /// milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to
- /// wait indefinitely.</param>
- /// <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
- /// observe.</param>
- /// <returns>true if the <see cref="System.Threading.CountdownEvent"/> was set; otherwise,
- /// false.</returns>
- /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
- /// number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
- /// than <see cref="System.Int32.MaxValue"/>.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- /// <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has
- /// been canceled.</exception>
- public bool Wait(TimeSpan timeout, CancellationToken cancellationToken)
- {
- long totalMilliseconds = (long)timeout.TotalMilliseconds;
- if (totalMilliseconds < -1 || totalMilliseconds > int.MaxValue)
- {
- throw new ArgumentOutOfRangeException(nameof(timeout));
- }
-
- return Wait((int)totalMilliseconds, cancellationToken);
- }
-
- /// <summary>
- /// Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, using a
- /// 32-bit signed integer to measure the time interval.
- /// </summary>
- /// <param name="millisecondsTimeout">The number of milliseconds to wait, or <see
- /// cref="Timeout.Infinite"/>(-1) to wait indefinitely.</param>
- /// <returns>true if the <see cref="System.Threading.CountdownEvent"/> was set; otherwise,
- /// false.</returns>
- /// <exception cref="ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
- /// negative number other than -1, which represents an infinite time-out.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- public bool Wait(int millisecondsTimeout)
- {
- return Wait(millisecondsTimeout, new CancellationToken());
- }
-
- /// <summary>
- /// Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, using a
- /// 32-bit signed integer to measure the time interval, while observing a
- /// <see cref="T:System.Threading.CancellationToken"/>.
- /// </summary>
- /// <param name="millisecondsTimeout">The number of milliseconds to wait, or <see
- /// cref="Timeout.Infinite"/>(-1) to wait indefinitely.</param>
- /// <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
- /// observe.</param>
- /// <returns>true if the <see cref="System.Threading.CountdownEvent"/> was set; otherwise,
- /// false.</returns>
- /// <exception cref="ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
- /// negative number other than -1, which represents an infinite time-out.</exception>
- /// <exception cref="T:System.ObjectDisposedException">The current instance has already been
- /// disposed.</exception>
- /// <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has
- /// been canceled.</exception>
- public bool Wait(int millisecondsTimeout, CancellationToken cancellationToken)
- {
- if (millisecondsTimeout < -1)
- {
- throw new ArgumentOutOfRangeException(nameof(millisecondsTimeout));
- }
-
- ThrowIfDisposed();
- cancellationToken.ThrowIfCancellationRequested();
-
- bool returnValue = IsSet;
-
- // If not completed yet, wait on the event.
- if (!returnValue)
- {
- // ** the actual wait
- returnValue = m_event.Wait(millisecondsTimeout, cancellationToken);
- //the Wait will throw OCE itself if the token is canceled.
- }
-
- return returnValue;
- }
-
- // --------------------------------------
- // Private methods
-
-
- /// <summary>
- /// Throws an exception if the latch has been disposed.
- /// </summary>
- private void ThrowIfDisposed()
- {
- if (m_disposed)
- {
- throw new ObjectDisposedException("CountdownEvent");
- }
- }
- }
-}
}
}
- public sealed class Thread : RuntimeThread
+ internal sealed class Thread : RuntimeThread
{
/*=========================================================================
** Data accessed from managed code that needs to be defined in
namespace System.Threading
{
[Serializable]
- public sealed class ThreadAbortException : SystemException
+ internal sealed class ThreadAbortException : SystemException
{
private ThreadAbortException()
: base(GetMessageFromNativeResources(ExceptionMessageKind.ThreadAbort))
<?xml version="1.0" ?>
<Project DefaultTargets = "GetListOfTestCmds" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition="'$(XunitTestBinBase)' != ''">
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Performance\CodeQuality\Roslyn\CscBench\*">
+ <Issue>10197</Issue>
+ </ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)\GC\Scenarios\DoublinkList\doublinkgen\*">
<Issue>6574</Issue>
</ExcludeList>
{
.maxstack 4
.entrypoint
- .locals (class [mscorlib]System.Threading.Thread[] thrd,
+ .locals (class [System.Threading.Thread]System.Threading.Thread[] thrd,
class Thread_EA ThdObj,
int32 V_2)
IL_0000: ldc.i4 0xa
- IL_0005: newarr [mscorlib]System.Threading.Thread
+ IL_0005: newarr [System.Threading.Thread]System.Threading.Thread
IL_000a: stloc.0
IL_000b: newobj instance void Thread_EA::.ctor()
IL_0010: stloc.1
IL_0044: ldloc.2
IL_0045: ldloc.1
IL_0046: ldftn instance void Thread_EA::Run()
- IL_004c: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(class [mscorlib]System.Object,native int)
- IL_0051: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_004c: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(class [mscorlib]System.Object,native int)
+ IL_0051: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0056: stelem.ref
IL_0057: ldloc.0
IL_0058: ldloc.2
IL_0059: ldelem.ref
- IL_005a: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_005a: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_005f: br IL_0030
IL_0064: ldc.i4 0x0
IL_0082: ldloc.0
IL_0083: ldloc.2
IL_0084: ldelem.ref
- IL_0085: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0085: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_008a: br IL_006f
IL_008f: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
IL_001d: callvirt instance bool [mscorlib]System.Threading.WaitHandle::WaitOne()
IL_0022: pop
IL_0023: ldc.i4 0x3e8
- IL_0028: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0028: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_002d: nop
IL_002e: call void [mscorlib]System.GC::Collect()
IL_0033: nop
{
.entrypoint
.maxstack 3
- .locals init (class [mscorlib]System.Threading.Thread V_0,
+ .locals init (class [System.Threading.Thread]System.Threading.Thread V_0,
int32 V_1)
IL_0000: nop
IL_0001: ldnull
IL_0002: ldftn void Repro::GCHole()
- IL_0008: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0008: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_000d: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_000d: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0012: stloc.0
IL_0013: ldloc.0
- IL_0014: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0014: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0019: nop
IL_001a: call void Repro::Trigger()
IL_001f: nop
IL_0020: ldloc.0
- IL_0021: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0021: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_0026: nop
IL_0027: ldc.i4.s 100
IL_0029: stloc.1
IL_0014: ldc.i4.s 100
IL_0016: bne.un.s IL_0051
- IL_0018: call string [mscorlib]System.Environment::get_StackTrace()
+ IL_0018: call string [system.runtime.extensions]System.Environment::get_StackTrace()
IL_001d: stloc.0
IL_001e: ldloc.0
IL_001f: ldstr "Main"
IL_003c: ldstr "Test Failed"
IL_0041: call void [System.Console]System.Console::WriteLine(string)
IL_0046: ldc.i4.0
- IL_0047: call void [mscorlib]System.Environment::Exit(int32)
+ IL_0047: call void [system.runtime.extensions]System.Environment::Exit(int32)
IL_004c: call void [mscorlib]System.GC::Collect()
IL_0051: ldarg.0
IL_0052: dup
IL_0019: bne.un.s IL_0054
IL_001b: call void [mscorlib]System.GC::Collect()
- IL_0020: call string [mscorlib]System.Environment::get_StackTrace()
+ IL_0020: call string [system.runtime.extensions]System.Environment::get_StackTrace()
IL_0025: stloc.0
IL_0026: ldloc.0
IL_0027: ldstr "Main"
IL_0044: ldstr "Test Failed"
IL_0049: call void [System.Console]System.Console::WriteLine(string)
IL_004e: ldc.i4.0
- IL_004f: call void [mscorlib]System.Environment::Exit(int32)
+ IL_004f: call void [system.runtime.extensions]System.Environment::Exit(int32)
IL_0054: ldarg.0
IL_0055: dup
IL_0056: ldfld int32 Class1::'value'
{
.entrypoint
.maxstack 4
- .locals (class [mscorlib]System.Threading.Thread[] thrd,
+ .locals (class [System.Threading.Thread]System.Threading.Thread[] thrd,
class Thread_EA ThdObj,
int32 V_2)
call void [System.Console]System.Console::SetOut(class [mscorlib]System.IO.TextWriter)
IL_0000: ldc.i4 0xa
- IL_0005: newarr [mscorlib]System.Threading.Thread
+ IL_0005: newarr [System.Threading.Thread]System.Threading.Thread
IL_000a: stloc.0
IL_000b: newobj instance void Thread_EA::.ctor()
IL_0010: stloc.1
IL_0044: ldloc.2
IL_0045: ldloc.1
IL_0046: ldftn instance void Thread_EA::Run()
- IL_004c: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(class [mscorlib]System.Object,native int)
- IL_0051: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_004c: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(class [mscorlib]System.Object,native int)
+ IL_0051: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0056: stelem.ref
IL_0057: ldloc.0
IL_0058: ldloc.2
IL_0059: ldelem.ref
- IL_005a: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_005a: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_005f: br IL_0030
IL_0064: ldc.i4 0x0
IL_0082: ldloc.0
IL_0083: ldloc.2
IL_0084: ldelem.ref
- IL_0085: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0085: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_008a: br IL_006f
IL_008f: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
.maxstack 8
IL_0002: call void [mscorlib]System.GC::Collect()
ldc.i4 100
- call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
volatile.
ldsfld bool Test.App::signal
brfalse.s IL_0002
.entrypoint
.maxstack 3
.locals ([0] class Test.App app,
- [1] class [mscorlib]System.Threading.ThreadStart ts,
- [2] class [mscorlib]System.Threading.Thread th,
+ [1] class [System.Threading.Thread]System.Threading.ThreadStart ts,
+ [2] class [System.Threading.Thread]System.Threading.Thread th,
[3] class System.Object obj,
[4] class System.Object I,
[5] float64 V_5,
IL_0005: stloc.0
IL_0006: ldloc.0
IL_0007: ldftn instance void Test.App::Func()
- IL_000d: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(class System.Object,native int)
+ IL_000d: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(class System.Object,native int)
IL_0012: stloc.1
IL_0013: ldloc.1
- IL_0014: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0014: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0019: stloc.2
ldc.i4.0
volatile.
stsfld bool Test.App::signal
IL_001a: ldloc.2
- IL_001b: call instance void [mscorlib]System.Threading.Thread::Start()
+ IL_001b: call instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0020: ldc.r8 11.
IL_0029: stloc.s V_5
IL_002b: ldloc.s V_5
call string [mscorlib]System.String::Concat(string, string)
call void [System.Console]System.Console::WriteLine(string)
ldc.i4.s 101
- call void [mscorlib]System.Environment::Exit(int32)
+ call void [system.runtime.extensions]System.Environment::Exit(int32)
IL_EXIT:
ret
}
IL_0012: br.s IL_0033
IL_0014: ldc.i4.s 100
- IL_0016: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0016: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_001b: ldstr "Test passed"
IL_0020: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0025: br.s IL_003f
.maxstack 8
IL_0000: ldc.i4.1
IL_0001: call void Test::DoSwitch(int32)
- IL_0006: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0006: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_0018: bne.un.s IL_002d
IL_001a: ldc.i4.s 100
- IL_001c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_001c: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0021: ldstr "Test passed"
IL_0026: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_002b: br.s IL_003d
IL_002d: ldc.i4.1
- IL_002e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_002e: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0033: ldstr "Test failed"
IL_0038: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_003d: ret
.maxstack 8
IL_0000: ldc.i4.1
IL_0001: call void Test::DoSwitch(int32)
- IL_0006: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0006: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_0002: br.s IL_0004
IL_0004: ldc.i4.s 100
- IL_0006: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0006: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_000b: ldstr "Test passed"
IL_0010: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0015: pop
- call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_001e: bne.un.s IL_0031
IL_0020: ldc.i4.s 100
- IL_0022: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0022: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0027: ldstr "Test passed"
IL_002c: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0031: br.s IL_005f
IL_0039: bne.un.s IL_004b
IL_003b: ldc.i4.1
- IL_003c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_003c: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0041: ldstr "Test failed"
IL_0046: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_004b: br.s IL_005f
IL_004d: ldc.i4.1
- IL_004e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_004e: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0053: ldstr "Test failed"
IL_0058: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_005d: br.s IL_005f
.maxstack 8
IL_0000: ldc.i4.1
IL_0001: call void Test::DoSwitch(int32)
- IL_0006: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0006: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_0014: br.s IL_0016
IL_0016: ldc.i4.s 100
- IL_0018: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0018: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_001d: ldstr "Test passed"
IL_0022: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0027: br.s IL_003b
IL_0029: ldc.i4.1
- IL_002a: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_002a: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_002f: ldstr "Test failed"
IL_0034: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0039: br.s IL_003b
.maxstack 8
IL_0000: ldc.i4.1
IL_0001: call void Test::DoSwitch(int32)
- IL_0006: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0006: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_002e: bne.un.s IL_0043
IL_0030: ldc.i4.s 100
- IL_0032: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0032: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0037: ldstr "Test passed"
IL_003c: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0041: br.s IL_0053
IL_0043: ldc.i4.1
- IL_0044: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0044: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0049: ldstr "Test failed"
IL_004e: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0053: ret
.maxstack 8
IL_0000: ldc.i4.1
IL_0001: call void Test::DoSwitch(int32)
- IL_0006: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0006: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_003c: brtrue.s IL_0051
IL_003e: ldc.i4.s 100
- IL_0040: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0040: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0045: ldstr "Test passed"
IL_004a: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_004f: br.s IL_0061
IL_0051: ldc.i4.1
- IL_0052: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0052: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0057: ldstr "Test failed"
IL_005c: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0061: br.s IL_0063
IL_001b: ldloc.0
IL_001c: ldc.i4.3
IL_001d: call instance void TestStack::DoSwitch(int32)
- IL_0022: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0022: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_002f: bne.un.s IL_0044
IL_0031: ldc.i4.s 100
- IL_0033: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0033: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0038: ldstr "Test passed"
IL_003d: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0042: br.s IL_0054
IL_0044: ldc.i4.1
- IL_0045: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0045: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_004a: ldstr "Test failed"
IL_004f: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0054: ret
.maxstack 8
IL_0000: ldc.i4.1
IL_0001: call void Test::DoSwitch(int32)
- IL_0006: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0006: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_0018: bne.un.s IL_002d
IL_001a: ldc.i4.s 100
- IL_001c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_001c: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0021: ldstr "Test passed"
IL_0026: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_002b: br.s IL_003d
IL_002d: ldc.i4.1
- IL_002e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_002e: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0033: ldstr "Test failed"
IL_0038: call void ['mscorlib']System.Console::WriteLine(class System.String)
- IL_003d: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_003d: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_0018: br.s IL_002d
IL_001a: ldc.i4.s 100
- IL_001c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_001c: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0021: ldstr "Test passed"
IL_0026: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_002b: br.s IL_003d
IL_002d: ldc.i4.1
- IL_002e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_002e: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0033: ldstr "Test failed"
IL_0038: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_003d: ret
.maxstack 8
IL_0000: ldc.i4.2
IL_0001: call void Test::DoSwitch(int32)
- IL_0006: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0006: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_0026: br.s IL_004d
IL_0028: ldc.i4.s 100
- IL_002a: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_002a: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_002f: ldstr "Test passed"
IL_0034: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0039: br.s IL_005f
IL_003b: ldc.i4.1
- IL_003c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_003c: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0041: ldstr "Test failed"
IL_0046: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_004b: br.s IL_005f
IL_004d: ldc.i4.1
- IL_004e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_004e: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0053: ldstr "Test failed"
IL_0058: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_005d: br.s IL_005f
IL_005f: br.s IL_0085
IL_0061: ldc.i4.1
- IL_0062: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0062: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0067: ldstr "Test failed"
IL_006c: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0071: br.s IL_0085
IL_0073: ldc.i4.1
- IL_0074: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0074: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_0079: ldstr "Test failed"
IL_007e: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0083: br.s IL_0085
IL_0001: ldc.i4.1
IL_0002: call void Test::DoSwitch(int32,
int32)
- IL_0007: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0007: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
class System.String)
IL_0039: call void [System.Console]System.Console::WriteLine(class System.String)
IL_003e: ldc.i4 0x65
- IL_0043: call void [mscorlib]System.Environment::Exit(int32)
+ IL_0043: call void [system.runtime.extensions]System.Environment::Exit(int32)
IL_0048: ret
IL_0049: ldsfld int32 JitTest.Test::m
.maxstack 4
.locals (int32 V_0)
ldc.i4.1
- call void [mscorlib]System.Environment::set_ExitCode(int32)
+ call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
ldsfld int32 JitTest.Test::n
ldc.i4.1
bne.un.s IL_0047
.maxstack 4
.locals (int32 V_0)
ldc.i4.1
- call void [mscorlib]System.Environment::set_ExitCode(int32)
+ call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
ldsfld int32 JitTest.Test::n
ldc.i4.1
bne.un.s IL_0047
.maxstack 4
.locals (int32 V_0)
ldc.i4.1
- call void [mscorlib]System.Environment::set_ExitCode(int32)
+ call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
ldsfld int32 JitTest.Test::n
ldc.i4.1
bne.un.s IL_0047
IL_0016: ldc.i4.s 100
IL_0018: bne.un.s IL_0053
- IL_001a: call string [mscorlib]System.Environment::get_StackTrace()
+ IL_001a: call string [system.runtime.extensions]System.Environment::get_StackTrace()
IL_001f: stloc.0
IL_0020: ldloc.0
IL_0021: ldstr "Main"
IL_003e: ldstr "Test Failed"
IL_0043: call void [System.Console]System.Console::WriteLine(string)
IL_0048: ldc.i4.0
- IL_0049: call void [mscorlib]System.Environment::Exit(int32)
+ IL_0049: call void [system.runtime.extensions]System.Environment::Exit(int32)
IL_004e: call void [mscorlib]System.GC::Collect()
IL_0053: ldarg.0
IL_0054: dup
IL_001b: bne.un.s IL_0056
IL_001d: call void [mscorlib]System.GC::Collect()
- IL_0022: call string [mscorlib]System.Environment::get_StackTrace()
+ IL_0022: call string [system.runtime.extensions]System.Environment::get_StackTrace()
IL_0027: stloc.0
IL_0028: ldloc.0
IL_0029: ldstr "Main"
IL_0046: ldstr "Test Failed"
IL_004b: call void [System.Console]System.Console::WriteLine(string)
IL_0050: ldc.i4.0
- IL_0051: call void [mscorlib]System.Environment::Exit(int32)
+ IL_0051: call void [system.runtime.extensions]System.Environment::Exit(int32)
IL_0056: ldarg.0
IL_0057: dup
IL_0058: ldfld int32 Class1::'value'
.maxstack 4
.locals (int32 V_0)
ldc.i4.1
- call void [mscorlib]System.Environment::set_ExitCode(int32)
+ call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
ldsfld int32 JitTest.Test::n
ldc.i4.1
bne.un.s IL_0047
.maxstack 4
.locals (int32 V_0)
ldc.i4.1
- call void [mscorlib]System.Environment::set_ExitCode(int32)
+ call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
ldsfld int32 JitTest.Test::n
ldc.i4.1
bne.un.s IL_0047
.maxstack 4
.locals (int32 V_0)
ldc.i4.1
- call void [mscorlib]System.Environment::set_ExitCode(int32)
+ call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
ldsfld int32 JitTest.Test::n
ldc.i4.1
bne.un.s IL_0047
.maxstack 4
.locals (int32 V_0)
ldc.i4.1
- call void [mscorlib]System.Environment::set_ExitCode(int32)
+ call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
ldsfld int32 JitTest.Test::n
ldc.i4.1
bne.un.s IL_0047
.maxstack 4
.locals (int32 V_0)
ldc.i4.1
- call void [mscorlib]System.Environment::set_ExitCode(int32)
+ call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
ldsfld int32 JitTest.TestClass::n
ldc.i4.1
bne.un.s IL_0047
ldstr "PASSED: 10! == 3628800"
call void [System.Console]System.Console::WriteLine(class System.String)
ldc.i4.s 100
- call void [mscorlib]System.Environment::Exit(int32)
+ call void [system.runtime.extensions]System.Environment::Exit(int32)
ret
IL_0029:
call class System.String [mscorlib]System.String::Concat(class System.String, class System.String)
call void [System.Console]System.Console::WriteLine(class System.String)
ldc.i4.s 101
- call void [mscorlib]System.Environment::Exit(int32)
+ call void [system.runtime.extensions]System.Environment::Exit(int32)
ret
IL_0047:
class System.String)
IL_003d: call void ['mscorlib']System.Console::WriteLine(class System.String)
IL_0042: ldsfld int32 b1904::Count
- IL_0047: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0047: call void ['system.runtime.extensions']System.Environment::set_ExitCode(int32)
IL_004c: leave.s IL_0083
}
- IL_0083: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_0083: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
int32 V_7)
IL_0000: ldc.i4.1
IL_0001: stloc.0
- IL_0002: ldftn string[] [mscorlib]System.Environment::GetCommandLineArgs()
+ IL_0002: ldftn string[] [system.runtime.extensions]System.Environment::GetCommandLineArgs()
IL_0003: calli string[]()
IL_0007: stloc.1
IL_0008: ldloc.1
{
.entrypoint
.maxstack 3
- .locals init (class [mscorlib]System.Threading.Thread V_0,
+ .locals init (class [System.Threading.Thread]System.Threading.Thread V_0,
class ExternalException V_1,
int32 V_2)
IL_0000: newobj instance void ExternalException::.ctor()
IL_000a: ldloc.1
IL_000b: ldftn instance void ExternalException::runtest()
- IL_0011: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0011: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0016: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0016: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_001b: stloc.0
.try
{
IL_001c: ldloc.0
- IL_001d: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_001d: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0022: leave.s IL_0031
}
IL_0047: ldstr "TryCatch Test Passed"
IL_004c: call void [System.Console]System.Console::WriteLine(string)
IL_0051: ldc.i4 100
- IL_0052: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_0052: call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
IL_0057: leave.s IL_0060
}
IL_0074: ldloc.0
IL_0075: call void [System.Console]System.Console::WriteLine(int32)
IL_007a: ldc.i4.1
- IL_007b: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_007b: call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
IL_0080: leave.s IL_0089
}
{
.entrypoint
.maxstack 3
- .locals init (class [mscorlib]System.Threading.Thread V_0,
+ .locals init (class [System.Threading.Thread]System.Threading.Thread V_0,
class ExternalException V_1,
int32 V_2)
IL_0000: newobj instance void ExternalException::.ctor()
IL_000a: ldloc.1
IL_000b: ldftn instance void ExternalException::runtest()
- IL_0011: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0011: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0016: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0016: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_001b: stloc.0
.try
{
IL_001c: ldloc.0
- IL_001d: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_001d: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0022: leave.s IL_0031
}
IL_0036: ldc.i4.s 10
IL_0038: blt.s IL_000a
- IL_003a: call int32 ['mscorlib']System.Environment::get_ExitCode()
- call void ['mscorlib']System.Environment::Exit(int32)
+ IL_003a: call int32 ['system.runtime.extensions']System.Environment::get_ExitCode()
+ call void ['system.runtime.extensions']System.Environment::Exit(int32)
ret
}
IL_0047: ldstr "TryCatch Test Passed"
IL_004c: call void [System.Console]System.Console::WriteLine(string)
IL_0051: ldc.i4 100
- IL_0052: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_0052: call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
IL_0057: leave.s IL_0060
}
IL_0074: ldloc.0
IL_0075: call void [System.Console]System.Console::WriteLine(int32)
IL_007a: ldc.i4.1
- IL_007b: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_007b: call void [system.runtime.extensions]System.Environment::set_ExitCode(int32)
IL_0080: leave.s IL_0089
}
.entrypoint
.maxstack 5
.locals init (class cs1 V_0,
- class [mscorlib]System.Threading.Thread V_1,
+ class [System.Threading.Thread]System.Threading.Thread V_1,
class [mscorlib]System.Threading.Timer V_2,
- class [mscorlib]System.Threading.Thread V_flip
+ class [System.Threading.Thread]System.Threading.Thread V_flip
)
IL_0000: nop
IL_0001: newobj instance void cs1::.ctor()
IL_0006: stloc.0
IL_0007: ldloc.0
IL_0008: ldftn instance void cs1::CheckVal()
- IL_000e: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_000e: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0013: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0013: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0018: stloc.1
IL_0019: ldloc.1
- IL_001a: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_001a: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_001f: nop
IL_0020: ldc.i4.0
- IL_0021: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0021: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_0026: nop
IL_0027: ldloc.0
ldftn instance void cs1::Flip()
- newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
stloc V_flip
ldloc V_flip
- callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
nop
int32)
IL_0046: stloc.2
IL_0047: ldloc.1
- IL_0048: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0048: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_004d: nop
ldloc V_flip
- callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
nop
IL_004e: ldstr "Test SUCCESS"
.try
{
-call int32 [mscorlib]System.Environment::get_TickCount()
+call int32 [system.runtime.extensions]System.Environment::get_TickCount()
conv.i8
ldc.i8 0x80000000
or
IL_001d: stloc.s V_4
IL_001f: ldsfld class a $::c$PST0400000E
IL_0024: stloc.s V_5
- IL_0026: call int32 [mscorlib]System.Environment::get_TickCount()
+ IL_0026: call int32 [system.runtime.extensions]System.Environment::get_TickCount()
IL_002b: stloc.s V_6
IL_002d: ldloc.s V_6
IL_002f: conv.i8
IL_007a: ldloc.s V_37
IL_007c: call void $::b(class a,
class g)
- IL_0081: call int32 [mscorlib]System.Environment::get_TickCount()
+ IL_0081: call int32 [system.runtime.extensions]System.Environment::get_TickCount()
IL_0086: stloc.s V_38
IL_0088: ldloc.s V_38
IL_008a: conv.i8
IL_0015: ldsfld string [mscorlib]System.String::Empty
IL_001a: br.s IL_0039
- IL_001c: call string [mscorlib]System.Environment::get_NewLine()
+ IL_001c: call string [system.runtime.extensions]System.Environment::get_NewLine()
IL_0021: ldarg.0
IL_0022: call instance class [mscorlib]System.Exception [mscorlib]System.Exception::get_InnerException()
IL_0027: castclass MCCTest.ResultVerificationException
.maxstack 3
.locals init ([0] class TailcallVerify.Condition16 con,
[1] class [mscorlib]System.Exception e,
- [2] class [mscorlib]System.Threading.Thread t)
+ [2] class [System.Threading.Thread]System.Threading.Thread t)
IL_0000: ldstr "Executing Condition16.Test1 - Caller: Arguments: N"
+ "one - ReturnType: void; Callee: Arguments: None - ReturnType: void"
IL_0005: call void [System.Console]System.Console::WriteLine(string)
native int)
IL_008a: stsfld class [mscorlib]System.Threading.ParameterizedThreadStart TailcallVerify.Condition16::'CS$<>9__CachedAnonymousMethodDelegate1'
IL_008f: ldsfld class [mscorlib]System.Threading.ParameterizedThreadStart TailcallVerify.Condition16::'CS$<>9__CachedAnonymousMethodDelegate1'
- IL_0094: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ParameterizedThreadStart)
+ IL_0094: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ParameterizedThreadStart)
IL_0099: stloc.2
IL_009a: ldloc.2
IL_009b: ldloc.0
- IL_009c: callvirt instance void [mscorlib]System.Threading.Thread::Start(object)
+ IL_009c: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start(object)
IL_00a1: ldloc.2
- IL_00a2: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_00a2: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_00a7: leave.s IL_00a9
} // end handler
{
// Code size 59 (0x3b)
.maxstack 3
- .locals init ([0] class [mscorlib]System.Threading.Thread t)
+ .locals init ([0] class [System.Threading.Thread]System.Threading.Thread t)
IL_0000: ldsfld class [mscorlib]System.Threading.ParameterizedThreadStart TailcallVerify.Condition16::'CS$<>9__CachedAnonymousMethodDelegate3'
IL_0005: brtrue.s IL_0018
native int)
IL_0013: stsfld class [mscorlib]System.Threading.ParameterizedThreadStart TailcallVerify.Condition16::'CS$<>9__CachedAnonymousMethodDelegate3'
IL_0018: ldsfld class [mscorlib]System.Threading.ParameterizedThreadStart TailcallVerify.Condition16::'CS$<>9__CachedAnonymousMethodDelegate3'
- IL_001d: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ParameterizedThreadStart)
+ IL_001d: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ParameterizedThreadStart)
IL_0022: stloc.0
IL_0023: ldloc.0
IL_0024: ldarg.0
- IL_0025: callvirt instance void [mscorlib]System.Threading.Thread::Start(object)
+ IL_0025: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start(object)
IL_002a: ldloc.0
- IL_002b: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_002b: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_0030: ldc.i4.1
IL_0031: volatile.
IL_0033: ldsfld int32 modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) TailcallVerify.Condition16::zero
{
// Code size 394 (0x18a)
.maxstack 3
- .locals init ([0] class [mscorlib]System.Threading.Thread t1,
+ .locals init ([0] class [System.Threading.Thread]System.Threading.Thread t1,
[1] class [mscorlib]System.Exception e,
[2] int64 l,
[3] int64 V_3,
{
IL_0025: ldnull
IL_0026: ldftn void TailcallVerify.Condition21::Caller3()
- IL_002c: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_002c: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0031: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0031: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0036: stloc.0
IL_0037: ldloc.0
- IL_0038: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0038: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_003d: ldloc.0
- IL_003e: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_003e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_0043: leave.s IL_009c
} // end .try
.maxstack 3
.locals init ([0] class TailcallVerify.Condition21 con1,
[1] class TailcallVerify.Condition21 con2,
- [2] class [mscorlib]System.Threading.Thread t1,
- [3] class [mscorlib]System.Threading.Thread t2,
+ [2] class [System.Threading.Thread]System.Threading.Thread t1,
+ [3] class [System.Threading.Thread]System.Threading.Thread t2,
[4] class [mscorlib]System.Exception ex,
[5] int32 i,
[6] int32 V_6)
IL_001c: stloc.1
IL_001d: ldloc.0
IL_001e: ldftn instance void TailcallVerify.Condition21::Caller5()
- IL_0024: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0024: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0029: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0029: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_002e: stloc.2
IL_002f: ldloc.1
IL_0030: ldftn instance void TailcallVerify.Condition21::Caller5()
- IL_0036: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0036: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_003b: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_003b: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0040: stloc.3
.try
{
IL_0041: ldloc.2
- IL_0042: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0042: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0047: ldloc.3
- IL_0048: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0048: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_004d: ldloc.2
- IL_004e: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_004e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_0053: ldloc.3
- IL_0054: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0054: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_0059: leave.s IL_007c
} // end .try
.maxstack 8
IL_0000: nop
IL_0001: ldc.i4 0x7d0
- IL_0006: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0006: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_000b: nop
IL_000c: ldstr "In A.cctor: thread {0}: B.i {1}"
- IL_0011: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_0016: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0011: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_0016: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_001b: ldsfld int32 B::i
IL_0020: box [mscorlib]System.Int32
IL_0025: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In B.cctor: thread {0}: C.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 C::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldc.i4 0x7d0
- IL_0006: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0006: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_000b: nop
IL_000c: ldstr "In C.cctor: thread {0}: D.i {1}"
- IL_0011: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_0016: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0011: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_0016: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_001b: ldsfld int32 D::i
IL_0020: box [mscorlib]System.Int32
IL_0025: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldc.i4 0x1388
- IL_0006: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0006: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_000b: nop
IL_000c: ldstr "In D.cctor: thread {0}: E.i {1}"
- IL_0011: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_0016: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0011: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_0016: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_001b: ldsfld int32 E::i
IL_0020: box [mscorlib]System.Int32
IL_0025: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In E.cctor: thread {0}: A.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 A::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.entrypoint
// Code size 302 (0x12e)
.maxstack 3
- .locals init (class [mscorlib]System.Threading.Thread V_0,
- class [mscorlib]System.Threading.Thread V_1,
- class [mscorlib]System.Threading.Thread V_2,
- class [mscorlib]System.Threading.Thread V_3,
+ .locals init (class [System.Threading.Thread]System.Threading.Thread V_0,
+ class [System.Threading.Thread]System.Threading.Thread V_1,
+ class [System.Threading.Thread]System.Threading.Thread V_2,
+ class [System.Threading.Thread]System.Threading.Thread V_3,
int32 V_4,
bool V_5)
IL_0000: nop
IL_0001: ldnull
IL_0002: ldftn void Test::RunGetA()
- IL_0008: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0008: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_000d: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_000d: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0012: stloc.0
IL_0013: ldloc.0
IL_0014: ldstr "T1"
- IL_0019: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0019: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_001e: nop
IL_001f: ldnull
IL_0020: ldftn void Test::RunGetC()
- IL_0026: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0026: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_002b: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_002b: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0030: stloc.1
IL_0031: ldloc.1
IL_0032: ldstr "T2"
- IL_0037: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0037: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_003c: nop
IL_003d: ldnull
IL_003e: ldftn void Test::RunGetD()
- IL_0044: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0044: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0049: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0049: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_004e: stloc.2
IL_004f: ldloc.2
IL_0050: ldstr "T3"
- IL_0055: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0055: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_005a: nop
IL_005b: ldnull
IL_005c: ldftn void Test::RunGetE()
- IL_0062: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0062: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0067: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0067: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_006c: stloc.3
IL_006d: ldloc.3
IL_006e: ldstr "T4"
- IL_0073: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0073: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_0078: nop
IL_0079: ldloc.0
- IL_007a: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_007a: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_007f: nop
IL_0080: ldc.i4 0x3e8
- IL_0085: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0085: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_008a: nop
IL_008b: ldloc.1
- IL_008c: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_008c: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0091: nop
IL_0092: ldc.i4 0x3e8
- IL_0097: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0097: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_009c: nop
IL_009d: ldloc.2
- IL_009e: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_009e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_00a3: nop
IL_00a4: ldc.i4 0x3e8
- IL_00a9: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_00a9: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_00ae: nop
IL_00af: ldloc.3
- IL_00b0: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_00b0: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_00b5: nop
IL_00b6: ldloc.3
- IL_00b7: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_00b7: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_00bc: nop
IL_00bd: ldloc.2
- IL_00be: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_00be: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_00c3: nop
IL_00c4: ldloc.1
- IL_00c5: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_00c5: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_00ca: nop
IL_00cb: ldloc.0
- IL_00cc: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_00cc: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_00d1: nop
IL_00d2: ldsfld int32 A::i
IL_00d7: ldc.i4.5
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In A.cctor: thread {0}: B.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 B::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In B.cctor: thread {0}: C.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 C::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In C.cctor: thread {0}: D.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 D::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In D.cctor: thread {0}: E.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 E::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In E.cctor: thread {0}: A.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 A::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.entrypoint
// Code size 244 (0xf4)
.maxstack 3
- .locals init (class [mscorlib]System.Threading.Thread V_0,
- class [mscorlib]System.Threading.Thread V_1,
- class [mscorlib]System.Threading.Thread V_2,
+ .locals init (class [System.Threading.Thread]System.Threading.Thread V_0,
+ class [System.Threading.Thread]System.Threading.Thread V_1,
+ class [System.Threading.Thread]System.Threading.Thread V_2,
int32 V_3,
bool V_4)
IL_0000: nop
IL_0001: ldnull
IL_0002: ldftn void Test::RunGetA()
- IL_0008: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0008: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_000d: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_000d: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0012: stloc.0
IL_0013: ldloc.0
IL_0014: ldstr "T1"
- IL_0019: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0019: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_001e: nop
IL_001f: ldnull
IL_0020: ldftn void Test::RunGetC()
- IL_0026: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0026: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_002b: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_002b: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0030: stloc.1
IL_0031: ldloc.1
IL_0032: ldstr "T2"
- IL_0037: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0037: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_003c: nop
IL_003d: ldnull
IL_003e: ldftn void Test::RunGetE()
- IL_0044: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0044: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0049: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0049: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_004e: stloc.2
IL_004f: ldloc.2
IL_0050: ldstr "T3"
- IL_0055: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0055: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_005a: nop
IL_005b: ldloc.0
- IL_005c: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_005c: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0061: nop
IL_0062: ldc.i4 0x3e8
- IL_0067: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0067: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_006c: nop
IL_006d: ldloc.1
- IL_006e: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_006e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0073: nop
IL_0074: ldc.i4 0x3e8
- IL_0079: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0079: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_007e: nop
IL_007f: ldloc.2
- IL_0080: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0080: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0085: nop
IL_0086: ldloc.2
- IL_0087: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0087: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_008c: nop
IL_008d: ldloc.1
- IL_008e: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_008e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_0093: nop
IL_0094: ldloc.0
- IL_0095: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0095: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_009a: nop
IL_009b: ldsfld int32 A::i
IL_00a0: ldc.i4.5
.maxstack 8
IL_0000: nop
IL_0001: ldc.i4 0x7d0
- IL_0006: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0006: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_000b: nop
IL_000c: ldstr "In A.cctor: thread {0}: B.i {1}"
- IL_0011: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_0016: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0011: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_0016: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_001b: ldsfld int32 B::i
IL_0020: box [mscorlib]System.Int32
IL_0025: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In B.cctor: thread {0}: C.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 C::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In C.cctor: thread {0}: D.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 D::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In D.cctor: thread {0}: E.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 E::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In E.cctor: thread {0}: A.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 A::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.entrypoint
// Code size 244 (0xf4)
.maxstack 3
- .locals init (class [mscorlib]System.Threading.Thread V_0,
- class [mscorlib]System.Threading.Thread V_1,
- class [mscorlib]System.Threading.Thread V_2,
+ .locals init (class [System.Threading.Thread]System.Threading.Thread V_0,
+ class [System.Threading.Thread]System.Threading.Thread V_1,
+ class [System.Threading.Thread]System.Threading.Thread V_2,
int32 V_3,
bool V_4)
IL_0000: nop
IL_0001: ldnull
IL_0002: ldftn void Test::RunGetA()
- IL_0008: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0008: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_000d: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_000d: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0012: stloc.0
IL_0013: ldloc.0
IL_0014: ldstr "T1"
- IL_0019: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0019: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_001e: nop
IL_001f: ldnull
IL_0020: ldftn void Test::RunGetC()
- IL_0026: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0026: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_002b: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_002b: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0030: stloc.1
IL_0031: ldloc.1
IL_0032: ldstr "T2"
- IL_0037: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0037: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_003c: nop
IL_003d: ldnull
IL_003e: ldftn void Test::RunGetE()
- IL_0044: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0044: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0049: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0049: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_004e: stloc.2
IL_004f: ldloc.2
IL_0050: ldstr "T3"
- IL_0055: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0055: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_005a: nop
IL_005b: ldloc.0
- IL_005c: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_005c: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0061: nop
IL_0062: ldc.i4 0x3e8
- IL_0067: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0067: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_006c: nop
IL_006d: ldloc.1
- IL_006e: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_006e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0073: nop
IL_0074: ldc.i4 0x3e8
- IL_0079: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0079: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_007e: nop
IL_007f: ldloc.2
- IL_0080: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0080: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0085: nop
IL_0086: ldloc.2
- IL_0087: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0087: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_008c: nop
IL_008d: ldloc.1
- IL_008e: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_008e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_0093: nop
IL_0094: ldloc.0
- IL_0095: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0095: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_009a: nop
IL_009b: ldsfld int32 A::i
IL_00a0: ldc.i4.5
.maxstack 8
IL_0000: nop
IL_0001: ldc.i4 0x7d0
- IL_0006: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0006: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_000b: nop
IL_000c: ldstr "In A.cctor: thread {0}: B.i {1}"
- IL_0011: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_0016: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0011: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_0016: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_001b: ldsfld int32 B::i
IL_0020: box [mscorlib]System.Int32
IL_0025: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In B.cctor: thread {0}: C.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 C::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldc.i4 0x7d0
- IL_0006: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0006: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_000b: nop
IL_000c: ldstr "In C.cctor: thread {0}: D.i {1}"
- IL_0011: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_0016: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0011: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_0016: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_001b: ldsfld int32 D::i
IL_0020: box [mscorlib]System.Int32
IL_0025: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In D.cctor: thread {0}: E.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 E::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In E.cctor: thread {0}: A.i {1}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: ldsfld int32 A::i
IL_0015: box [mscorlib]System.Int32
IL_001a: call void [System.Console]System.Console::WriteLine(string,
.maxstack 8
IL_0000: nop
IL_0001: ldstr "In MyClass.SomeMethod(): thread {0}"
- IL_0006: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
- IL_000b: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0006: call class [System.Threading.Thread]System.Threading.Thread [System.Threading.Thread]System.Threading.Thread::get_CurrentThread()
+ IL_000b: callvirt instance string [System.Threading.Thread]System.Threading.Thread::get_Name()
IL_0010: call void [System.Console]System.Console::WriteLine(string,
object)
IL_0015: nop
.entrypoint
// Code size 244 (0xf4)
.maxstack 3
- .locals init (class [mscorlib]System.Threading.Thread V_0,
- class [mscorlib]System.Threading.Thread V_1,
- class [mscorlib]System.Threading.Thread V_2,
+ .locals init (class [System.Threading.Thread]System.Threading.Thread V_0,
+ class [System.Threading.Thread]System.Threading.Thread V_1,
+ class [System.Threading.Thread]System.Threading.Thread V_2,
int32 V_3,
bool V_4)
IL_0000: nop
IL_0001: ldnull
IL_0002: ldftn void Test::RunGetA()
- IL_0008: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0008: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_000d: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_000d: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0012: stloc.0
IL_0013: ldloc.0
IL_0014: ldstr "T1"
- IL_0019: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0019: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_001e: nop
IL_001f: ldnull
IL_0020: ldftn void Test::RunGetC()
- IL_0026: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0026: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_002b: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_002b: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_0030: stloc.1
IL_0031: ldloc.1
IL_0032: ldstr "T2"
- IL_0037: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0037: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_003c: nop
IL_003d: ldnull
IL_003e: ldftn void Test::RunGetE()
- IL_0044: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ IL_0044: newobj instance void [System.Threading.Thread]System.Threading.ThreadStart::.ctor(object,
native int)
- IL_0049: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0049: newobj instance void [System.Threading.Thread]System.Threading.Thread::.ctor(class [System.Threading.Thread]System.Threading.ThreadStart)
IL_004e: stloc.2
IL_004f: ldloc.2
IL_0050: ldstr "T3"
- IL_0055: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0055: callvirt instance void [System.Threading.Thread]System.Threading.Thread::set_Name(string)
IL_005a: nop
IL_005b: ldloc.0
- IL_005c: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_005c: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0061: nop
IL_0062: ldc.i4 0x3e8
- IL_0067: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0067: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_006c: nop
IL_006d: ldloc.1
- IL_006e: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_006e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0073: nop
IL_0074: ldc.i4 0x3e8
- IL_0079: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0079: call void [System.Threading.Thread]System.Threading.Thread::Sleep(int32)
IL_007e: nop
IL_007f: ldloc.2
- IL_0080: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0080: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Start()
IL_0085: nop
IL_0086: ldloc.2
- IL_0087: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0087: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_008c: nop
IL_008d: ldloc.1
- IL_008e: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_008e: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_0093: nop
IL_0094: ldloc.0
- IL_0095: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0095: callvirt instance void [System.Threading.Thread]System.Threading.Thread::Join()
IL_009a: nop
IL_009b: ldsfld int32 A::i
IL_00a0: ldc.i4.5
Loader/classloader/TypeGeneratorTests/TypeGeneratorTest682/Generated682/Generated682.sh
Loader/classloader/TypeGeneratorTests/TypeGeneratorTest683/Generated683/Generated683.sh
JIT/opt/perf/doublealign/Locals/Locals.sh
+JIT/Performance/CodeQuality/Roslyn/CscBench/CscBench.sh
+