public static IshtarObject *Exit(CallFrame current, IshtarObject **args) { var exitCode = args[0]; FFI.StaticValidate(current, &exitCode); FFI.StaticTypeOf(current, &exitCode, TYPE_I4); FFI.StaticValidateField(current, &exitCode, "!!value"); VM.halt(IshtarMarshal.ToDotnetInt32(exitCode, current)); return(null); }
public static IshtarObject *SwitchFlag(CallFrame current, IshtarObject **args) { var key = args[0]; var value = args[1]; FFI.StaticValidate(current, &key); FFI.StaticTypeOf(current, &key, TYPE_STRING); FFI.StaticValidate(current, &value); FFI.StaticTypeOf(current, &value, TYPE_BOOLEAN); FFI.StaticValidateField(current, &key, "!!value"); FFI.StaticValidateField(current, &value, "!!value"); var clr_key = IshtarMarshal.ToDotnetString(key, current); var clr_value = IshtarMarshal.ToDotnetBoolean(value, current); VM.Config.Set(clr_key, clr_value); return(null); }