public void OnApply(IAppRefreshSettings appRefreshSettings) { RefreshFlags flags = 0; var g = _global_decompilerSettings; var d = decompilerSettings; d.DecompilationObject0 = DecompilationObject0.Object; d.DecompilationObject1 = DecompilationObject1.Object; d.DecompilationObject2 = DecompilationObject2.Object; d.DecompilationObject3 = DecompilationObject3.Object; d.DecompilationObject4 = DecompilationObject4.Object; if (g.AnonymousMethods != d.AnonymousMethods) { flags |= RefreshFlags.ILAst | RefreshFlags.ShowMember; } if (g.ExpressionTrees != d.ExpressionTrees) { flags |= RefreshFlags.ILAst; } if (g.YieldReturn != d.YieldReturn) { flags |= RefreshFlags.ILAst | RefreshFlags.ShowMember; } if (g.AsyncAwait != d.AsyncAwait) { flags |= RefreshFlags.ILAst | RefreshFlags.ShowMember; } if (g.AutomaticProperties != d.AutomaticProperties) { flags |= RefreshFlags.CSharp | RefreshFlags.ShowMember; } if (g.AutomaticEvents != d.AutomaticEvents) { flags |= RefreshFlags.CSharp | RefreshFlags.ShowMember; } if (g.UsingStatement != d.UsingStatement) { flags |= RefreshFlags.CSharp; } if (g.ForEachStatement != d.ForEachStatement) { flags |= RefreshFlags.CSharp; } if (g.LockStatement != d.LockStatement) { flags |= RefreshFlags.CSharp; } if (g.SwitchStatementOnString != d.SwitchStatementOnString) { flags |= RefreshFlags.CSharp | RefreshFlags.ShowMember; } if (g.UsingDeclarations != d.UsingDeclarations) { flags |= RefreshFlags.CSharp; } if (g.QueryExpressions != d.QueryExpressions) { flags |= RefreshFlags.CSharp; } if (g.FullyQualifyAmbiguousTypeNames != d.FullyQualifyAmbiguousTypeNames) { flags |= RefreshFlags.CSharp; } if (g.FullyQualifyAllTypes != d.FullyQualifyAllTypes) { flags |= RefreshFlags.CSharp; } if (g.UseDebugSymbols != d.UseDebugSymbols) { flags |= RefreshFlags.DecompileAll; } if (g.ObjectOrCollectionInitializers != d.ObjectOrCollectionInitializers) { flags |= RefreshFlags.ILAst; } if (g.ShowXmlDocumentation != d.ShowXmlDocumentation) { flags |= RefreshFlags.DecompileAll; } if (g.RemoveEmptyDefaultConstructors != d.RemoveEmptyDefaultConstructors) { flags |= RefreshFlags.CSharp; } if (g.IntroduceIncrementAndDecrement != d.IntroduceIncrementAndDecrement) { flags |= RefreshFlags.ILAst; } if (g.MakeAssignmentExpressions != d.MakeAssignmentExpressions) { flags |= RefreshFlags.ILAst; } if (g.AlwaysGenerateExceptionVariableForCatchBlocksUnlessTypeIsObject != d.AlwaysGenerateExceptionVariableForCatchBlocksUnlessTypeIsObject) { flags |= RefreshFlags.ILAst; } if (g.ShowTokenAndRvaComments != d.ShowTokenAndRvaComments) { flags |= RefreshFlags.DecompileAll; } if (g.DecompilationObject0 != d.DecompilationObject0) { flags |= RefreshFlags.CSharp; } if (g.DecompilationObject1 != d.DecompilationObject1) { flags |= RefreshFlags.CSharp; } if (g.DecompilationObject2 != d.DecompilationObject2) { flags |= RefreshFlags.CSharp; } if (g.DecompilationObject3 != d.DecompilationObject3) { flags |= RefreshFlags.CSharp; } if (g.DecompilationObject4 != d.DecompilationObject4) { flags |= RefreshFlags.CSharp; } if (g.SortMembers != d.SortMembers) { flags |= RefreshFlags.CSharp; } if (g.ForceShowAllMembers != d.ForceShowAllMembers) { flags |= RefreshFlags.CSharp | RefreshFlags.ShowMember; } if (g.SortSystemUsingStatementsFirst != d.SortSystemUsingStatementsFirst) { flags |= RefreshFlags.CSharp; } if (g.MaxArrayElements != d.MaxArrayElements) { flags |= RefreshFlags.CSharp; } if (g.SortCustomAttributes != d.SortCustomAttributes) { flags |= RefreshFlags.CSharp; } if (g.UseSourceCodeOrder != d.UseSourceCodeOrder) { flags |= RefreshFlags.CSharp; } if (g.AllowFieldInitializers != d.AllowFieldInitializers) { flags |= RefreshFlags.CSharp; } if (g.OneCustomAttributePerLine != d.OneCustomAttributePerLine) { flags |= RefreshFlags.CSharp; } if (g.TypeAddInternalModifier != d.TypeAddInternalModifier) { flags |= RefreshFlags.CSharp; } if (g.MemberAddPrivateModifier != d.MemberAddPrivateModifier) { flags |= RefreshFlags.CSharp; } if ((flags & RefreshFlags.ShowMember) != 0) { appRefreshSettings.Add(AppSettingsConstants.REFRESH_LANGUAGE_SHOWMEMBER); } if ((flags & RefreshFlags.ILAst) != 0) { appRefreshSettings.Add(SettingsConstants.REDECOMPILE_ILAST_ILSPY_CODE); } if ((flags & RefreshFlags.CSharp) != 0) { appRefreshSettings.Add(SettingsConstants.REDECOMPILE_CSHARP_ILSPY_CODE); } if ((flags & RefreshFlags.VB) != 0) { appRefreshSettings.Add(SettingsConstants.REDECOMPILE_VB_ILSPY_CODE); } decompilerSettings.CopyTo(_global_decompilerSettings); }