diff --git a/ICSharpCode.Decompiler.PowerShell/GetDecompilerCmdlet.cs b/ICSharpCode.Decompiler.PowerShell/GetDecompilerCmdlet.cs index 1ce6f300a..a268c3c42 100644 --- a/ICSharpCode.Decompiler.PowerShell/GetDecompilerCmdlet.cs +++ b/ICSharpCode.Decompiler.PowerShell/GetDecompilerCmdlet.cs @@ -15,13 +15,24 @@ namespace ICSharpCode.Decompiler.PowerShell [ValidateNotNullOrEmpty] public string LiteralPath { get; set; } + [Parameter(HelpMessage = "C# Language version to be used by the decompiler")] + public LanguageVersion LanguageVersion { get; set; } = LanguageVersion.Latest; + + [Parameter(HelpMessage = "Remove dead stores")] + public bool RemoveDeadStores { get; set; } + + [Parameter(HelpMessage = "Remove dead code")] + public bool RemoveDeadCode { get; set; } + protected override void ProcessRecord() { string path = GetUnresolvedProviderPathFromPSPath(LiteralPath); try { - var decompiler = new CSharpDecompiler(path, new DecompilerSettings() { - ThrowOnAssemblyResolveErrors = false + var decompiler = new CSharpDecompiler(path, new DecompilerSettings(LanguageVersion) { + ThrowOnAssemblyResolveErrors = false, + RemoveDeadCode = RemoveDeadCode, + RemoveDeadStores = RemoveDeadStores }); WriteObject(decompiler);