/*
* Copyright (c) 1997-2024 Ross Cunniff
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef _OADLERR_H_INCLUDED
#define _OADLERR_H_INCLUDED
typedef enum {
/* Compile-time or run-time messages */
OADL_E_MEMORY = -16383, OADL_E_INTERNAL, OADL_E_LIBRARY,
OADL_E_INTERNAL_MSG, OADL_E_BADGC,
/* No error - returned from some functions */
OADL_E_NONE = 0,
/* Compile-time, run-time, possible as exceptions */
OADL_E_TYPECHECK = 1, OADL_E_RANGECHECK, OADL_E_ARG_COUNT,
OADL_E_ACCESS, OADL_E_ASSERT, OADL_E_STACK,
OADL_E_UNDEF_EXTERN, OADL_E_SHAPE, OADL_E_INTERRUPT,
OADL_E_FORMAT, OADL_E_UNBOUNDED, OADL_E_EOF,
OADL_E_REGEX, OADL_E_IO, OADL_E_NOMATCH,
OADL_E_BADEXCEPT, OADL_E_UNDEF_PROC, OADL_E_UNDEF_NAME,
OADL_E_REDEFINED, OADL_E_BAD_UTF8,
/* Place after all exceptions */
OADL_NEXT_EXCEPTION_NUM,
/* Compile-time only messages */
OADL_E_SYNTAX = -65535, OADL_E_BADCHAR, OADL_E_UNTERMINATED,
OADL_E_BADSTATE, OADL_E_BAD_BREAK, OADL_E_NOTDEFINED,
OADL_E_CONST_ASSIGN, OADL_E_BADFILE, OADL_E_BAD_CONTINUE,
OADL_E_BAD_ASSIGN, OADL_E_RBRAK_EXPECTED, OADL_E_EXTERN_CLASS,
OADL_E_RPAR_EXPECTED, OADL_E_LBRACE_EXPECTED, OADL_E_RBRACE_EXPECTED,
OADL_E_REDECLARED, OADL_E_NAME_EXPECTED, OADL_E_SEMI_EXPECTED,
OADL_E_NOT_CLASS, OADL_E_EQUALS_EXPECTED, OADL_E_BADCONST,
OADL_E_LPAR_EXPECTED, OADL_E_WHILE_EXPECTED, OADL_E_COLON_EXPECTED,
OADL_E_BAD_DEFAULT, OADL_E_FAR_JUMP, OADL_E_TOKLEN,
OADL_E_FORWARD, OADL_E_MULTI_INHERIT, OADL_E_CATCH_EXPECTED,
OADL_E_MACRO, OADL_E_BAD_PREPROC, OADL_E_RRR_EXPECTED,
OADL_E_BAD_FORALL, OADL_E_AMBIGUOUS, OADL_E_TYPE_EXPECTED,
OADL_E_NESTED_NAMESPACE, OADL_E_NAMESPACE_EXPECTED,OADL_E_BAD_NAMESPACE,
OADL_E_EOL_EXPECTED, OADL_E_BAD_ELIF, OADL_E_BAD_ENDIF,
OADL_E_BAD_ELSE, OADL_E_UNTERM_MACRO, OADL_E_UNTERM_IF,
OADL_E_BAD_ITERATOR, OADL_E_BAD_STACK_CALL, OADL_E_BAD_FOREACH,
OADL_E_BAD_LOOPBASE, OADL_E_BAD_ADDRESSOF, OADL_E_NAME_TOO_LONG,
OADL_E_PUBLIC_EXPECTED, OADL_E_BAD_DEF_PUB, OADL_E_SYS_ERASE,
OADL_E_UNDEF_MACRO, OADL_E_NOT_IN_NS, OADL_E_INT_EXPECTED,
/* Warnings */
OADL_E_IMPLICIT_PUB = -32767, OADL_E_IMPLICIT_PROC, OADL_E_LOCAL_REDECLARED,
OADL_E_WARN_REDECLARED, OADL_E_WARN_EMPTY_CASE,
} OadlErrCode;
#endif /* _OADLERR_H_INCLUDED */