static KMETHOD PyObject_toInt(KonohaContext *kctx, KonohaStack *sfp) { kPyObject *po = (kPyObject*)sfp[0].asObject; long v = PyInt_AsLong(po->self); if(PyErr_Occurred()) { v = 0; } RETURNi_(v); }
static KMETHOD MethodFunc_invokeAbstractMethod(KonohaContext *kctx, KonohaStack *sfp) { // kMethod *mtd = sfp[K_MTDIDX].mtdNC; // ktype_t rtype = mtd->pa->rtype; // if (rtype != TY_void) { // if (TY_isUnbox(rtype)) { // RETURNi_(0); // } else { // KonohaClass *ct = CT_(rtype); // kObject *nulval = ct->defaultValueAsNull; // RETURN_(nulval); // } // } RETURNi_(0); }
static METHOD Object_hashCode(Ctx *ctx, knh_sfp_t *sfp, long rix) { knh_hashcode_t h = ClassTBL(knh_Object_bcid(sfp[0].o)).cspi->hashCode(ctx, sfp); RETURNi_(h); }
/* float to int */ static KMETHOD Float_toInt(KonohaContext *kctx, KonohaStack *sfp) { RETURNi_((kint_t)sfp[0].floatValue); }