|
|
|
@ -15,13 +15,24 @@ namespace ICSharpCode.Decompiler.PowerShell
@@ -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); |
|
|
|
|
|
|
|
|
|