#pragma once #include "stdafx.h" #include using std::unordered_map; class BaseMapper; enum class AddressType; class LabelManager { private: unordered_map _codeLabels; unordered_map _codeLabelReverseLookup; unordered_map _codeComments; shared_ptr _mapper; int32_t GetLabelAddress(uint16_t relativeAddr, bool checkRegisters); public: LabelManager(shared_ptr mapper); void SetLabel(uint32_t address, AddressType addressType, string label, string comment); int32_t GetLabelRelativeAddress(string label); string GetLabel(uint16_t relativeAddr, bool checkRegisters); string GetComment(uint16_t relativeAddr); };