2014-06-30 14:34:58 +01:00
|
|
|
|
2016-09-21 20:41:23 +01:00
|
|
|
#ifndef YAPIE_HH
|
|
|
|
#define YAPIE_HH
|
2014-06-30 14:34:58 +01:00
|
|
|
|
2016-09-21 20:41:23 +01:00
|
|
|
class YAPPPredicate;
|
|
|
|
class YAPTerm;
|
|
|
|
|
|
|
|
/// take information on a Prolog error:
|
2014-06-30 14:34:58 +01:00
|
|
|
class YAPError {
|
2016-09-23 03:53:42 +01:00
|
|
|
std::string name, errorClass, info;
|
|
|
|
int swigcode;
|
2016-09-21 20:41:23 +01:00
|
|
|
|
2014-06-30 14:34:58 +01:00
|
|
|
public:
|
2016-09-21 20:41:23 +01:00
|
|
|
/// error handling when receiving the error term
|
|
|
|
YAPError(){};
|
|
|
|
/// we just know the error number
|
|
|
|
/// exact error ID
|
2016-10-20 04:44:59 +01:00
|
|
|
yap_error_number getID() { return LOCAL_ActiveError->errorNo; };
|
2016-09-21 20:41:23 +01:00
|
|
|
/// class of error
|
|
|
|
yap_error_class_number getErrorClass() {
|
2016-10-20 04:44:59 +01:00
|
|
|
return Yap_errorClass(LOCAL_ActiveError->errorNo);
|
2016-09-21 20:41:23 +01:00
|
|
|
};
|
|
|
|
/// where in the code things happened;
|
2016-10-20 04:44:59 +01:00
|
|
|
const char *getFile() { return LOCAL_ActiveError->errorFile; };
|
2016-09-21 20:41:23 +01:00
|
|
|
/// predicate things happened;
|
2016-10-20 04:44:59 +01:00
|
|
|
Int getLine() { return LOCAL_ActiveError->errorLine; };
|
2016-09-21 20:41:23 +01:00
|
|
|
/// the term that caused the bug
|
2016-10-20 04:44:59 +01:00
|
|
|
// YAPTerm getCulprit(LOCAL_ActiveError->errorFile){};
|
2016-09-21 20:41:23 +01:00
|
|
|
/// text describing the Error
|
2015-07-06 12:01:55 +01:00
|
|
|
const char *text();
|
2014-07-10 15:07:55 +01:00
|
|
|
};
|
2014-06-30 14:34:58 +01:00
|
|
|
|
2016-09-21 20:41:23 +01:00
|
|
|
#endif
|