blueloveTH 1 년 전
부모
커밋
3fbbd9fb67
2개의 변경된 파일10개의 추가작업 그리고 4개의 파일을 삭제
  1. 0 0
      src/common/_generated.c
  2. 10 4
      src/public/py_object.c

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
src/common/_generated.c


+ 10 - 4
src/public/py_object.c

@@ -46,9 +46,9 @@ static bool object__repr__(int argc, py_Ref argv) {
 
 static bool object__dict__getter(int argc, py_Ref argv) {
     PY_CHECK_ARGC(1);
-    if(argv->is_ptr && argv->_obj->slots == -1){
+    if(argv->is_ptr && argv->_obj->slots == -1) {
         pk_mappingproxy__namedict(py_retval(), argv);
-    }else{
+    } else {
         py_newnone(py_retval());
     }
     return true;
@@ -74,9 +74,9 @@ static bool type__base__getter(int argc, py_Ref argv) {
     PY_CHECK_ARGC(1);
     py_Type type = py_totype(argv);
     py_TypeInfo* ti = c11__at(py_TypeInfo, &pk_current_vm->types, type);
-    if(ti->base){
+    if(ti->base) {
         py_assign(py_retval(), py_tpobject(ti->base));
-    }else{
+    } else {
         py_newnone(py_retval());
     }
     return true;
@@ -90,6 +90,11 @@ static bool type__name__getter(int argc, py_Ref argv) {
     return true;
 }
 
+static bool type__getitem__(int argc, py_Ref argv) {
+    py_assign(py_retval(), argv);
+    return true;
+}
+
 void pk_object__register() {
     // TODO: use staticmethod
     py_bindmagic(tp_object, __new__, object__new__);
@@ -102,6 +107,7 @@ void pk_object__register() {
 
     py_bindmagic(tp_type, __repr__, type__repr__);
     py_bindmagic(tp_type, __new__, type__new__);
+    py_bindmagic(tp_type, __getitem__, type__getitem__);
 
     py_bindproperty(tp_type, "__base__", type__base__getter, NULL);
     py_bindproperty(tp_type, "__name__", type__name__getter, NULL);

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.