static status initialiseWhen(When w, Code cond, Function when_true, Function when_false) { initialiseFunction((Function) w); assign(w, condition, cond); assign(w, then_branch, when_true); assign(w, else_branch, when_false); succeed; }
static status initialiseObtainv(Obtain obt, Any receiver, Name selector, int argc, Any *argv) { assign(obt, receiver, receiver); assign(obt, selector, selector); if ( argc ) assign(obt, arguments, newObjectv(ClassCodeVector, argc, argv)); if ( TheCallbackFunctions.getHostContext ) { Any context = (*TheCallbackFunctions.getHostContext)(receiver); assign(obt, context, context); } return initialiseFunction((Function) obt); }
static status initialiseVar(Var v, Type type, Name name, Any value) { if ( isDefault(type) ) type = TypeUnchecked; if ( isDefault(name) ) /* local var */ name = NIL; assign(v, name, name); assign(v, type, type); assign(v, global_value, value); v->value = value; if ( isObject(value) ) addCodeReference(value); if ( notNil(name) ) { if ( getMemberHashTable(VarTable, name) ) errorPce(v, NAME_redeclaredVar); appendHashTable(VarTable, name, v); protectObject(v); } return initialiseFunction((Function) v); }