Skip to content

Commit

Permalink
remove tagged pointer introspector that messed up everything
Browse files Browse the repository at this point in the history
  • Loading branch information
tito committed Mar 14, 2015
1 parent 4ba3f9c commit b0ecec6
Showing 1 changed file with 0 additions and 41 deletions.
41 changes: 0 additions & 41 deletions pyobjus/pyobjus_conversions.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -183,45 +183,6 @@ cdef convert_to_cy_cls_instance(id ret_id, main_cls_name=None):
return cret


# Tagged pointers
ctypedef enum:
kCFTaggedObjectID_Integer = (1 << 1) + 1

cdef is_tagged_pointer(void *_pointer):
cdef unsigned long long pointer = <unsigned long long>_pointer
return pointer & 0x1 == 0x1

cdef read_tagged_pointer(void *_pointer):
cdef unsigned long long pointer = <unsigned long long>_pointer
cdef unsigned char _cls = pointer & 0xf
cdef unsigned char _type

if _cls == kCFTaggedObjectID_Integer:
_type = (pointer >> 4) & 0xf
if _type == 0:
return <char>(pointer >> 8)
elif _type == 1:
return <short>(pointer >> 8)
elif _type == 2:
return <int>(pointer >> 8)
elif _type == 3:
return <int>(pointer >> 8)
elif _type == 4:
return <int>(pointer >> 8)

#elif _type == 5:
# return <unsigned float>(pointer >> 8)
#elif _type == 6:
# return <unsigned float>(pointer >> 8)
elif _type == 7:
return <unsigned char>(pointer >> 8)
elif _type == 8:
return <unsigned short>(pointer >> 8)

raise ObjcException('We got a tagged pointer, but we dont know how to read it: {}'.format(
<unsigned long long>pointer))


cdef object convert_cy_ret_to_py(id *f_result, sig, size_t size, members=None, objc_prop=False, main_cls_name=None):

cdef CGRect rect
Expand Down Expand Up @@ -275,8 +236,6 @@ cdef object convert_cy_ret_to_py(id *f_result, sig, size_t size, members=None, o
return None
# return type -> id
if sig == '@':
if is_tagged_pointer(f_result[0]):
return read_tagged_pointer(f_result[0])
return convert_to_cy_cls_instance(<id>f_result[0], main_cls_name)
# return type -> class
elif sig == '#':
Expand Down

0 comments on commit b0ecec6

Please sign in to comment.