From b604b58223f5d45622eb9a75f4c541ff3a879efc Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Tue, 1 Sep 2020 08:23:03 +0200 Subject: [PATCH] [debugger][bindings] don't enter to recursion on type info calculation (KT-41291) KT-41291 --- llvmDebugInfoC/src/scripts/konan_lldb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvmDebugInfoC/src/scripts/konan_lldb.py b/llvmDebugInfoC/src/scripts/konan_lldb.py index 06c28178676..bcaad792294 100644 --- a/llvmDebugInfoC/src/scripts/konan_lldb.py +++ b/llvmDebugInfoC/src/scripts/konan_lldb.py @@ -79,7 +79,7 @@ def is_string_or_array(value): def type_info(value): """This method checks self-referencing of pointer of first member of TypeInfo including case when object has an meta-object pointed by TypeInfo. Two lower bits are reserved for memory management needs see runtime/src/main/cpp/Memory.h.""" - if str(value.type) != "struct ObjHeader *": + if value.GetTypeName() != "struct ObjHeader *": return False expr = "*(void **)((uintptr_t)(*(void**){0:#x}) & ~0x3) == **(void***)((uintptr_t)(*(void**){0:#x}) & ~0x3) ? *(void **)((uintptr_t)(*(void**){0:#x}) & ~0x3) : (void *)0".format(value.unsigned) result = evaluate(expr)