# Class: com.pnfsoftware.jeb.core.units.code.asm.AbstractNativeDecompilerPlugin

Base implementation of an [INativeDecompilerPlugin](INativeDecompilerPlugin). Decompiler plugins should extend this class.

## Constructor: AbstractNativeDecompilerPlugin
- parameter: `type`, type: `java.lang.String`
- parameter: `priority`, type: `double`


## Static Field: propnameASTOptimizerMaxRunCount
Type: `java.lang.String`

Constant value: `ASTOptimizerMaxRunCount`

## Static Field: propnameDecryptorSupport
Type: `java.lang.String`

Constant value: `DecryptorSupport`

## Static Field: propnameEnableDeobfuscators
Type: `java.lang.String`

Constant value: `EnableDeobfuscators`

## Static Field: propnameEnableExternalPlugins
Type: `java.lang.String`

Constant value: `EnableExternalPlugins`

## Static Field: propnameEnableUnsafeOptimizers
Type: `java.lang.String`

Constant value: `EnableUnsafeOptimizers`

## Static Field: propnameIROptimizerMaxRunCount
Type: `java.lang.String`

Constant value: `IROptimizerMaxRunCount`

## Static Field: propnameListOfDisabledExternalPlugins
Type: `java.lang.String`

Constant value: `ListOfDisabledExternalPlugins`

## Static Field: propnameMemoryResolutionPolicy
Type: `java.lang.String`

Constant value: `MemoryResolutionPolicy`

## Static Field: propnameMethodDecompilationTimeout
Type: `java.lang.String`

Constant value: `MethodDecompilationTimeout`

## Static Field: propnameNextDecompKeepIR
Type: `java.lang.String`

Constant value: `NextDecompKeepIR`

## Static Field: propnameReconversionMaxCount
Type: `java.lang.String`

Constant value: `ReconversionMaxCount`

## Static Field: propnameStructurerUseVersion
Type: `java.lang.String`

Constant value: `StructurerUseVersion`

## Static Field: propnameUseFriendlyVariableNames
Type: `java.lang.String`

Constant value: `UseFriendlyVariableNames`

## Static Field: propnameUseWellKnownLiterals
Type: `java.lang.String`

Constant value: `UseWellKnownLiterals`

## Method: getGlobalAnalyzer
- parameter: `decompiler`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit<InsnType>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.IGlobalAnalyzer`

Description: The default implementation returns null. By default, a decompiler plugin does not provide a global analyzer.

## Method: getPrimaryExtension
- parameter: `decompiler`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit<InsnType>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerExtension`

Description: The default implementation returns null. By default, a decompiler plugin does not provide a primary extension.

## Method: getSourceCustomizer
- parameter: `decompiler`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit<InsnType>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ISourceCustomizer`

Description: The default implementation returns null. By default, a decompiler plugin does not provide a source customizer.

