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

Base implementation of a [INativeDisassemblerPlugin](INativeDisassemblerPlugin). Disassembler plugins should extend this class.

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

Description: Create a native disassembler plugin.
parameter: type: plugin type identifier
parameter: priority: plugin priority

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

Constant value: `AdvancedAnalysis`
Description: Property name for enabling advanced analysis.

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

Constant value: `AnalysisStyle`
Description: Property name for the analysis style setting.

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

Constant value: `ApplyAndroidNativePrototypes`
Description: Property name for applying Android native prototypes.

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

Constant value: `CallingConvention`
Description: Property name for the calling convention setting.

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

Constant value: `CompilerIdentification`
Description: Property name for compiler identification.

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

Constant value: `CreatePackagesFromRoutineNames`
Description: Property name for creating packages from routine names.

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

Constant value: `DebugInformationRetrievalPolicy`
Description: Property name for the debug information retrieval policy.

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

Constant value: `DebugInformationUsagePolicy`
Description: Property name for the debug information usage policy.

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

Constant value: `DelayAnalysis`
Description: Property name for delaying analysis.

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

Constant value: `Endianness`
Description: Property name for the endianness setting.

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

Constant value: `ForceSynchronousAnalysis`
Description: Property name for forcing synchronous analysis.

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

Constant value: `ImageBase`
Description: Property name for the image base setting.

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

Constant value: `LoadTypeLibrariesCodelessSigs`
Description: Property name for loading codeless signatures from type libraries.

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

Constant value: `PerformClassRecovery`
Description: Property name for class recovery.

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

Constant value: `PerformFakeRoutineCallAnalysis`
Description: Property name for fake routine call analysis.

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

Constant value: `PerformGlobalAnalysis`
Description: Property name for global analysis.

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

Constant value: `PerformRttiRecovery`
Description: Property name for RTTI recovery.

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

Constant value: `PreferHexAddresses`
Description: Property name for hexadecimal address rendering preference.

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

Constant value: `RelocationBaseForZeroBasedRelocatableObjects`
Description: Property name for the relocation base of zero\-based relocatable objects.

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

Constant value: `SignaturePackagesLoading`
Description: Property name for signature package loading.

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

Constant value: `SwitchAnalysisStyle`
Description: Property name for switch analysis style.

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

Constant value: `TailCallAnalysisStyle`
Description: Property name for tail\-call analysis style.

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

Constant value: `UseTypeLibraries`
Description: Property name for type library usage.

## Method: canBeProcessedOutsideCodeObject
- return type: `boolean`

Description: The default implementation returns true: native assemblies or assemblies treated as native can be processed outside of a container file \(aka, a code object, such as a PE or ELF file0.

## Method: canProcessELF
- parameter: `machineId`, type: `int`
- parameter: `isELF64`, type: `boolean`
- return type: `boolean`

Description: The default implementation returns false.

## Method: canProcessPE
- parameter: `machineId`, type: `int`
- parameter: `isPE64`, type: `boolean`
- return type: `boolean`

Description: The default implementation returns false.

## Method: getCallingConvention
- parameter: `parent`, type: `com.pnfsoftware.jeb.core.IUnitCreator`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.ICallingConvention`

Description: The default implementation returns null. JEB will attempt to determine the calling convention on its own.

## Method: getProcessorTypes
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.codeobject.ProcessorType>`

Description: The default implementation returns an empty collection.

## Method: toString
- return type: `java.lang.String`


