1fb4f58ff2
Originally committed to SVN as r1399.
56 lines
1,016 B
C++
56 lines
1,016 B
C++
#ifndef f_SYLIA_SCRIPTERROR_H
|
|
#define f_SYLIA_SCRIPTERROR_H
|
|
|
|
class CScriptError {
|
|
public:
|
|
int err;
|
|
|
|
enum {
|
|
PARSE_ERROR=1,
|
|
SEMICOLON_EXPECTED,
|
|
IDENTIFIER_EXPECTED,
|
|
|
|
TYPE_INT_REQUIRED,
|
|
TYPE_ARRAY_REQUIRED,
|
|
TYPE_FUNCTION_REQUIRED,
|
|
TYPE_OBJECT_REQUIRED,
|
|
|
|
OBJECT_MEMBER_NAME_REQUIRED,
|
|
FUNCCALLEND_EXPECTED,
|
|
TOO_MANY_PARAMS,
|
|
DIVIDE_BY_ZERO,
|
|
VAR_NOT_FOUND,
|
|
MEMBER_NOT_FOUND,
|
|
OVERLOADED_FUNCTION_NOT_FOUND,
|
|
IDENT_TOO_LONG,
|
|
OPERATOR_EXPECTED,
|
|
CLOSEPARENS_EXPECTED,
|
|
CLOSEBRACKET_EXPECTED,
|
|
|
|
VAR_UNDEFINED,
|
|
|
|
OUT_OF_STRING_SPACE,
|
|
OUT_OF_MEMORY,
|
|
INTERNAL_ERROR,
|
|
EXTERNAL_ERROR,
|
|
|
|
FCALL_OUT_OF_RANGE,
|
|
FCALL_INVALID_PTYPE,
|
|
FCALL_UNKNOWN_STR,
|
|
};
|
|
|
|
CScriptError(int err_num) : err(err_num) { }
|
|
|
|
int getErr() { return err; }
|
|
};
|
|
|
|
#define SCRIPT_ERROR(x) throw CScriptError(CScriptError::##x)
|
|
|
|
extern "C" __declspec(dllexport) char * __stdcall TranslateScriptError(int);
|
|
|
|
char inline *TranslateScriptError(CScriptError cse) {
|
|
return TranslateScriptError(cse.getErr());
|
|
}
|
|
|
|
#endif
|