Пример #1
0
static KMETHOD KMethodFunc_UnboxPrototypeSetter(KonohaContext *kctx, KonohaStack *sfp)
{
	kMethod *mtd = sfp[K_MTDIDX].calledMethod;
	ksymbol_t key = (ksymbol_t)mtd->delta;
	kParam *pa = kMethod_GetParam(mtd);
	KLIB kObjectProto_SetUnboxValue(kctx, sfp[0].asObject, key, pa->paramtypeItems[0].typeAttr, sfp[1].unboxValue);
	KReturnUnboxValue(sfp[1].unboxValue);
}
Пример #2
0
// @SmartReturn void Object.set(Symbol symbol, Object value)
static KMETHOD Prototype_SetObject(KonohaContext *kctx, KonohaStack *sfp)
{
	ksymbol_t symbol = (ksymbol_t)sfp[1].intValue;
	KClass *c = kObject_class(sfp[2].asObject);
	if(KClass_Is(UnboxType, c)) {
		KLIB kObjectProto_SetUnboxValue(kctx, sfp[0].asObject, symbol, c->typeId, kObject_Unbox(sfp[2].asObject));
	}
	else {
		KLIB kObjectProto_SetObject(kctx, sfp[0].asObject, symbol, c->typeId, sfp[2].asObject);
	}
}
Пример #3
0
static void kUntypedNode_SetLabelBlock(KonohaContext *kctx, kUntypedNode *node, ksymbol_t label, bblock_t labelId)
{
	KLIB kObjectProto_SetUnboxValue(kctx, node, label, KType_Int, labelId);
}
Пример #4
0
static void kNode_SetLabelNode(KonohaContext *kctx, kNode *stmt, ksymbol_t label, bblock_t labelId)
{
	KLIB kObjectProto_SetUnboxValue(kctx, stmt, label, KType_Int, labelId);
}
Пример #5
0
// @SmartReturn void Object.set(Symbol symbol, int value)
static KMETHOD Prototype_SetInt(KonohaContext *kctx, KonohaStack *sfp)
{
	ksymbol_t symbol = (ksymbol_t)sfp[1].intValue;
	KLIB kObjectProto_SetUnboxValue(kctx, sfp[0].asObject, symbol, KType_Int, sfp[2].unboxValue);
}
Пример #6
0
static void kNode_SetLabelBlock(KonohaContext *kctx, kNode *stmt, ksymbol_t label, Block *block)
{
	KLIB kObjectProto_SetUnboxValue(kctx, stmt, label, KType_Int, (uintptr_t) block);
}