Skip to content

Latest commit

 

History

History
1318 lines (951 loc) · 23.3 KB

File metadata and controls

1318 lines (951 loc) · 23.3 KB
external help file ISpy.dll-Help.xml
Module Name ISpy
online version https://github.com/trackd/ISpy/blob/main/docs/en-US/
schema 2.0.0

New-DecompilerSetting

SYNOPSIS

Creates a configurable DecompilerSettings instance for reuse across decompilation cmdlets.

SYNTAX

New-DecompilerSetting [-LanguageVersion <LanguageVersion>] [-CSharpFormattingOptions <CSharpFormattingOptions>] [<CommonParameters>]

DESCRIPTION

New-DecompilerSetting builds a DecompilerSettings object for ILSpy-based cmdlets. It supports language version selection, accepts CSharpFormattingOptions, and dynamically exposes writable boolean DecompilerSettings switches so you can quickly shape decompilation behavior.

Most writable DecompilerSettings properties are boolean toggles, so this cmdlet primarily surfaces switch-style dynamic parameters. For richer formatting controls (int, string, enums), use New-DecompilerFormattingOption and pass the result to -CSharpFormattingOptions.

EXAMPLES

Example 1: Create default settings

PS C:\> New-DecompilerSetting

Creates a default DecompilerSettings object.

Example 2: Set language version and dead-code cleanup

PS C:\> New-DecompilerSetting -LanguageVersion CSharp11 -RemoveDeadCode -RemoveDeadStores

Creates settings that target C# 11 and remove dead code/stores.

Example 3: Attach formatting options

PS C:\> $fmt = New-DecompilerFormattingOption -IndentSwitchBody
PS C:\> $settings = New-DecompilerSetting -CSharpFormattingOptions $fmt -UsingDeclarations

Creates settings that include custom C# formatting preferences.

PARAMETERS

-AggressiveInlining

Set DecompilerSettings.AggressiveInlining to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AggressiveScalarReplacementOfAggregates

Set DecompilerSettings.AggressiveScalarReplacementOfAggregates to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AlwaysCastTargetsOfExplicitInterfaceImplementationCalls

Set DecompilerSettings.AlwaysCastTargetsOfExplicitInterfaceImplementationCalls to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AlwaysQualifyMemberReferences

Set DecompilerSettings.AlwaysQualifyMemberReferences to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AlwaysShowEnumMemberValues

Set DecompilerSettings.AlwaysShowEnumMemberValues to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AlwaysUseBraces

Set DecompilerSettings.AlwaysUseBraces to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AlwaysUseGlobal

Set DecompilerSettings.AlwaysUseGlobal to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AnonymousMethods

Set DecompilerSettings.AnonymousMethods to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AnonymousTypes

Set DecompilerSettings.AnonymousTypes to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ApplyWindowsRuntimeProjections

Set DecompilerSettings.ApplyWindowsRuntimeProjections to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ArrayInitializers

Set DecompilerSettings.ArrayInitializers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AssumeArrayLengthFitsIntoInt32

Set DecompilerSettings.AssumeArrayLengthFitsIntoInt32 to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AsyncAwait

Set DecompilerSettings.AsyncAwait to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AsyncEnumerator

Set DecompilerSettings.AsyncEnumerator to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AsyncUsingAndForEachStatement

Set DecompilerSettings.AsyncUsingAndForEachStatement to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AutoLoadAssemblyReferences

Set DecompilerSettings.AutoLoadAssemblyReferences to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AutomaticEvents

Set DecompilerSettings.AutomaticEvents to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AutomaticProperties

Set DecompilerSettings.AutomaticProperties to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-AwaitInCatchFinally

Set DecompilerSettings.AwaitInCatchFinally to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-CheckedOperators

Set DecompilerSettings.CheckedOperators to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-CovariantReturns

Set DecompilerSettings.CovariantReturns to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-DecimalConstants

Set DecompilerSettings.DecimalConstants to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-DecompileMemberBodies

Set DecompilerSettings.DecompileMemberBodies to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-DecompilerFormattingOption

Use New-DecompilerFormattingOption to create a formatting options object with specific settings.

Type: CSharpFormattingOptions
Aliases: CSharpFormattingOptions
Required: False
Position: Named
Accept pipeline input: False

