CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ShaderCompiler::ReportHandler Class Reference

#include <CeresEngine/Material/ShaderCompiler/Report/ReportHandler.hpp>

Public Member Functions

 ReportHandler (Log *log)
 
void warning (bool breakWithException, const String &msg, SourceCode *sourceCode=nullptr, const SourceArea &area=SourceArea::ignore)
 
void submitReport (bool breakWithException, const ReportTypes type, const String &typeName, const String &msg, SourceCode *sourceCode=nullptr, const SourceArea &area=SourceArea::ignore, const Vector< SourceArea > &secondaryAreas={})
 
bool hasErrors () const
 
void pushContextDesc (const String &contextDesc)
 
void popContextDesc ()
 

Static Public Member Functions

static void hintForNextReport (const String &hint)
 Appends a hint for the next upcomming report.
 

Private Member Functions

Report makeReport (const ReportTypes type, const String &msg, SourceCode *sourceCode, const SourceArea &area, const Vector< SourceArea > &secondaryAreas)
 

Private Attributes

LogmLog = nullptr
 
bool mHasErrors = false
 
Stack< StringmContextDescStack
 
Set< SourcePositionmErrorPositions
 
Set< SourcePositionmWarningPositions
 

Constructor & Destructor Documentation

◆ ReportHandler()

CeresEngine::ShaderCompiler::ReportHandler::ReportHandler ( Log log)

Member Function Documentation

◆ hasErrors()

bool CeresEngine::ShaderCompiler::ReportHandler::hasErrors ( ) const
inline

◆ hintForNextReport()

static void CeresEngine::ShaderCompiler::ReportHandler::hintForNextReport ( const String hint)
static

Appends a hint for the next upcomming report.

Implemented as static function to avoid passing lots of report data around the code.

◆ makeReport()

Report CeresEngine::ShaderCompiler::ReportHandler::makeReport ( const ReportTypes  type,
const String msg,
SourceCode sourceCode,
const SourceArea area,
const Vector< SourceArea > &  secondaryAreas 
)
private

◆ popContextDesc()

void CeresEngine::ShaderCompiler::ReportHandler::popContextDesc ( )

◆ pushContextDesc()

void CeresEngine::ShaderCompiler::ReportHandler::pushContextDesc ( const String contextDesc)

◆ submitReport()

void CeresEngine::ShaderCompiler::ReportHandler::submitReport ( bool  breakWithException,
const ReportTypes  type,
const String typeName,
const String msg,
SourceCode sourceCode = nullptr,
const SourceArea area = SourceArea::ignore,
const Vector< SourceArea > &  secondaryAreas = {} 
)

◆ warning()

void CeresEngine::ShaderCompiler::ReportHandler::warning ( bool  breakWithException,
const String msg,
SourceCode sourceCode = nullptr,
const SourceArea area = SourceArea::ignore 
)

Member Data Documentation

◆ mContextDescStack

Stack<String> CeresEngine::ShaderCompiler::ReportHandler::mContextDescStack
private

◆ mErrorPositions

Set<SourcePosition> CeresEngine::ShaderCompiler::ReportHandler::mErrorPositions
private

◆ mHasErrors

bool CeresEngine::ShaderCompiler::ReportHandler::mHasErrors = false
private

◆ mLog

Log* CeresEngine::ShaderCompiler::ReportHandler::mLog = nullptr
private

◆ mWarningPositions

Set<SourcePosition> CeresEngine::ShaderCompiler::ReportHandler::mWarningPositions
private

The documentation for this class was generated from the following file: