public Type return_type;
id initWithType Type rt;
deferred int namePartsLength;
void initializeOperators;
top_type
.
protected void binop int op_kind argTypes (Type, Type) (at1, at2) returnType Type rt;
initializeOperators
.
protected void monop int op_kind argType Type at1 returnType Type rt;
initializeOperators
.
public int operator;
BT_*
thing.
public Type arg1;
id initWithOperator int op returnType Type rt argType Type at;
Type arg2;
nil
if this is a monop.
Meta meta;
top_type
.
int namePartsLength;
tom.OutputStream writeFields tom.OutputStream s;
operator
and arg1
.
public Type arg2;
id initWithOperator int op returnType Type rt argTypes (Type, Type) (at1, at2);
int namePartsLength;
tom.OutputStream writeFields tom.OutputStream s;
arg2
.
Extension ext;
tom.MutableArray name_parts;
tom.MutableArray arguments;
arguments
can be
one less than the number of name parts.
tom.MutableDictionary argument_singles;
self
and cmd
.
public ArgumentTuple return_names;
ArgumentSingle
and Variable
objects, or nil
if
not set.
public mutable Expression postcondition;
public mutable Expression precondition;
id init Type t qualifiers int q extension Extension e;
Extension extension;
ext
.
Meta meta;
meta
of the extension ext
.
int namePartsLength;
void addNamePart tom.String n argument: Argument a = nil;
void addArgumentSingle ArgumentSingle a;
void addPrecondition Expression e pre !precondition;
void addPostcondition Expression e pre !postcondition;
void setReturnValueNames ArgumentTuple t;
ArgumentSingle (arg) argumentNamed tom.String name;
Variable localEntityNamed tom.String name;
name
, or nil
otherwise.
tom.Indexed arguments;
tom.Indexed name_parts;
Expression return_value;
return_names
. Do not return a singleton
tuple. The default implementation simply returns nil
.