pub struct FunctionPlan {
pub func: Func,
pub args: Vec<Argument>,
pub integer: Option<IntExpr>,
pub side: Option<TrimSide>,
pub refmod: Option<RefMod>,
pub arity: Option<AbendId>,
pub at: DebugId,
}Expand description
FUNCTION, as the walker evaluates it: each argument in turn, as a comparison evaluates an
operand or expression; then, when the values the arguments give number outside func.arity(),
arity’s abend (lowering leaves arity None where they cannot); then the function, which for
CHAR, INTEGER-OF-DATE, DATE-OF-INTEGER and RANDOM evaluates its first argument again as
integer, and for NATIONAL-OF with two arguments its second; last, on an alphanumeric result,
refmod’s start and length. refmod.check is always false: the walker checks a function’s
reference modification against its result whatever SSRANGE says.
HEX-OF, BIT-OF and BYTE-LENGTH read a Load argument’s bytes as stored, and any other
argument’s value as DISPLAY would hold it. WHEN-COMPILED reads ProgramOptions.when_compiled.
Fields§
§func: Func§args: Vec<Argument>§integer: Option<IntExpr>§side: Option<TrimSide>TRIM’s LEADING or TRAILING.
refmod: Option<RefMod>§arity: Option<AbendId>§at: DebugId