@@ -44,6 +44,7 @@ StructureAnalyzer::StructureAnalyzer(BinaryViewRef bv)
4444 , m_reader(bv)
4545 , m_writer(bv)
4646 , m_isARM64(bv->GetDefaultArchitecture ()->GetName() == "aarch64")
47+ , m_taggedPointerType(Type::NamedType(m_bv, CustomTypes::TaggedPointer))
4748 , m_cfStringType(Type::NamedType(m_bv, CustomTypes::CFString))
4849 , m_methodListType(Type::NamedType(m_bv, CustomTypes::MethodList))
4950 , m_classDataType(Type::NamedType(m_bv, CustomTypes::ClassData))
@@ -139,8 +140,7 @@ SelectorRefRecord StructureAnalyzer::analyzeSelectorRef(uint64_t address)
139140
140141 LOG (" rawSelector=0x%llx, nameAddress=0x%llx" , rawSelector, nameAddress);
141142
142- m_bv->DefineDataVariable (address,
143- Type::PointerType (8 , Type::NamedType (m_bv, CustomTypes::Selector)));
143+ m_bv->DefineDataVariable (address, m_taggedPointerType);
144144 return { address, rawSelector, nameAddress };
145145}
146146
@@ -359,7 +359,7 @@ void StructureAnalyzer::runPrivate()
359359 const auto classListStart = classListSection->GetStart ();
360360 const auto classListEnd = classListStart + classListSection->GetLength ();
361361 for (auto address = classListStart; address < classListEnd; address += 8 ) {
362- m_bv->DefineDataVariable (address, Type::PointerType ( 8 , m_classType) );
362+ m_bv->DefineDataVariable (address, m_taggedPointerType );
363363
364364 seek (address);
365365 const auto classAddress = readTaggedPointer ();
0 commit comments