4 VXInteger
class_getattributes(VXState
* v
)
6 VXObject
& o
= v
->StackGet(1);
7 VXObject
&key
= v
->StackGet(2);
9 if(o
.Class()->GetAttributes(key
,attrs
))
14 return v
->ThrowError("wrong index");
18 VXInteger
class_setattributes(VXState
* v
)
20 VXObject
& o
= v
->StackGet(1);
21 VXObject
& key
= v
->StackGet(2);
22 VXObject
& val
= v
->StackGet(3);
24 if(key
.Type() == VX_OT_NULL
)
26 attrs
= o
.Class()->_attributes
;
27 o
.Class()->_attributes
= val
;
31 else if(o
.Class()->GetAttributes(key
,attrs
))
33 o
.Class()->SetAttributes(key
, val
);
37 return v
->ThrowError("wrong index");
40 VXInteger
class_instance(VXState
* v
)
42 VXObject
& o
= v
->StackGet(1);
43 v
->Push(o
.Class()->CreateInstance());
47 VXInteger
class_getbase(VXState
* v
)
49 VXObject
& o
= v
->StackGet(1);
52 v
->Push(o
.Class()->_base
);
58 VXInteger
instance_getclass(VXState
* v
)
60 VXObject
& o
= v
->StackGet(1);
61 v
->Push(o
.Instance()->_class
);
66 VXRegFunction
VXSharedState::_class_default_delegate_funcz
[] =
68 {"weakref", obj_delegate_weakref
, 1, NULL
},
69 {"tostring", default_delegate_tostring
, -1, ".b"},
70 {"rawget", container_rawget
, 2, "y"},
71 {"rawset", container_rawset
, 3, "y"},
72 {"instance", class_instance
, 1, "y"},
73 {"getbase", class_getbase
, 1, "y"},
74 {"getattributes", class_getattributes
, 2, "y."},
75 {"setattributes", class_setattributes
, 3, "y.."},
76 {"repr", default_delegate_repr
, 1, "."},
81 VXRegFunction
VXSharedState::_instance_default_delegate_funcz
[] =
83 {"weakref", obj_delegate_weakref
, 1, NULL
},
84 {"tostring", default_delegate_tostring
, -1, ".b"},
85 {"rawget", container_rawget
, 2, "x"},
86 {"rawset", container_rawset
, 3, "x"},
87 {"getclass", instance_getclass
, 1, "x"},
88 {"repr", default_delegate_repr
, 1, "."},