-Deconstruction

Set DecompilerSettings.Deconstruction to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-DictionaryInitializers

Set DecompilerSettings.DictionaryInitializers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-Discards

Set DecompilerSettings.Discards to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-DoWhileStatement

Set DecompilerSettings.DoWhileStatement to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-Dynamic

Set DecompilerSettings.Dynamic to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ExpandMemberDefinitions

Set DecompilerSettings.ExpandMemberDefinitions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ExpandUsingDeclarations

Set DecompilerSettings.ExpandUsingDeclarations to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ExpressionTrees

Set DecompilerSettings.ExpressionTrees to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ExtensionMethods

Set DecompilerSettings.ExtensionMethods to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ExtensionMethodsInCollectionInitializers

Set DecompilerSettings.ExtensionMethodsInCollectionInitializers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-FileScopedNamespaces

Set DecompilerSettings.FileScopedNamespaces to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-FixedBuffers

Set DecompilerSettings.FixedBuffers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-FoldBraces

Set DecompilerSettings.FoldBraces to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ForEachStatement

Set DecompilerSettings.ForEachStatement to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ForEachWithGetEnumeratorExtension

Set DecompilerSettings.ForEachWithGetEnumeratorExtension to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ForStatement

Set DecompilerSettings.ForStatement to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-FunctionPointers

Set DecompilerSettings.FunctionPointers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-GetterOnlyAutomaticProperties

Set DecompilerSettings.GetterOnlyAutomaticProperties to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-InitAccessors

Set DecompilerSettings.InitAccessors to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-IntroduceIncrementAndDecrement

Set DecompilerSettings.IntroduceIncrementAndDecrement to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-IntroducePrivateProtectedAccessibility

Set DecompilerSettings.IntroducePrivateProtectedAccessibility to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-IntroduceReadonlyAndInModifiers

Set DecompilerSettings.IntroduceReadonlyAndInModifiers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-IntroduceRefModifiersOnStructs

Set DecompilerSettings.IntroduceRefModifiersOnStructs to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-IntroduceUnmanagedConstraint

Set DecompilerSettings.IntroduceUnmanagedConstraint to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-LanguageVersion

C# Language version to be used by the decompiler
Accepted values: CSharp1, CSharp2, CSharp3, CSharp4, CSharp5, CSharp6, CSharp7, CSharp7_1, CSharp7_2, CSharp7_3, CSharp8_0, CSharp9_0, CSharp10_0, CSharp11_0, Preview, CSharp12_0, Latest.

Type: LanguageVersion
Required: False
Position: Named
Accept pipeline input: False

-LifetimeAnnotations

Set DecompilerSettings.LifetimeAnnotations to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-LiftNullables

Set DecompilerSettings.LiftNullables to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-LoadInMemory

Set DecompilerSettings.LoadInMemory to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-LocalFunctions

Set DecompilerSettings.LocalFunctions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-LockStatement

Set DecompilerSettings.LockStatement to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-MakeAssignmentExpressions

Set DecompilerSettings.MakeAssignmentExpressions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-NamedArguments

Set DecompilerSettings.NamedArguments to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-NativeIntegers

Set DecompilerSettings.NativeIntegers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-NonTrailingNamedArguments

Set DecompilerSettings.NonTrailingNamedArguments to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-NullableReferenceTypes

Set DecompilerSettings.NullableReferenceTypes to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-NullPropagation

Set DecompilerSettings.NullPropagation to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-NumericIntPtr

Set DecompilerSettings.NumericIntPtr to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ObjectOrCollectionInitializers

Set DecompilerSettings.ObjectOrCollectionInitializers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-OptionalArguments

Set DecompilerSettings.OptionalArguments to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-OutVariables

Set DecompilerSettings.OutVariables to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-PatternBasedFixedStatement

Set DecompilerSettings.PatternBasedFixedStatement to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-PatternCombinators

Set DecompilerSettings.PatternCombinators to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-PatternMatching

Set DecompilerSettings.PatternMatching to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-QueryExpressions

Set DecompilerSettings.QueryExpressions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-Ranges

Set DecompilerSettings.Ranges to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ReadOnlyMethods

Set DecompilerSettings.ReadOnlyMethods to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RecordClasses

