2021-03-26 01:21:53 +00:00
|
|
|
#ifndef __TRACYSOURCECONTENTS_HPP__
|
|
|
|
#define __TRACYSOURCECONTENTS_HPP__
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2021-05-19 20:34:15 +00:00
|
|
|
#include <stddef.h>
|
2021-03-26 01:21:53 +00:00
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include "TracySourceTokenizer.hpp"
|
|
|
|
|
|
|
|
namespace tracy
|
|
|
|
{
|
|
|
|
|
|
|
|
class View;
|
|
|
|
class Worker;
|
|
|
|
|
|
|
|
class SourceContents
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SourceContents();
|
|
|
|
~SourceContents();
|
|
|
|
|
|
|
|
void Parse( const char* fileName, const Worker& worker, const View& view );
|
|
|
|
|
|
|
|
const std::vector<Tokenizer::Line>& get() const { return m_lines; }
|
|
|
|
bool empty() const { return m_lines.empty(); }
|
|
|
|
|
|
|
|
const char* filename() const { return m_file; }
|
|
|
|
uint32_t idx() const { return m_fileStringIdx; }
|
|
|
|
bool is_cached() const { return m_data != m_dataBuf; }
|
|
|
|
|
|
|
|
private:
|
|
|
|
const char* m_file;
|
|
|
|
uint32_t m_fileStringIdx;
|
|
|
|
|
|
|
|
const char* m_data;
|
|
|
|
char* m_dataBuf;
|
|
|
|
size_t m_dataSize;
|
|
|
|
|
|
|
|
std::vector<Tokenizer::Line> m_lines;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|