public static int Array_Create(IntPtr ctx) { Type type; int size; if (duk_get_type(ctx, 0, out type)) { if (type != null) { if (DuktapeDLL.duk_is_number(ctx, 1) && duk_get_primitive(ctx, 1, out size)) { var o = Array.CreateInstance(type, size); duk_push_classvalue(ctx, o); return(1); } else { return(DuktapeDLL.duk_generic_error(ctx, "invalid size")); } } else { return(DuktapeDLL.duk_generic_error(ctx, "invalid type")); } } return(DuktapeDLL.duk_generic_error(ctx, "invalid args")); }
public static int SetTimeout(IntPtr ctx) { DuktapeFunction fn; var idx = _GetTimerFunction(ctx, out fn); if (idx < 0) { var id = DuktapeRunner.SetTimeout(fn, DuktapeDLL.duk_get_int(ctx, 1)); DuktapeDLL.duk_push_uint(ctx, id); return(1); } return(DuktapeDLL.duk_generic_error(ctx, "invalid arg " + idx)); }
public static int duk_assert(IntPtr ctx) { if (!DuktapeDLL.duk_get_boolean(ctx, 0)) { var msg = string.Empty; if (DuktapeDLL.duk_get_top(ctx) > 1) { msg = duk_print_string(ctx, 1, false); } return(DuktapeDLL.duk_generic_error(ctx, "assertion failed: " + msg)); } return(0); }
protected static int object_private_ctor(IntPtr ctx) { return(DuktapeDLL.duk_generic_error(ctx, "cant call constructor on this type")); }