Exemple #1
0
void Class::init(STATE) {
    uint32_t id = state->shared().inc_class_count(state);
    origin(state, this);
    data_.f.class_id = id;
    data_.f.serial_id = 1;
    set_packed_size(0);
}
Exemple #2
0
  Object* Class::set_superclass(STATE, Object* obj) {
    if(obj->nil_p()) {
      superclass(state, (Class*)Qnil);
      return Qnil;
    }

    Class* sup;
    if((sup = try_as<Class>(obj)) == 0) {
      return Primitives::failure();
    }

    superclass(state, sup);

    instance_type(state, sup->instance_type());
    set_type_info(sup->type_info());

    packed_ivar_info(state, sup->packed_ivar_info());
    set_packed_size(sup->packed_size());

    MetaClass::attach(state, this, sup->metaclass(state));

    return Qnil;
  }
Exemple #3
0
 void Class::init(int id) {
   class_id_ = id;
   set_packed_size(0);
 }
Exemple #4
0
 void Class::init(uint32_t id) {
   data_.f.class_id = id;
   data_.f.serial_id = 0;
   set_packed_size(0);
 }