static void kMethod_WriteToBuffer(KonohaContext *kctx, kMethod *mtd, KGrowingBuffer *wb) { kParam *pa = Method_param(mtd); Method_WriteAttributeToBuffer(kctx, mtd, wb); KLIB Kwb_printf(kctx, wb, "%s %s.%s%s", TY_t(pa->rtype), TY_t(mtd->typeId), MethodName_t(mtd->mn)); { size_t i; KLIB Kwb_Write(kctx, wb, "(", 1); for(i = 0; i < pa->psize; i++) { if(i > 0) { KLIB Kwb_Write(kctx, wb, ", ", 2); } if(FN_isCOERCION(pa->paramtypeItems[i].fn)) { KLIB Kwb_printf(kctx, wb, "@Coercion "); } KLIB Kwb_printf(kctx, wb, "%s %s", TY_t(pa->paramtypeItems[i].ty), SYM_t(pa->paramtypeItems[i].fn)); } KLIB Kwb_Write(kctx, wb, ")", 1); } }
static void kMethod_WriteToBuffer(KonohaContext *kctx, kMethod *mtd, KBuffer *wb) { kParam *pa = kMethod_GetParam(mtd); Method_WriteAttributeToBuffer(kctx, mtd, wb); KLIB KBuffer_printf(kctx, wb, "%s %s.%s%s", KType_text(pa->rtype), KType_text(mtd->typeId), KMethodName_Fmt2(mtd->mn)); { size_t i; KLIB KBuffer_Write(kctx, wb, "(", 1); for(i = 0; i < pa->psize; i++) { if(i > 0) { KLIB KBuffer_Write(kctx, wb, ", ", 2); } if(KTypeAttr_Is(ReadOnly, pa->paramtypeItems[i].attrTypeId)) { KLIB KBuffer_printf(kctx, wb, "@ReadOnly "); } if(KTypeAttr_Is(Coercion, pa->paramtypeItems[i].attrTypeId)) { KLIB KBuffer_printf(kctx, wb, "@Coercion "); } KLIB KBuffer_printf(kctx, wb, "%s %s", KType_text(pa->paramtypeItems[i].attrTypeId), KSymbol_text(pa->paramtypeItems[i].name)); } KLIB KBuffer_Write(kctx, wb, ")", 1); } }