Aegisub/devel/vsfilter/include/virtualdub/ScriptError.h
Amar Takhar 792225317e SVN Transition Step 6/7
1. svn mv OverLua SSATool athenasub avisynth_prs kanamemo \
     motiontracker prs traydict unit_test vsfilter devel/

* See r2749 for full description.

Originally committed to SVN as r2755.
2009-03-08 08:31:54 +00:00

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