mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 20:42:21 +02:00
Initial checkin
This commit is contained in:
parent
c74712dad9
commit
078564ac9e
3242 changed files with 1616395 additions and 0 deletions
65
IDEHelper/Linker/BlPdbParser.h
Normal file
65
IDEHelper/Linker/BlPdbParser.h
Normal file
|
@ -0,0 +1,65 @@
|
|||
#pragma once
|
||||
|
||||
#include "../Beef/BfCommon.h"
|
||||
#include "BeefySysLib/FileStream.h"
|
||||
#include "BeefySysLib/util/BumpAllocator.h"
|
||||
#include "BeefySysLib/util/Hash.h"
|
||||
#include "../Compiler/BfUtil.h"
|
||||
#include <unordered_map>
|
||||
|
||||
NS_BF_BEGIN
|
||||
|
||||
struct BlCvStringTable
|
||||
{
|
||||
int mStream;
|
||||
int mStreamOffset;
|
||||
const char* mStrTable;
|
||||
|
||||
BlCvStringTable()
|
||||
{
|
||||
mStream = -1;
|
||||
mStreamOffset = 0;
|
||||
mStrTable = NULL;
|
||||
}
|
||||
};
|
||||
|
||||
class MappedFile;
|
||||
class BlCvTypeSource;
|
||||
|
||||
class BlPdbParser
|
||||
{
|
||||
public:
|
||||
String mFileName;
|
||||
MappedFile* mMappedFile;
|
||||
uint8* mData;
|
||||
int mCvPageSize;
|
||||
BlCvStringTable mStringTable;
|
||||
|
||||
std::vector<int32> mCvStreamSizes;
|
||||
std::vector<int32> mCvStreamPtrStartIdxs;
|
||||
std::vector<int32> mCvStreamPtrs;
|
||||
std::vector<int> mCvIPITagStartMap;
|
||||
|
||||
uint8* mCvHeaderData;
|
||||
uint8* mCvTypeSectionData;
|
||||
uint8* mCvIPIData;
|
||||
BlCvTypeSource* mTypeSource;
|
||||
|
||||
public:
|
||||
void Fail(const StringImpl& err);
|
||||
void NotImpl();
|
||||
|
||||
uint8* CvReadStream(int streamIdx, int* outSize = NULL);
|
||||
bool CvParseHeader();
|
||||
void ParseTypeData();
|
||||
void ParseIPIData();
|
||||
|
||||
public:
|
||||
BlPdbParser();
|
||||
~BlPdbParser();
|
||||
|
||||
bool Load(const StringImpl& fileName);
|
||||
bool ParseCv(uint8 * rootDirData);
|
||||
};
|
||||
|
||||
NS_BF_END
|
Loading…
Add table
Add a link
Reference in a new issue