# Class: com.pnfsoftware.jeb.core.units.code.asm.type.CallingConvention

Standard implementation of a calling convention object. It can be sub\-classed to generate custom input/output layout.

## Constructor: CallingConvention

Description: Reserved.

## Method: clone
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConvention`


## Method: determineSlotcountAlignment
- parameter: `requestedSlotcount`, type: `int`
- return type: `int`


## Method: format
- parameter: `type`, type: `int`
- return type: `java.lang.String`


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

Description: Format this calling convention as parseable text.
return: parseable calling convention definition

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

Description: Format this calling convention for user display.
return: user\-facing calling convention description

## Method: getAlternateNames
- return type: `java.util.List<java.lang.String>`


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


## Method: getFlags
- return type: `int`


## Method: getIPRDConvention
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.ICallingConvention`


## Method: getIPRDInputPtrEntry
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`


## Method: getIPRDMinimumSlotCount
- return type: `int`


## Method: getIPRDOutputPtrEntry
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`


## Method: getIdentifierKey
- return type: `long`


## Method: getInputSlotCountHint
- return type: `int`


## Method: getInputsGenerator
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConvention.ArgLocationGenerator`


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


## Method: getNames
- return type: `java.util.List<java.lang.String>`


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


## Method: getOutput
- parameter: `ti`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.TypeLayoutInfo`
- parameter: `inputStackSlotCount`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`


## Method: getOutputSlotCountHint
- return type: `int`


## Method: getOutputsGenerator
- parameter: `inputStackSlotCount`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConvention.RetLocationGenerator`


## Method: getPrimaryProcessorType
- return type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`

Description: Get the first processor type associated with this convention.
return: primary processor type, or null if none is defined

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


## Method: getPureSpoiledRegisters
- return type: `java.util.Collection<java.lang.Long>`


## Method: getReturnAddressSlot
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`


## Method: getReturnAddressSlot
- parameter: `inputStackSlotCount`, type: `java.lang.Integer`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`


## Method: getSlotcountAlignmentMap
- return type: `java.util.Map<java.lang.Integer,java.lang.Integer>`


## Method: getSpoiledRegisters
- return type: `java.util.Collection<java.lang.Long>`


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


## Method: hasFlag
- parameter: `f`, type: `int`
- return type: `boolean`


## Method: isCompatibleWith
- parameter: `wantedProcessor`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
- parameter: `wantedSubsystem`, type: `com.pnfsoftware.jeb.core.units.codeobject.SubsystemType`
- parameter: `wantedCompiler`, type: `com.pnfsoftware.jeb.core.units.codeobject.CompilerType`
- return type: `boolean`


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


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


