14 SourceLocation(
const char* pFile,
const char* pFunc, GblSize line, GblSize col):
15 GblSourceLocation{pFile, pFunc, line, col} {}
17 SourceLocation(
void) {
20 SourceLocation(
const GblSourceLocation& rhs) {
21 memcpy(
this, &rhs,
sizeof(GblSourceLocation));
24 const char* getFilePath(
void)
const {
return pFile; }
25 const char* getFileName(
void)
const {
return pFile; }
26 const char* getFunctionName(
void)
const {
return pFunc; }
27 GblSize getLineNumber(
void)
const {
return line; }
28 GblSize getColumn(
void)
const {
return column; }
30 bool isValid(
void)
const;
31 std::string toPrettyString(
void)
const;
76 GBL_API_STACK_FRAME_CONSTRUCT(
this, pObject, initialResult, entryLoc);
81
82
83
84
85
87 auto getSourceEntry(
void)
const ->
const SourceLocation& {
return *
static_cast<
const SourceLocation*>(&sourceEntry);}
88 auto getCallRecord(
void)
const ->
const CallRecord& {
return *
static_cast<
const CallRecord*>(&record); }
90 GblObject* getObject(
void)
const;
91 GblContext* getContext(
void)
const;
92 void* getHandleUd(
void)
const;
93 void* getContextUd(
void)
const;
95 bool isValid(
void)
const;
101inline CallRecord::CallRecord(Result result,
const char* pMessage, GblObject* pObject,
SourceLocation srcLoc)
noexcept {
102 GBL_CALL_RECORD_CONSTRUCT(
this, pObject, result.getCode(), srcLoc,
"%s", pMessage? pMessage : result.toString());