Files
ft/Client/HybridCLRData/LocalIl2CppData-OSXEditor/il2cpp/libil2cpp/hybridclr/metadata/ConsistentAOTHomologousImage.h
2026-06-29 21:18:33 +08:00

37 lines
1.1 KiB
C++

#pragma once
#include "AOTHomologousImage.h"
namespace hybridclr
{
namespace metadata
{
class ConsistentAOTHomologousImage : public AOTHomologousImage
{
public:
ConsistentAOTHomologousImage() : AOTHomologousImage() {}
void InitRuntimeMetadatas() override;
void InitTypes();
void InitMethods();
void InitFields();
MethodBody* GetMethodBody(uint32_t token) override;
const Il2CppType* GetIl2CppTypeFromRawTypeDefIndex(uint32_t index) override;
Il2CppGenericContainer* GetGenericContainerByRawIndex(uint32_t index) override;
Il2CppGenericContainer* GetGenericContainerByTypeDefRawIndex(int32_t typeDefIndex) override;
const Il2CppMethodDefinition* GetMethodDefinitionFromRawIndex(uint32_t index) override;
void ReadFieldRefInfoFromFieldDefToken(uint32_t rowIndex, FieldRefInfo& ret) override;
private:
std::vector<const Il2CppType*> _il2cppTypeForTypeDefs;
std::vector<Il2CppTypeDefinition*> _typeDefs;
Il2CppHashMap<uint32_t, MethodBody*, il2cpp::utils::PassThroughHash<uint32_t>> _token2MethodBodies;
std::vector< const Il2CppMethodDefinition*> _methodDefs;
std::vector<AOTFieldData> _fields;
};
}
}