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

Builder of [CallingConvention](CallingConvention) objects.

## Constructor: CallingConventionBuilder
- parameter: `name`, type: `java.lang.String`

Description: Create a builder.
parameter: name: calling convention name

## Constructor: CallingConventionBuilder
- parameter: `name`, type: `java.lang.String`
- parameter: `proctype`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`

Description: Create a builder.
parameter: name: calling convention name
parameter: proctype: processor type

## Constructor: CallingConventionBuilder
- parameter: `name`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionName`
- parameter: `proctype`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`

Description: Create a builder.
parameter: name: calling convention name
parameter: proctype: processor type

## Method: addAlignementRequirement
- parameter: `reqSlotcount`, type: `int`
- parameter: `wantedSlotcountAlignment`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add a slot\-count alignment requirement.
parameter: reqSlotcount: required slot count
parameter: wantedSlotcountAlignment: wanted slot\-count alignment
return: this builder

## Method: addAlternateName
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add an alternate name.
parameter: name: alternate name
return: this builder

## Method: addAlternateNames
- parameter: `names`, type: `java.util.Collection<java.lang.String>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add alternate names.
parameter: names: alternate names
return: this builder

## Method: addCompilerType
- parameter: `comptype`, type: `com.pnfsoftware.jeb.core.units.codeobject.CompilerType`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add a compiler type.
parameter: comptype: compiler type
return: this builder

## Method: addFlags
- parameter: `additionalFlags`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add convention flags.
parameter: additionalFlags: flags to add
return: this builder

## Method: addInputFpSlot
- parameter: `entry`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add an input floating\-point slot.
parameter: entry: storage entry
return: this builder

## Method: addInputFpSlots
- parameter: `entries`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add input floating\-point slots.
parameter: entries: storage entries
return: this builder

## Method: addInputRegisterPair
- parameter: `registerPair`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add an input register pair.
parameter: registerPair: must be of REGISTER\_PAIR type
return: this builder

## Method: addInputRegisterPairs
- parameter: `registerPairs`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add input register pairs.
parameter: registerPairs: register\-pair entries
return: this builder

## Method: addInputSlot
- parameter: `entry`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add an input slot.
parameter: entry: storage entry
return: this builder

## Method: addInputSlots
- parameter: `entries`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add input slots.
parameter: entries: storage entries
return: this builder

## Method: addOutputRegisterPair
- parameter: `registerPair`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add an output register pair.
parameter: registerPair: must be of REGISTER\_PAIR type
return: this builder

## Method: addOutputRegisterPairs
- parameter: `registerPairs`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add output register pairs.
parameter: registerPairs: register\-pair entries
return: this builder

## Method: addOutputSlot
- parameter: `entry`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add an output slot.
parameter: entry: storage entry
return: this builder

## Method: addOutputSlots
- parameter: `entries`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add output slots.
parameter: entries: storage entries
return: this builder

## Method: addProcessorType
- parameter: `proctype`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add a processor type.
parameter: proctype: processor type
return: this builder

## Method: addSpoiledRegister
- parameter: `reg`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add a spoiled register.
parameter: reg: register id
return: this builder

## Method: addSpoiledRegisters
- parameter: `regs`, type: `long[]`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add spoiled registers.
parameter: regs: register ids
return: this builder

## Method: addSpoiledRegisters
- parameter: `entries`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add spoiled registers from storage entries.
parameter: entries: storage entries
return: this builder

## Method: addSubsystemType
- parameter: `sstype`, type: `com.pnfsoftware.jeb.core.units.codeobject.SubsystemType`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Add a subsystem type.
parameter: sstype: subsystem type
return: this builder

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

Description: Build the calling convention.
return: calling convention

## Method: duplicate
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Duplicate this builder.
return: duplicated builder

## Method: setAlternateNames
- parameter: `names`, type: `java.util.Collection<java.lang.String>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Set alternate names.
parameter: names: alternate names
return: this builder

## Method: setFlags
- parameter: `flags`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Set convention flags.
parameter: flags: flags
return: this builder

## Method: setIPRD
- parameter: `slotcnt`, type: `int`
- parameter: `inputPtrEntry`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- parameter: `outputPtrEntry`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Set information for Implicit Pointer to Return Data special conventions.
parameter: slotcnt: minimum slot count for which a composite return type must be treated via an            IPRD
parameter: inputPtrEntry: null if the implicit input entry can be discovered as a normal input            entry
parameter: outputPtrEntry: null if the output entry can be discovered as a normal output entry
return: this builder

## Method: setName
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Set the principal name.
parameter: name: calling convention name
return: this builder

## Method: setName
- parameter: `name`, type: `java.lang.String`
- parameter: `clearAlternateNames`, type: `boolean`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Set the principal name.
parameter: name: calling convention name
parameter: clearAlternateNames: if true, clear alternate names
return: this builder

## Method: setNotes
- parameter: `notes`, type: `java.lang.String`

Description: Set implementation notes.
parameter: notes: notes

## Method: setOutputFpSlot
- parameter: `outFpSlot`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Set the output floating\-point slot.
parameter: outFpSlot: output floating\-point slot
return: this builder

## Method: setProcessorTypes
- parameter: `processorTypes`, type: `java.util.Collection<com.pnfsoftware.jeb.core.units.codeobject.ProcessorType>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Set processor types.
parameter: processorTypes: processor types
return: this builder

## Method: setReturnAddressSlot
- parameter: `entry`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.StorageEntry`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CallingConventionBuilder`

Description: Set the return\-address slot.
parameter: entry: storage entry
return: this builder