Set DecompilerSettings.RecordClasses to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RecordStructs

Set DecompilerSettings.RecordStructs to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RecursivePatternMatching

Set DecompilerSettings.RecursivePatternMatching to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RefExtensionMethods

Set DecompilerSettings.RefExtensionMethods to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RefReadOnlyParameters

Set DecompilerSettings.RefReadOnlyParameters to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RelationalPatterns

Set DecompilerSettings.RelationalPatterns to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RemoveDeadCode

Set DecompilerSettings.RemoveDeadCode to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RemoveDeadStores

Set DecompilerSettings.RemoveDeadStores to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-RequiredMembers

Set DecompilerSettings.RequiredMembers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ScopedRef

Set DecompilerSettings.ScopedRef to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-SeparateLocalVariableDeclarations

Set DecompilerSettings.SeparateLocalVariableDeclarations to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ShowDebugInfo

Set DecompilerSettings.ShowDebugInfo to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ShowXmlDocumentation

Set DecompilerSettings.ShowXmlDocumentation to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-SortCustomAttributes

Set DecompilerSettings.SortCustomAttributes to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-SparseIntegerSwitch

Set DecompilerSettings.SparseIntegerSwitch to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-StackAllocInitializers

Set DecompilerSettings.StackAllocInitializers to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-StaticLocalFunctions

Set DecompilerSettings.StaticLocalFunctions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-StringConcat

Set DecompilerSettings.StringConcat to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-StringInterpolation

Set DecompilerSettings.StringInterpolation to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-SwitchExpressions

Set DecompilerSettings.SwitchExpressions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-SwitchOnReadOnlySpanChar

Set DecompilerSettings.SwitchOnReadOnlySpanChar to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-SwitchStatementOnString

Set DecompilerSettings.SwitchStatementOnString to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ThrowExpressions

Set DecompilerSettings.ThrowExpressions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-ThrowOnAssemblyResolveErrors

Set DecompilerSettings.ThrowOnAssemblyResolveErrors to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-TupleComparisons

Set DecompilerSettings.TupleComparisons to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-TupleConversions

Set DecompilerSettings.TupleConversions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-TupleTypes

Set DecompilerSettings.TupleTypes to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UnsignedRightShift

Set DecompilerSettings.UnsignedRightShift to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UseDebugSymbols

Set DecompilerSettings.UseDebugSymbols to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UseEnhancedUsing

Set DecompilerSettings.UseEnhancedUsing to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UseExpressionBodyForCalculatedGetterOnlyProperties

Set DecompilerSettings.UseExpressionBodyForCalculatedGetterOnlyProperties to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UseImplicitMethodGroupConversion

Set DecompilerSettings.UseImplicitMethodGroupConversion to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UseLambdaSyntax

Set DecompilerSettings.UseLambdaSyntax to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UseNestedDirectoriesForNamespaces

Set DecompilerSettings.UseNestedDirectoriesForNamespaces to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UsePrimaryConstructorSyntax

Set DecompilerSettings.UsePrimaryConstructorSyntax to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UsePrimaryConstructorSyntaxForNonRecordTypes

Set DecompilerSettings.UsePrimaryConstructorSyntaxForNonRecordTypes to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UseRefLocalsForAccurateOrderOfEvaluation

Set DecompilerSettings.UseRefLocalsForAccurateOrderOfEvaluation to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UseSdkStyleProjectFormat

Set DecompilerSettings.UseSdkStyleProjectFormat to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UsingDeclarations

Set DecompilerSettings.UsingDeclarations to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-UsingStatement

Set DecompilerSettings.UsingStatement to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-Utf8StringLiterals

Set DecompilerSettings.Utf8StringLiterals to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-WithExpressions

Set DecompilerSettings.WithExpressions to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

-YieldReturn

Set DecompilerSettings.YieldReturn to $true.

Type: SwitchParameter
Required: False
Position: Named
Accept pipeline input: False

INPUTS

None.

OUTPUTS

ICSharpCode.Decompiler.DecompilerSettings

Returns a configured DecompilerSettings instance.

NOTES

  • This cmdlet includes dynamic switch parameters mapped from writable boolean properties on DecompilerSettings.

RELATED LINKS

New-CSharpFormattingOption New-Decompiler Get-DecompiledSource