2021-09-20 18:20:01 +02:00

99 lines
4.1 KiB
C#

/*
Copyright (C) 2014-2019 de4dot@gmail.com
This file is part of dnSpy
dnSpy is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
dnSpy is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with dnSpy. If not, see <http://www.gnu.org/licenses/>.
*/
namespace dnSpy.Debugger.DotNet.Metadata {
static class KnownMemberNames {
public static readonly string[] builderFieldNames = new string[] {
// Roslyn C#
"<>t__builder",
// Roslyn Visual Basic
"$Builder",
// Mono mcs
"$builder",
};
// System.Runtime.CompilerServices.AsyncTaskMethodBuilder
public const string AsyncTaskMethodBuilder_Builder_FieldName = "m_builder";
// System.Runtime.CompilerServices.AsyncTaskMethodBuilder<TResult>
public const string Builder_Task_FieldName = "m_task";
// At least these method builders:
// System.Runtime.CompilerServices.AsyncIteratorMethodBuilder
// System.Runtime.CompilerServices.AsyncTaskMethodBuilder
// System.Runtime.CompilerServices.AsyncTaskMethodBuilder<TResult>
// System.Runtime.CompilerServices.AsyncVoidMethodBuilder
public const string Builder_ObjectIdForDebugger_PropertyName = "ObjectIdForDebugger";
// At least these method builders:
// System.Runtime.CompilerServices.AsyncTaskMethodBuilder
// System.Runtime.CompilerServices.AsyncTaskMethodBuilder<TResult>
// System.Runtime.CompilerServices.AsyncVoidMethodBuilder
public const string Builder_Task_PropertyName = "Task";
// System.Threading.Tasks.ValueTask<TResult>
public const string ValueTask_Task_FieldName = "_task";// 4.0.0-rc2-24027 - 4.5.0-preview1-26216-02
public const string ValueTask_Obj_FieldName = "_obj";// 4.5.0-preview2-26406-04 - present
// System.Exception
public const string Exception_Message_FieldName = "_message";
public const string Exception_Message_FieldName_Mono = "message";
// System.Threading.Thread
public const string Thread_ManagedThreadId_FieldName1 = "m_ManagedThreadId";
public const string Thread_ManagedThreadId_FieldName2 = "_managedThreadId";// .NET since early 2019
public const string Thread_Name_FieldName1 = "m_Name";
public const string Thread_Name_FieldName2 = "_name";// .NET since early 2019
// System.Nullable<T>
public const string Nullable_HasValue_FieldName = "hasValue";
public const string Nullable_HasValue_FieldName_Mono = "has_value";
public const string Nullable_Value_FieldName = "value";
// System.Decimal
public const string Decimal_Flags_FieldName = "flags";
public const string Decimal_Hi_FieldName = "hi";
public const string Decimal_Lo_FieldName = "lo";
public const string Decimal_Mid_FieldName = "mid";
// System.DateTime
public const string DateTime_DateData_FieldName1 = "dateData";// .NET Framework, Mono
public const string DateTime_DateData_FieldName2 = "_dateData";// .NET
public const string DateTime_Ticks_FieldName_Mono = "ticks";
public const string DateTime_Kind_FieldName_Mono = "kind";
// System.Collections.DictionaryEntry
public const string DictionaryEntry_Key_FieldName = "_key";
public const string DictionaryEntry_Value_FieldName = "_value";
// System.Collections.Generic.KeyValuePair<TKey, TValue>
public const string KeyValuePair_Key_FieldName = "key";
public const string KeyValuePair_Value_FieldName = "value";
// Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView.DynamicProperty
public const string DynamicProperty_Name_FieldName = "name";
public const string DynamicProperty_Value_FieldName = "value";
// System.Linq.SystemCore_EnumerableDebugViewEmptyException, thrown by
// System.Linq.SystemCore_EnumerableDebugView
// System.Linq.SystemCore_EnumerableDebugView<T>
public const string SystemCore_EnumerableDebugViewEmptyException_Empty_PropertyName = "Empty";
}
}