klass 21 ext/dbm/bdbm.c static ScmObj bsddb_allocate(ScmClass *klass, ScmObj initargs); klass 41 ext/dbm/bdbm.c static ScmObj bsddb_allocate(ScmClass *klass, ScmObj initargs) klass 29 ext/digest/md5.c static ScmObj md5_allocate(ScmClass *klass, ScmObj initargs) klass 31 ext/digest/md5.c ScmMd5 *md5 = SCM_ALLOCATE(ScmMd5, klass); klass 32 ext/digest/md5.c SCM_SET_CLASS(md5, klass); klass 29 ext/digest/sha1.c static ScmObj sha1_allocate(ScmClass *klass, ScmObj initargs) klass 31 ext/digest/sha1.c ScmSha1 *sha1 = SCM_ALLOCATE(ScmSha1, klass); klass 32 ext/digest/sha1.c SCM_SET_CLASS(sha1, klass); klass 50 ext/fcntl/fcntl.c static ScmObj flock_allocate(ScmClass *klass, ScmObj initargs); klass 57 ext/fcntl/fcntl.c static ScmObj flock_allocate(ScmClass *klass, ScmObj initargs) klass 270 ext/mt-random/mt-random.c static ScmObj mt_allocate(ScmClass *klass, ScmObj initargs); klass 275 ext/mt-random/mt-random.c static ScmObj mt_allocate(ScmClass *klass, ScmObj initargs) klass 71 ext/net/addr.c static ScmObj sockaddr_allocate(ScmClass *klass, ScmObj initargs) klass 78 ext/net/addr.c ScmObj Scm_MakeSockAddr(ScmClass *klass, struct sockaddr *saddr, int len) klass 83 ext/net/addr.c if (klass == NULL) { klass 86 ext/net/addr.c klass = SCM_CLASS_SOCKADDR_UN; klass 89 ext/net/addr.c klass = SCM_CLASS_SOCKADDR_IN; klass 93 ext/net/addr.c klass = SCM_CLASS_SOCKADDR_IN6; klass 101 ext/net/addr.c SCM_SET_CLASS(addr, klass); klass 113 ext/net/addr.c static ScmObj sockaddr_un_allocate(ScmClass *klass, ScmObj initargs); klass 118 ext/net/addr.c static ScmObj sockaddr_un_allocate(ScmClass *klass, ScmObj initargs) klass 148 ext/net/addr.c static ScmObj sockaddr_in_allocate(ScmClass *klass, ScmObj initargs); klass 153 ext/net/addr.c static ScmObj sockaddr_in_allocate(ScmClass *klass, ScmObj initargs) klass 209 ext/net/addr.c static ScmObj sockaddr_in6_allocate(ScmClass *klass, ScmObj initargs); klass 214 ext/net/addr.c static ScmObj sockaddr_in6_allocate(ScmClass *klass, ScmObj initargs) klass 94 ext/net/gauche/net.h ScmObj Scm_MakeSockAddr(ScmClass *klass, struct sockaddr *addr, int len); klass 483 ext/net/netdb.c ScmObj addrinfo_allocate(ScmClass *klass, ScmObj initargs) klass 485 ext/net/netdb.c ScmSysAddrinfo *info = SCM_ALLOCATE(ScmSysAddrinfo, klass); klass 486 ext/net/netdb.c SCM_SET_CLASS(info, klass); klass 1210 ext/net/netlib.c extern ScmObj addrinfo_allocate(ScmClass *klass, ScmObj initargs); klass 46 ext/termios/termios.c static ScmObj termios_allocate(ScmClass *klass, ScmObj initargs); klass 53 ext/termios/termios.c static ScmObj termios_allocate(ScmClass *klass, ScmObj initargs) klass 46 ext/threads/mutex.c static ScmObj mutex_allocate(ScmClass *klass, ScmObj initargs); klass 66 ext/threads/mutex.c static ScmObj mutex_allocate(ScmClass *klass, ScmObj initargs) klass 68 ext/threads/mutex.c ScmMutex *mutex = SCM_ALLOCATE(ScmMutex, klass); klass 69 ext/threads/mutex.c SCM_SET_CLASS(mutex, klass); klass 264 ext/threads/mutex.c static ScmObj cv_allocate(ScmClass *klass, ScmObj initargs); klass 279 ext/threads/mutex.c static ScmObj cv_allocate(ScmClass *klass, ScmObj initargs) klass 281 ext/threads/mutex.c ScmConditionVariable *cv = SCM_ALLOCATE(ScmConditionVariable, klass); klass 282 ext/threads/mutex.c SCM_SET_CLASS(cv, klass); klass 621 ext/threads/thrlib.c static ScmObj thread_exception_allocate(ScmClass *klass, ScmObj initargs) klass 623 ext/threads/thrlib.c ScmThreadException *e = SCM_ALLOCATE(ScmThreadException, klass); klass 624 ext/threads/thrlib.c SCM_SET_CLASS(e, klass); klass 72 ext/uvector/gauche/uvector.h extern int Scm_UVectorElementSize(ScmClass *klass); klass 73 ext/uvector/gauche/uvector.h extern ScmObj Scm_MakeUVector(ScmClass *klass, int size, void *init); klass 74 ext/uvector/gauche/uvector.h extern ScmObj Scm_MakeUVectorFull(ScmClass *klass, int size, void *init, klass 77 ext/uvector/gauche/uvector.h extern ScmObj Scm_UVectorAlias(ScmClass *klass, ScmUVector *v, klass 60 ext/uvector/uvector.c static int uvector_index(ScmClass *klass) klass 62 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_S8VECTOR)) return 0; klass 63 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_U8VECTOR)) return 1; klass 64 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_S16VECTOR)) return 2; klass 65 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_U16VECTOR)) return 3; klass 66 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_S32VECTOR)) return 4; klass 67 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_U32VECTOR)) return 5; klass 68 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_S64VECTOR)) return 6; klass 69 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_U64VECTOR)) return 7; klass 70 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_F32VECTOR)) return 8; klass 71 ext/uvector/uvector.c if (SCM_EQ(klass, SCM_CLASS_F64VECTOR)) return 9; klass 76 ext/uvector/uvector.c int Scm_UVectorElementSize(ScmClass *klass) klass 80 ext/uvector/uvector.c int ind = uvector_index(klass); klass 86 ext/uvector/uvector.c ScmObj Scm_MakeUVectorFull(ScmClass *klass, int size, void *init, int immutable, void *owner) klass 89 ext/uvector/uvector.c int eltsize = Scm_UVectorElementSize(klass); klass 92 ext/uvector/uvector.c SCM_SET_CLASS(vec, klass); klass 104 ext/uvector/uvector.c ScmObj Scm_MakeUVector(ScmClass *klass, int size, void *init) klass 106 ext/uvector/uvector.c return Scm_MakeUVectorFull(klass, size, init, FALSE, NULL); klass 112 ext/uvector/uvector.c ScmObj Scm_UVectorAlias(ScmClass *klass, ScmUVector *v, int start, int end) klass 117 ext/uvector/uvector.c reqalign = Scm_UVectorElementSize(klass); klass 121 ext/uvector/uvector.c klass); klass 125 ext/uvector/uvector.c Scm_ClassOf(SCM_OBJ(v)), start, end, klass); klass 129 ext/uvector/uvector.c SCM_RETURN(Scm_MakeUVectorFull(klass, klass 8866 ext/uvector/uvlib.c ScmClass* klass; klass 8879 ext/uvector/uvlib.c klass = SCM_CLASS(klass_scm); klass 8900 ext/uvector/uvlib.c SCM_RESULT = Scm_UVectorAlias(klass, v, start, end); klass 9065 ext/uvector/uvlib.c static ScmObj string_to_bytevector(ScmClass *klass, ScmString *s, int start, int end) klass 9076 ext/uvector/uvlib.c return Scm_MakeUVectorFull(klass, ep-sp, buf, FALSE, NULL); klass 9349 ext/uvector/uvlib.c static ScmObj string_to_wordvector(ScmClass *klass, ScmString *s, int start, int end) klass 9359 ext/uvector/uvlib.c v = Scm_MakeUVector(klass, end - start, NULL); klass 45 ext/vport/vport.c static ScmObj vport_allocate(ScmClass *klass, ScmObj initargs); klass 358 ext/vport/vport.c static ScmObj vport_allocate(ScmClass *klass, ScmObj initargs) klass 388 ext/vport/vport.c if (Scm_SubtypeP(klass, SCM_CLASS_VIRTUAL_INPUT_PORT)) { klass 390 ext/vport/vport.c } else if (Scm_SubtypeP(klass, SCM_CLASS_VIRTUAL_OUTPUT_PORT)) { klass 395 ext/vport/vport.c port = Scm_MakeVirtualPort(klass, dir, &vtab); klass 480 ext/vport/vport.c static ScmObj bport_allocate(ScmClass *klass, ScmObj initargs); klass 611 ext/vport/vport.c static ScmObj bport_allocate(ScmClass *klass, ScmObj initargs) klass 646 ext/vport/vport.c if (Scm_SubtypeP(klass, SCM_CLASS_BUFFERED_INPUT_PORT)) { klass 648 ext/vport/vport.c } else if (Scm_SubtypeP(klass, SCM_CLASS_BUFFERED_OUTPUT_PORT)) { klass 653 ext/vport/vport.c port = Scm_MakeBufferedPort(klass, SCM_FALSE, dir, TRUE, &buf); klass 54 src/class.c static ScmObj class_allocate(ScmClass *klass, ScmObj initargs); klass 55 src/class.c static ScmObj generic_allocate(ScmClass *klass, ScmObj initargs); klass 56 src/class.c static ScmObj method_allocate(ScmClass *klass, ScmObj initargs); klass 57 src/class.c static ScmObj slot_accessor_allocate(ScmClass *klass, ScmObj initargs); klass 58 src/class.c static void initialize_builtin_cpl(ScmClass *klass, ScmObj supers); klass 225 src/class.c ScmObj Scm__InternalClassName(ScmClass *klass) klass 227 src/class.c ScmObj name = klass->name; klass 365 src/class.c static ScmObj class_allocate(ScmClass *klass, ScmObj initargs) klass 367 src/class.c ScmClass *instance = SCM_ALLOCATE(ScmClass, klass); klass 368 src/class.c SCM_SET_CLASS(instance, klass); klass 465 src/class.c ScmClass *Scm_BaseClassOf(ScmClass *klass) klass 467 src/class.c ScmClass **cp = klass->cpa; klass 505 src/class.c ScmObj Scm_VMIsA(ScmObj obj, ScmClass *klass) klass 511 src/class.c data[1] = klass; klass 515 src/class.c return SCM_MAKE_BOOL(Scm_TypeP(obj, klass)); klass 523 src/class.c static ScmObj class_name(ScmClass *klass) klass 525 src/class.c return klass->name; klass 528 src/class.c static void class_name_set(ScmClass *klass, ScmObj val) klass 530 src/class.c klass->name = val; klass 533 src/class.c static ScmObj class_cpl(ScmClass *klass) klass 535 src/class.c return klass->cpl; klass 538 src/class.c static void class_cpl_set(ScmClass *klass, ScmObj val) klass 547 src/class.c if (SCM_CAR(val) != SCM_OBJ(klass)) goto err; klass 552 src/class.c klass->cpa = class_list_to_array(cp, len); klass 553 src/class.c if (klass->cpa[len-1] != SCM_CLASS_TOP) goto err; klass 554 src/class.c klass->cpl = Scm_CopyList(val); klass 556 src/class.c klass->allocate = NULL; klass 557 src/class.c for (p = klass->cpa; *p; p++) { klass 560 src/class.c if (klass->allocate && klass->allocate != (*p)->allocate) { klass 563 src/class.c klass->allocate = (*p)->allocate; klass 564 src/class.c klass->coreSize = (*p)->coreSize; klass 576 src/class.c if (!klass->allocate) { klass 577 src/class.c klass->allocate = Scm_ObjectAllocate; /* default */ klass 578 src/class.c klass->coreSize = sizeof(ScmInstance); klass 581 src/class.c klass->flags |= SCM_CLASS_APPLICABLE; klass 590 src/class.c static ScmObj class_direct_supers(ScmClass *klass) klass 592 src/class.c return klass->directSupers; klass 595 src/class.c static void class_direct_supers_set(ScmClass *klass, ScmObj val) klass 603 src/class.c klass->directSupers = val; klass 606 src/class.c static ScmObj class_direct_slots(ScmClass *klass) klass 608 src/class.c return klass->directSlots; klass 611 src/class.c static void class_direct_slots_set(ScmClass *klass, ScmObj val) klass 619 src/class.c klass->directSlots = val; klass 622 src/class.c static ScmObj class_slots_ref(ScmClass *klass) klass 624 src/class.c return klass->slots; klass 627 src/class.c static void class_slots_set(ScmClass *klass, ScmObj val) klass 635 src/class.c klass->slots = val; klass 638 src/class.c static ScmObj class_accessors(ScmClass *klass) klass 640 src/class.c return klass->accessors; klass 643 src/class.c static void class_accessors_set(ScmClass *klass, ScmObj val) klass 652 src/class.c klass->accessors = val; klass 655 src/class.c static ScmObj class_numislots(ScmClass *klass) klass 657 src/class.c return Scm_MakeInteger(klass->numInstanceSlots); klass 660 src/class.c static void class_numislots_set(ScmClass *klass, ScmObj snf) klass 667 src/class.c klass->numInstanceSlots = nf; klass 670 src/class.c static ScmObj class_category(ScmClass *klass) klass 672 src/class.c switch (SCM_CLASS_CATEGORY(klass)) { klass 680 src/class.c static ScmObj class_initargs(ScmClass *klass) klass 682 src/class.c return klass->initargs; klass 685 src/class.c static void class_initargs_set(ScmClass *klass, ScmObj val) klass 691 src/class.c klass->initargs = val; klass 694 src/class.c static ScmObj class_defined_modules(ScmClass *klass) klass 696 src/class.c return klass->modules; klass 699 src/class.c static void class_defined_modules_set(ScmClass *klass, ScmObj val) klass 706 src/class.c klass->modules = val; klass 715 src/class.c static ScmObj class_direct_subclasses(ScmClass *klass) klass 717 src/class.c return klass->directSubclasses; klass 720 src/class.c static ScmObj class_direct_methods(ScmClass *klass) klass 722 src/class.c return klass->directMethods; klass 725 src/class.c static ScmObj class_redefined(ScmClass *klass) klass 731 src/class.c (void)SCM_INTERNAL_MUTEX_LOCK(klass->mutex); klass 732 src/class.c while (SCM_VMP(klass->redefined)) { klass 733 src/class.c if (SCM_VM(klass->redefined)->state == SCM_VM_TERMINATED) { klass 738 src/class.c klass->redefined = SCM_FALSE; klass 740 src/class.c (void)SCM_INTERNAL_COND_WAIT(klass->cv, klass->mutex); klass 743 src/class.c r = klass->redefined; klass 744 src/class.c (void)SCM_INTERNAL_MUTEX_UNLOCK(klass->mutex); klass 746 src/class.c Scm_Warn("redefinition of class %S has been abandoned", klass); klass 830 src/class.c ScmObj Scm_ComputeCPL(ScmClass *klass) klass 835 src/class.c ds = Scm_Delete(SCM_OBJ(SCM_CLASS_OBJECT), klass->directSupers, klass 840 src/class.c SCM_FOR_EACH(dp, klass->directSupers) { klass 843 src/class.c klass->directSupers); klass 853 src/class.c result = Scm_MonotonicMerge(SCM_OBJ(klass), seqh); klass 856 src/class.c klass->directSupers); klass 901 src/class.c void Scm_StartClassRedefinition(ScmClass *klass) klass 906 src/class.c if (SCM_CLASS_CATEGORY(klass) != SCM_CLASS_SCHEME) { klass 907 src/class.c Scm_Error("cannot redefine class %S, which is not a Scheme-defined class", klass); klass 915 src/class.c (void)SCM_INTERNAL_MUTEX_LOCK(klass->mutex); klass 916 src/class.c if (SCM_FALSEP(klass->redefined)) { klass 917 src/class.c klass->redefined = SCM_OBJ(vm); klass 920 src/class.c (void)SCM_INTERNAL_MUTEX_UNLOCK(klass->mutex); klass 924 src/class.c Scm_Error("class %S seems abandoned during class redefinition", klass); klass 929 src/class.c void Scm_CommitClassRedefinition(ScmClass *klass, ScmObj newklass) klass 933 src/class.c if (SCM_CLASS_CATEGORY(klass) != SCM_CLASS_SCHEME) return; klass 946 src/class.c (void)SCM_INTERNAL_MUTEX_LOCK(klass->mutex); klass 947 src/class.c if (SCM_EQ(klass->redefined, SCM_OBJ(vm))) { klass 948 src/class.c klass->redefined = newklass; klass 949 src/class.c (void)SCM_INTERNAL_COND_BROADCAST(klass->cv); klass 951 src/class.c (void)SCM_INTERNAL_MUTEX_UNLOCK(klass->mutex); klass 975 src/class.c void Scm_ReplaceClassBinding(ScmClass *klass, ScmClass *newklass) klass 978 src/class.c if (!SCM_SYMBOLP(klass->name)) return; klass 979 src/class.c SCM_FOR_EACH(cp, klass->modules) { klass 982 src/class.c SCM_SYMBOL(klass->name), klass 1073 src/class.c ScmClass *klass = Scm_ClassOf(obj); klass 1074 src/class.c if (!SCM_FALSEP(klass->redefined)) { klass 1075 src/class.c return instance_class_redefinition(obj, klass); klass 1105 src/class.c ScmObj Scm_AllocateInstance(ScmClass *klass, int coresize) klass 1111 src/class.c if (SCM_CLASS_CATEGORY(klass) == SCM_CLASS_BASE klass 1112 src/class.c || SCM_CLASS_CATEGORY(klass) == SCM_CLASS_SCHEME) { klass 1113 src/class.c slots = SCM_NEW_ARRAY(ScmObj, klass->numInstanceSlots); klass 1119 src/class.c if (coresize != klass->coreSize) { klass 1120 src/class.c Scm_Printf(SCM_CURERR, "WARNING: allocating instance of class %S: coresize argument %d doesn't match the class definition's (%d)\n", klass, coresize, klass->coreSize); klass 1123 src/class.c for (i=0; i<klass->numInstanceSlots; i++) { klass 1221 src/class.c #define SLOT_UNBOUND(klass, obj, slot) \ klass 1223 src/class.c SCM_LIST3(SCM_OBJ(klass), obj, slot)) klass 1225 src/class.c #define SLOT_MISSING3(klass, obj, slot) \ klass 1227 src/class.c SCM_LIST3(SCM_OBJ(klass), obj, slot)) klass 1229 src/class.c #define SLOT_MISSING4(klass, obj, slot, val) \ klass 1231 src/class.c SCM_LIST4(SCM_OBJ(klass), obj, slot, val)) klass 1239 src/class.c inline ScmSlotAccessor *Scm_GetSlotAccessor(ScmClass *klass, ScmObj slot) klass 1241 src/class.c ScmObj p = Scm_Assq(slot, klass->accessors); klass 1245 src/class.c SCM_OBJ(klass), slot); klass 1332 src/class.c ScmClass *klass = Scm_ClassOf(obj); klass 1336 src/class.c if (!SCM_FALSEP(klass->redefined)) { klass 1341 src/class.c return instance_class_redefinition(obj, klass); klass 1343 src/class.c sa = Scm_GetSlotAccessor(klass, slot); klass 1344 src/class.c if (sa == NULL) return SLOT_MISSING3(klass, obj, slot); klass 1368 src/class.c ScmClass *klass = Scm_ClassOf(obj); klass 1369 src/class.c if (klass != sa->klass) { klass 1374 src/class.c if (!SCM_FALSEP(klass->redefined)) { klass 1380 src/class.c return instance_class_redefinition(obj, klass); klass 1403 src/class.c ScmClass *klass = SCM_CLASS(args[0]); klass 1408 src/class.c if (!SCM_EQ(SCM_OBJ(klass), SCM_OBJ(Scm_ClassOf(obj)))) { klass 1409 src/class.c Scm_Error("slot-ref-using-class: class %S is not the class of object %S", klass, obj); klass 1411 src/class.c sa = Scm_GetSlotAccessor(klass, slot); klass 1412 src/class.c if (sa == NULL) return SLOT_MISSING3(klass, obj, slot); klass 1464 src/class.c ScmClass *klass = Scm_ClassOf(obj); klass 1467 src/class.c if (!SCM_FALSEP(klass->redefined)) { klass 1472 src/class.c return instance_class_redefinition(obj, klass); klass 1474 src/class.c sa = Scm_GetSlotAccessor(klass, slot); klass 1475 src/class.c if (sa == NULL) return SLOT_MISSING4(klass, obj, slot, val); klass 1499 src/class.c ScmClass *klass = Scm_ClassOf(obj); klass 1500 src/class.c if (klass != sa->klass) { klass 1505 src/class.c if (!SCM_FALSEP(klass->redefined)) { klass 1511 src/class.c return instance_class_redefinition(obj, klass); klass 1534 src/class.c ScmClass *klass = SCM_CLASS(args[0]); klass 1540 src/class.c if (!SCM_EQ(SCM_OBJ(klass), SCM_OBJ(Scm_ClassOf(obj)))) { klass 1541 src/class.c Scm_Error("slot-ref-using-class: class %S is not the class of object %S", klass, obj); klass 1543 src/class.c sa = Scm_GetSlotAccessor(klass, slot); klass 1544 src/class.c if (sa == NULL) return SLOT_MISSING4(klass, obj, slot, val); klass 1574 src/class.c ScmClass *klass = Scm_ClassOf(obj); klass 1577 src/class.c if (!SCM_FALSEP(klass->redefined)) { klass 1584 src/class.c SCM_LIST3(SCM_OBJ(klass), obj, slot)); klass 1603 src/class.c ScmClass *klass = SCM_CLASS(args[0]); klass 1608 src/class.c if (!SCM_EQ(SCM_OBJ(klass), SCM_OBJ(Scm_ClassOf(obj)))) { klass 1609 src/class.c Scm_Error("slot-bound-using-class?: class %S is not the class of object %S", klass, obj); klass 1611 src/class.c sa = Scm_GetSlotAccessor(klass, slot); klass 1612 src/class.c if (sa == NULL) return SLOT_MISSING3(klass, obj, slot); klass 1636 src/class.c ScmClass *klass; klass 1643 src/class.c klass = Scm_ClassOf(instance); klass 1644 src/class.c SCM_FOR_EACH(ap, klass->accessors) { klass 1661 src/class.c static ScmObj slot_accessor_allocate(ScmClass *klass, ScmObj initargs) klass 1665 src/class.c SCM_SET_CLASS(sa, klass); klass 1685 src/class.c (sa->klass? sa->klass->name : SCM_FALSE), klass 1699 src/class.c return SCM_OBJ(sa->klass); klass 1707 src/class.c sa->klass = SCM_CLASS(v); klass 1810 src/class.c ScmObj Scm_ObjectAllocate(ScmClass *klass, ScmObj initargs) klass 1812 src/class.c ScmObj obj = Scm_AllocateInstance(klass, sizeof(ScmInstance)); klass 1813 src/class.c SCM_SET_CLASS(obj, klass); klass 1908 src/class.c static ScmObj generic_allocate(ScmClass *klass, ScmObj initargs) klass 1910 src/class.c ScmGeneric *instance = SCM_ALLOCATE(ScmGeneric, klass); klass 1911 src/class.c SCM_SET_CLASS(instance, klass); klass 2138 src/class.c static ScmObj method_allocate(ScmClass *klass, ScmObj initargs) klass 2140 src/class.c ScmMethod *instance = SCM_ALLOCATE(ScmMethod, klass); klass 2141 src/class.c SCM_SET_CLASS(instance, klass); klass 2476 src/class.c if (!SCM_EQ(Scm_ClassOf(obj), ca->klass)) { klass 2491 src/class.c if (!SCM_EQ(Scm_ClassOf(obj), ca->klass)) { klass 2598 src/class.c static ScmForeignPointer *make_foreign_int(ScmClass *klass, void *ptr, klass 2603 src/class.c SCM_SET_CLASS(obj, klass); klass 2612 src/class.c ScmObj Scm_MakeForeignPointer(ScmClass *klass, void *ptr) klass 2615 src/class.c struct foreign_data_rec *data = (struct foreign_data_rec *)klass->data; klass 2617 src/class.c if (!klass) { /* for extra safety */ klass 2620 src/class.c if (!Scm_SubtypeP(klass, SCM_CLASS_FOREIGN_POINTER)) { klass 2621 src/class.c Scm_Error("attempt to instantiate non-foreign-pointer class %S via Scm_MakeForeignPointer", klass); klass 2632 src/class.c obj = make_foreign_int(klass, ptr, data); klass 2638 src/class.c obj = make_foreign_int(klass, ptr, data); klass 2642 src/class.c obj = make_foreign_int(klass, ptr, data); klass 2747 src/class.c static void initialize_builtin_cpl(ScmClass *klass, ScmObj supers) klass 2752 src/class.c SCM_APPEND1(h, t, SCM_OBJ(klass)); klass 2753 src/class.c for (p = klass->cpa; *p; p++) SCM_APPEND1(h, t, SCM_OBJ(*p)); klass 2754 src/class.c klass->cpl = h; klass 2758 src/class.c SCM_FOR_EACH(cp, klass->cpl) { klass 2768 src/class.c if (SCM_STRINGP(klass->name)) { klass 2769 src/class.c cname = Scm_GetStringConst(SCM_STRING(klass->name)); klass 2773 src/class.c klass->directSupers = supers; klass 2776 src/class.c klass->directSupers = SCM_LIST1(SCM_CADR(h)); klass 2779 src/class.c klass->directSupers = SCM_NIL; klass 2786 src/class.c static void init_class(ScmClass *klass, klass 2798 src/class.c klass->name = SCM_INTERN(name); klass 2801 src/class.c if (klass->cpa == NULL) { klass 2802 src/class.c klass->cpa = SCM_CLASS_DEFAULT_CPL; klass 2804 src/class.c initialize_builtin_cpl(klass, supers); klass 2807 src/class.c Scm_Define(mod, SCM_SYMBOL(klass->name), SCM_OBJ(klass)); klass 2813 src/class.c specs->accessor.klass = klass; klass 2824 src/class.c klass->directSlots = slots; klass 2827 src/class.c for (super = klass->cpa; *super; super++) { klass 2842 src/class.c klass->slots = slots; klass 2843 src/class.c klass->accessors = acc; klass 2851 src/class.c void Scm_InitStaticClass(ScmClass *klass, klass 2857 src/class.c init_class(klass, name, mod, SCM_FALSE, specs, flags); klass 2861 src/class.c void Scm_InitStaticClassWithSupers(ScmClass *klass, klass 2868 src/class.c init_class(klass, name, mod, supers, specs, flags); klass 2880 src/class.c void Scm_InitStaticClassWithMeta(ScmClass *klass, klass 2888 src/class.c init_class(klass, name, mod, supers, specs, flags); klass 2891 src/class.c SCM_SET_CLASS(klass, meta); klass 2906 src/class.c SCM_SET_CLASS(klass, make_implicit_meta(metaname, klass->cpa, mod)); klass 2912 src/class.c void Scm_InitBuiltinClass(ScmClass *klass, const char *name, klass 2917 src/class.c Scm_InitStaticClassWithMeta(klass, name, mod, NULL, SCM_FALSE, specs, 0); klass 2919 src/class.c Scm_InitStaticClass(klass, name, mod, specs, 0); klass 47 src/error.c static ScmObj message_allocate(ScmClass *klass, ScmObj initargs); klass 48 src/error.c static ScmObj syserror_allocate(ScmClass *klass, ScmObj initargs); klass 49 src/error.c static ScmObj readerror_allocate(ScmClass *klass, ScmObj initargs); klass 50 src/error.c static ScmObj porterror_allocate(ScmClass *klass, ScmObj initargs); klass 51 src/error.c static ScmObj compound_allocate(ScmClass *klass, ScmObj initargs); klass 95 src/error.c static ScmObj message_allocate(ScmClass *klass, ScmObj initargs) klass 97 src/error.c ScmError *e = SCM_ALLOCATE(ScmError, klass); klass 98 src/error.c SCM_SET_CLASS(e, klass); klass 163 src/error.c static ScmObj syserror_allocate(ScmClass *klass, ScmObj initargs) klass 165 src/error.c ScmSystemError *e = SCM_ALLOCATE(ScmSystemError, klass); klass 166 src/error.c SCM_SET_CLASS(e, klass); klass 172 src/error.c static ScmObj readerror_allocate(ScmClass *klass, ScmObj initargs) klass 174 src/error.c ScmReadError *e = SCM_ALLOCATE(ScmReadError, klass); klass 175 src/error.c SCM_SET_CLASS(e, klass); klass 182 src/error.c static ScmObj porterror_allocate(ScmClass *klass, ScmObj initargs) klass 184 src/error.c ScmPortError *e = SCM_ALLOCATE(ScmPortError, klass); klass 185 src/error.c SCM_SET_CLASS(e, klass); klass 297 src/error.c static ScmObj compound_allocate(ScmClass *klass, ScmObj initargs) klass 299 src/error.c ScmCompoundCondition *e = SCM_ALLOCATE(ScmCompoundCondition, klass); klass 300 src/error.c SCM_SET_CLASS(e, klass); klass 380 src/error.c ScmObj Scm_MakeThreadException(ScmClass *klass, ScmVM *thread) klass 383 src/error.c SCM_SET_CLASS(e, klass); klass 297 src/gauche.h #define SCM_CLASS_DECL(klass) extern ScmClass klass klass 298 src/gauche.h #define SCM_CLASS_STATIC_PTR(klass) (&klass) klass 299 src/gauche.h #define SCM_CLASS2TAG(klass) ((ScmByte*)(klass) + 3) klass 315 src/gauche.h #define SCM_XTYPEP(obj, klass) \ klass 316 src/gauche.h (SCM_PTRP(obj)&&(SCM_OBJ(obj)->tag == SCM_CLASS2TAG(klass))) klass 319 src/gauche.h #define SCM_ISA(obj, klass) (SCM_XTYPEP(obj,klass)||Scm_TypeP(SCM_OBJ(obj),klass)) klass 451 src/gauche.h typedef ScmObj (*ScmClassAllocateProc)(ScmClass *klass, ScmObj initargs); klass 544 src/gauche.h SCM_EXTERN void Scm_InitStaticClass(ScmClass *klass, const char *name, klass 548 src/gauche.h SCM_EXTERN void Scm_InitStaticClassWithSupers(ScmClass *klass, klass 554 src/gauche.h SCM_EXTERN void Scm_InitStaticClassWithMeta(ScmClass *klass, klass 571 src/gauche.h SCM_EXTERN ScmClass *Scm_BaseClassOf(ScmClass *klass); klass 692 src/gauche.h SCM_EXTERN ScmObj Scm_MakeForeignPointer(ScmClass *klass, void *ptr); klass 1484 src/gauche.h SCM_EXTERN ScmObj Scm_MakeVirtualPort(ScmClass *klass, klass 1487 src/gauche.h SCM_EXTERN ScmObj Scm_MakeBufferedPort(ScmClass *klass, klass 1751 src/gauche.h SCM_EXTERN ScmObj Scm_MakeHashTableFull(ScmClass *klass, klass 2260 src/gauche.h #define SCM__PROCEDURE_INITIALIZER(klass, req, opt, typ, inf, inl) \ klass 2261 src/gauche.h { { klass }, (req), (opt), (typ), FALSE, (inf), SCM_FALSE, (inl) } klass 47 src/gauche/class.h ScmClass *klass; /* the class this accessor belongs to. klass 105 src/gauche/class.h #define SCM_ALLOCATE(klassname, klass) \ klass 106 src/gauche/class.h ((klassname*)Scm_AllocateInstance(klass, sizeof(klassname))) klass 110 src/gauche/class.h SCM_EXTERN ScmObj Scm_ObjectAllocate(ScmClass *klass, ScmObj initargs); klass 111 src/gauche/class.h SCM_EXTERN ScmObj Scm_AllocateInstance(ScmClass *klass, int coresize); klass 112 src/gauche/class.h SCM_EXTERN ScmObj Scm_ComputeCPL(ScmClass *klass); klass 133 src/gauche/class.h SCM_EXTERN ScmObj Scm_VMIsA(ScmObj obj, ScmClass *klass); klass 138 src/gauche/class.h SCM_EXTERN void Scm_StartClassRedefinition(ScmClass *klass); klass 139 src/gauche/class.h SCM_EXTERN void Scm_CommitClassRedefinition(ScmClass *klass, ScmObj newk); klass 141 src/gauche/class.h SCM_EXTERN void Scm_ReplaceClassBinding(ScmClass *klass, ScmClass *newk); klass 152 src/gauche/class.h SCM_EXTERN ScmObj Scm__InternalClassName(ScmClass *klass); klass 512 src/hash.c static ScmObj make_hash_table(ScmClass *klass, klass 529 src/hash.c SCM_SET_CLASS(z, klass); klass 581 src/hash.c ScmObj Scm_MakeHashTableFull(ScmClass *klass, int type, ScmHashProc hashfn, klass 584 src/hash.c if (!SCM_EQ(klass, SCM_CLASS_HASH_TABLE)) { klass 585 src/hash.c if (!Scm_SubtypeP(klass, SCM_CLASS_HASH_TABLE)) { klass 586 src/hash.c Scm_Error("[internal error]: non-hash-table class is given to Scm_MakeHashTableFull: %S", klass); klass 593 src/hash.c return make_hash_table(klass, type, general_access, hashfn, klass 338 src/moplib.c ScmClass* klass; klass 344 src/moplib.c klass = SCM_CLASS(klass_scm); klass 348 src/moplib.c SCM_RESULT = Scm_VMIsA(obj, klass); klass 121 src/port.c static ScmPort *make_port(ScmClass *klass, int dir, int type) klass 125 src/port.c port = SCM_ALLOCATE(ScmPort, klass); klass 126 src/port.c SCM_SET_CLASS(port, klass); klass 435 src/port.c ScmObj Scm_MakeBufferedPort(ScmClass *klass, klass 447 src/port.c p = make_port(klass, dir, SCM_PORT_FILE); klass 1013 src/port.c ScmObj Scm_MakeVirtualPort(ScmClass *klass, int direction, klass 1016 src/port.c ScmPort *p = make_port(klass, direction, SCM_PORT_PROC); klass 317 src/signal.c static ScmObj sigset_allocate(ScmClass *klass, ScmObj initargs); klass 329 src/signal.c ScmObj sigset_allocate(ScmClass *klass, ScmObj initargs) klass 331 src/signal.c ScmSysSigset *s = SCM_ALLOCATE(ScmSysSigset, klass); klass 332 src/signal.c SCM_SET_CLASS(s, klass); klass 615 src/system.c static ScmObj stat_allocate(ScmClass *klass, ScmObj initargs) klass 617 src/system.c ScmSysStat *s = SCM_ALLOCATE(ScmSysStat, klass); klass 700 src/system.c static ScmObj time_allocate(ScmClass *klass, ScmObj initargs) klass 702 src/system.c ScmTime *t = SCM_ALLOCATE(ScmTime, klass); klass 914 src/system.c static ScmObj tm_allocate(ScmClass *klass, ScmObj initargs) klass 916 src/system.c ScmSysTm *st = SCM_ALLOCATE(ScmSysTm, klass); klass 1297 src/system.c static ScmObj fdset_allocate(ScmClass *klass, ScmObj initargs) klass 1299 src/system.c ScmSysFdset *set = SCM_ALLOCATE(ScmSysFdset, klass); klass 289 src/write.c ScmClass *klass; klass 294 src/write.c klass = Scm_ClassOf(args[0]); klass 295 src/write.c Scm_Printf(SCM_PORT(args[1]), "#<%A %p>", klass->name, args[0]);