pub struct Calling<'a> {
pub callee: Callee,
pub args: &'a [Passing],
pub returns: &'a [Type],
pub variadic: bool,
}Expand description
One call, as everything about it that is not the function it is being built into.
Fields§
§callee: CalleeWhat it calls.
args: &'a [Passing]What it passes, in the order the signature holds them, which is the order the convention places them in.
returns: &'a [Type]What comes back, which is empty for a call that gives nothing back, one type for a value, and two for a structure small enough to come back in a pair of registers.
A pair is placed here rather than named by a rule for the reason the arguments are: which register each half goes in depends on the halves before it, since the two files are walked separately, and a pattern over a term cannot see them.
variadic: boolWhether the callee takes arguments beyond the ones its signature names, which is what says whether it reads the count of vector registers the call passed arguments in.