mirror of
https://github.com/cemu-project/Cemu.git
synced 2026-05-12 15:59:38 -06:00
GfxPack: Log line number for errors caused by malformed expressions
This commit is contained in:
parent
c080b7385e
commit
15ceda1233
@ -59,6 +59,8 @@ public:
|
||||
PatchEntry() {};
|
||||
virtual ~PatchEntry() {};
|
||||
|
||||
virtual sint32 getLineNumber() { return -1; }
|
||||
|
||||
// apply relocation or evaluate any expressions for this entry
|
||||
virtual PATCH_RESOLVE_RESULT resolve(PatchContext_t& ctx) = 0;
|
||||
};
|
||||
@ -74,7 +76,7 @@ public:
|
||||
m_expressionString.assign(expressionStr, expressionLen);
|
||||
}
|
||||
|
||||
sint32 getLineNumber() { return m_lineNumber; }
|
||||
sint32 getLineNumber() override { return m_lineNumber; }
|
||||
|
||||
PATCH_RESOLVE_RESULT resolve(PatchContext_t& ctx) override;
|
||||
|
||||
@ -109,7 +111,7 @@ public:
|
||||
m_expressionString.assign(expressionStr, expressionLen);
|
||||
}
|
||||
|
||||
sint32 getLineNumber() { return m_lineNumber; }
|
||||
sint32 getLineNumber() override { return m_lineNumber; }
|
||||
|
||||
PATCH_RESOLVE_RESULT resolve(PatchContext_t& ctx) override;
|
||||
|
||||
@ -134,7 +136,7 @@ public:
|
||||
m_symbolName.assign(symbolName, symbolNameLen);
|
||||
}
|
||||
|
||||
sint32 getLineNumber() { return m_lineNumber; }
|
||||
sint32 getLineNumber() override { return m_lineNumber; }
|
||||
|
||||
PATCH_RESOLVE_RESULT resolve(PatchContext_t& ctx) override;
|
||||
|
||||
@ -179,6 +181,8 @@ public:
|
||||
delete[] m_dataBackup;
|
||||
}
|
||||
|
||||
sint32 getLineNumber() override { return m_lineNumber; }
|
||||
|
||||
uint32 getAddr() const
|
||||
{
|
||||
return m_addr;
|
||||
|
||||
@ -606,7 +606,8 @@ bool _resolverPass(PatchContext_t& patchContext, std::vector<UnresolvedPatches_t
|
||||
else
|
||||
{
|
||||
// unknown error
|
||||
patchContext.errorHandler.printError(resolverState.currentGroup, -1, "Internal error");
|
||||
sint32 lineNumber = (*it)->getLineNumber();
|
||||
patchContext.errorHandler.printError(resolverState.currentGroup, lineNumber, "Unable to parse expression or other internal error");
|
||||
it++;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user