2020
2121using System ;
2222using System . Collections . Concurrent ;
23+ using System . Collections . Generic ;
2324using System . ComponentModel . Composition ;
2425using System . Diagnostics ;
2526using System . Linq ;
3132using ICSharpCode . ILSpy . TextView ;
3233using ICSharpCode . ILSpyX ;
3334
34- using TomsToolbox . Essentials ;
35-
3635namespace ICSharpCode . ILSpy
3736{
3837 [ ExportMainMenuCommand ( ParentMenuID = nameof ( Resources . _File ) , Header = nameof ( Resources . DEBUGDecompile ) , MenuCategory = nameof ( Resources . Open ) , MenuOrder = 2.5 ) ]
3938 [ PartCreationPolicy ( CreationPolicy . Shared ) ]
4039 sealed class DecompileAllCommand : SimpleCommand
4140 {
41+ private readonly IReadOnlyCollection < IResourceFileHandler > resourceFileHandlers ;
42+
43+ [ ImportingConstructor ]
44+ public DecompileAllCommand ( [ ImportMany ] IEnumerable < IResourceFileHandler > resourceFileHandlers )
45+ {
46+ this . resourceFileHandlers = resourceFileHandlers . ToArray ( ) ;
47+ }
48+
4249 public override bool CanExecute ( object parameter )
4350 {
4451 return System . IO . Directory . Exists ( "c:\\ temp\\ decompiled" ) ;
@@ -60,10 +67,10 @@ public override void Execute(object parameter)
6067 {
6168 try
6269 {
63- var options = SettingsService . Instance . CreateDecompilationOptions ( DockWorkspace . Instance . ActiveTabPage ) ;
70+ var options = LanguageService . Instance . CreateDecompilationOptions ( DockWorkspace . Instance . ActiveTabPage ) ;
6471 options . CancellationToken = ct ;
6572 options . FullDecompilation = true ;
66- new CSharpLanguage ( ) . DecompileAssembly ( asm , new PlainTextOutput ( writer ) , options ) ;
73+ new CSharpLanguage ( resourceFileHandlers ) . DecompileAssembly ( asm , new PlainTextOutput ( writer ) , options ) ;
6774 }
6875 catch ( Exception ex )
6976 {
@@ -95,10 +102,10 @@ sealed class Decompile100TimesCommand : SimpleCommand
95102 public override void Execute ( object parameter )
96103 {
97104 const int numRuns = 100 ;
98- var language = SettingsService . Instance . SessionSettings . LanguageSettings . Language ;
105+ var language = LanguageService . Instance . Language ;
99106 var nodes = MainWindow . Instance . AssemblyTreeModel . SelectedNodes . ToArray ( ) ;
100107 DockWorkspace dockWorkspace = DockWorkspace . Instance ;
101- var options = SettingsService . Instance . CreateDecompilationOptions ( dockWorkspace . ActiveTabPage ) ;
108+ var options = LanguageService . Instance . CreateDecompilationOptions ( dockWorkspace . ActiveTabPage ) ;
102109 dockWorkspace . RunWithCancellation ( ct => Task < AvalonEditTextOutput > . Factory . StartNew ( ( ) => {
103110 options . CancellationToken = ct ;
104111 Stopwatch w = Stopwatch . StartNew ( ) ;
0 commit comments