Qore Programming Language  0.9.16
QoreStackLocation Class Referenceabstract

Stack location element abstract class. More...

#include <ExceptionSink.h>

Inheritance diagram for QoreStackLocation:
Collaboration diagram for QoreStackLocation:

Public Member Methods

DLLLOCAL QoreStackLocation ()
 constructor
 
DLLLOCAL QoreStackLocation (const QoreStackLocation &)=default
 copy ctor
 
DLLLOCAL QoreStackLocation (QoreStackLocation &&)=default
 move ctor
 
virtual DLLLOCAL ~QoreStackLocation ()=default
 virtual destructor
 
virtual const DLLLOCAL std::string & getCallName () const =0
 returns the name of the function or method call
 
virtual DLLLOCAL qore_call_t getCallType () const =0
 returns the call type
 
virtual const DLLLOCAL QoreProgramLocation & getLocation () const =0
 returns the source location of the element
 
virtual const DLLLOCAL QoreStackLocationgetNext () const
 returns the next location in the stack or nullptr if there is none
 
virtual DLLLOCAL QoreProgramgetProgram () const =0
 returns the QoreProgram container
 
virtual const DLLLOCAL AbstractStatement * getStatement () const =0
 returns the statement for the call for internal Qore code
 
DLLLOCAL QoreStackLocationoperator= (const QoreStackLocation &)=default
 default assignment operator
 
DLLLOCAL QoreStackLocationoperator= (QoreStackLocation &&)=default
 default move assignment operator
 
DLLLOCAL void setNext (const QoreStackLocation *next)
 called when pushed on the stack to set the next location More...
 

Detailed Description

Stack location element abstract class.

Since
Qore 0.9

Member Function Documentation

◆ setNext()

DLLLOCAL void QoreStackLocation::setNext ( const QoreStackLocation next)
inline

called when pushed on the stack to set the next location

Parameters
nexta pointer to the existing next stack element that must exist and must stay on the stack while this object exists or nullptr in case this is the first element on the stack
Note
it is an error and will cause a segfault if the next object is destroyed before this object is destroyed. Under no circumstances, and under the very real threat of at least 700 lashings with a wet noodle, should the next object be deleted before this object.

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