def fn_instance(): a = ootype.new(A) obj = ootype.cast_to_object(a) a2 = ootype.cast_from_object(A, obj) a3 = ootype.cast_from_object(ootype.ROOT, obj) assert a is a2 assert a is a3
def fn_null(): a = ootype.null(A) b = ootype.null(B) obj1 = ootype.cast_to_object(a) obj2 = ootype.cast_to_object(b) assert obj1 == obj2 assert ootype.cast_from_object(A, obj1) == a assert ootype.cast_from_object(B, obj2) == b
def fn(flag): if flag: obj = obj1 else: obj = obj2 a3 = ootype.cast_from_object(A, obj) return a3 is a1
def fn_record(): b = ootype.new(B) b.x = 42 obj = ootype.cast_to_object(b) b2 = ootype.cast_from_object(B, obj) assert b2.x == 42 assert b is b2
def get_exception(self): exc_value = self.get_inputargs().get_exc_value() if exc_value: exc_obj = dotnet.cast_from_native_object(exc_value) exc_inst = ootype.cast_from_object(ootype.ROOT, exc_obj) cls = ootype.classof(exc_value) return ootype.cast_to_object(cls) return ootype.cast_to_object(ootype.nullruntimeclass)
def fn(): a = ootype.new(A) ahash = ootype.identityhash(a) obj = ootype.cast_to_object(a) native = cast_to_native_object(obj) name = native.GetType().get_Name() obj2 = cast_from_native_object(native) a2 = ootype.cast_from_object(A, obj2) a2hash = ootype.identityhash(a2) return name, ahash == a2hash
def getref(self, OBJ): return ootype.cast_from_object(OBJ, self.getref_base())
def _get_str(self): # for debugging only from pypy.rpython.annlowlevel import hlstr return hlstr(ootype.cast_from_object(ootype.String, self.value))
def op_cast_from_object(TYPE, obj): return ootype.cast_from_object(TYPE, obj)
def fn(): s1 = ootype.cast_from_object(ootype.String, obj) return s1
def cast_from_ref(self, TYPE, value): return ootype.cast_from_object(TYPE, value)
def cast_to_baseclass(self, value): return ootype.cast_from_object(ootype.ROOT, value)