Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }