static void FixNativeTypeEnum(EnumListVM e, bool canHaveNotInitialized) { e.Items.RemoveAt(e.GetIndex(dnlib.DotNet.NativeType.NotInitialized)); if (canHaveNotInitialized) { e.Items.Insert(0, new EnumVM(dnlib.DotNet.NativeType.NotInitialized, NOT_INITIALIZED_ENUM_VALUE)); } }
static void FixNativeTypeEnum(EnumListVM e, bool canHaveNotInitialized) { e.Items.RemoveAt(e.GetIndex(dnlib.DotNet.NativeType.NotInitialized)); if (canHaveNotInitialized) { e.Items.Insert(0, new EnumVM(dnlib.DotNet.NativeType.NotInitialized, dnSpy_AsmEditor_Resources.MarshalType_EnumNotInitialized)); } }
public MethodSigCreatorVM(MethodSigCreatorOptions options) { this.options = options.Clone(); title = options.TypeSigCreatorOptions.Title; ParametersCreateTypeSigArray = new CreateTypeSigArrayVM(options.TypeSigCreatorOptions.Clone(null), null); ParametersCreateTypeSigArray.TypeSigCollection.CollectionChanged += (s, e) => OnPropertyChanged(nameof(SignatureFullName)); SentinelCreateTypeSigArray = new CreateTypeSigArrayVM(options.TypeSigCreatorOptions.Clone(null), null); SentinelCreateTypeSigArray.TypeSigCollection.CollectionChanged += (s, e) => OnPropertyChanged(nameof(SignatureFullName)); SentinelCreateTypeSigArray.IsEnabled = CanHaveSentinel; GenericParameterCount = new UInt32VM(0, a => { HasErrorUpdated(); OnPropertyChanged(nameof(SignatureFullName)); if (GenericParameterCount != null && !GenericParameterCount.HasError) { IsGeneric = GenericParameterCount.Value != 0; } }) { Min = ModelUtils.COMPRESSED_UINT32_MIN, Max = ModelUtils.COMPRESSED_UINT32_MAX, }; MethodCallingConv = new EnumListVM(methodCallingConvList, (a, b) => { if (!IsMethodSig) { throw new InvalidOperationException(); } CallingConvention = (CallingConvention & ~dnlib.DotNet.CallingConvention.Mask) | (dnlib.DotNet.CallingConvention)(MethodCallingConv) MethodCallingConv.SelectedItem; }); if (!CanHaveSentinel) { MethodCallingConv.Items.RemoveAt(MethodCallingConv.GetIndex(DnlibDialogs.MethodCallingConv.VarArg)); MethodCallingConv.Items.RemoveAt(MethodCallingConv.GetIndex(DnlibDialogs.MethodCallingConv.NativeVarArg)); } if (IsMethodSig) { MethodCallingConv.SelectedItem = DnlibDialogs.MethodCallingConv.Default; } else { CallingConvention = (CallingConvention & ~dnlib.DotNet.CallingConvention.Mask) | dnlib.DotNet.CallingConvention.Property; } ReturnType = options.TypeSigCreatorOptions.OwnerModule.CorLibTypes.Void; }
static void FixNativeTypeEnum(EnumListVM e, bool canHaveNotInitialized) { e.Items.RemoveAt(e.GetIndex(dnlib.DotNet.NativeType.NotInitialized)); if (canHaveNotInitialized) e.Items.Insert(0, new EnumVM(dnlib.DotNet.NativeType.NotInitialized, dnSpy_AsmEditor_Resources.MarshalType_EnumNotInitialized)); }
static void FixNativeTypeEnum(EnumListVM e, bool canHaveNotInitialized) { e.Items.RemoveAt(e.GetIndex(dnlib.DotNet.NativeType.NotInitialized)); if (canHaveNotInitialized) e.Items.Insert(0, new EnumVM(dnlib.DotNet.NativeType.NotInitialized, NOT_INITIALIZED_ENUM_VALUE)); }