diff options
Diffstat (limited to 'indra/lscript/lscript_compile/lscript_error.h')
-rwxr-xr-x | indra/lscript/lscript_compile/lscript_error.h | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/indra/lscript/lscript_compile/lscript_error.h b/indra/lscript/lscript_compile/lscript_error.h deleted file mode 100755 index 43fb968a40..0000000000 --- a/indra/lscript/lscript_compile/lscript_error.h +++ /dev/null @@ -1,152 +0,0 @@ -/** - * @file lscript_error.h - * @brief error reporting class and strings - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LSCRIPT_ERROR_H -#define LL_LSCRIPT_ERROR_H - -#include "lscript_scope.h" - -typedef enum e_lscript_compile_pass -{ - LSCP_INVALID, - LSCP_PRETTY_PRINT, - LSCP_PRUNE, - LSCP_SCOPE_PASS1, - LSCP_SCOPE_PASS2, - LSCP_TYPE, - LSCP_RESOURCE, - LSCP_EMIT_ASSEMBLY, - LSCP_EMIT_BYTE_CODE, - LSCP_DETERMINE_HANDLERS, - LSCP_LIST_BUILD_SIMPLE, - LSCP_TO_STACK, - LSCP_BUILD_FUNCTION_ARGS, - LSCP_EMIT_CIL_ASSEMBLY, - LSCP_EOF -} LSCRIPTCompilePass; - -typedef enum e_lscript_prune_type -{ - LSPRUNE_INVALID, - LSPRUNE_GLOBAL_VOIDS, - LSPRUNE_GLOBAL_NON_VOIDS, - LSPRUNE_EVENTS, - LSPRUNE_DEAD_CODE, - LSPRUNE_EOF -} LSCRIPTPruneType; - -extern S32 gColumn; -extern S32 gLine; -extern S32 gInternalColumn; -extern S32 gInternalLine; - - -// used to describe where in the file this piece is -class LLScriptByteCodeChunk; - -class LLScriptLibData; - -class LLScriptFilePosition -{ -public: - LLScriptFilePosition(S32 line, S32 col) - : mLineNumber(line), mColumnNumber(col), mByteOffset(0), mByteSize(0) - { - } - - virtual ~LLScriptFilePosition() {} - - virtual void recurse(LLFILE *fp, S32 tabs, S32 tabsize, - LSCRIPTCompilePass pass, LSCRIPTPruneType ptype, BOOL &prunearg, - LLScriptScope *scope, LSCRIPTType &type, LSCRIPTType basetype, U64 &count, - LLScriptByteCodeChunk *chunk, LLScriptByteCodeChunk *heap, S32 stacksize, LLScriptScopeEntry *entry, S32 entrycount, LLScriptLibData **ldata) = 0; - virtual S32 getSize() = 0; - - void fdotabs(LLFILE *fp, S32 tabs, S32 tabsize); - - S32 mLineNumber; - S32 mColumnNumber; - - S32 mByteOffset; - S32 mByteSize; -}; - -typedef enum e_lscript_warnings -{ - LSWARN_INVALID, - LSWARN_DEAD_CODE, - LSWARN_EOF -} LSCRIPTWarnings; - -typedef enum e_lscript_errors -{ - LSERROR_INVALID, - LSERROR_SYNTAX_ERROR, - LSERROR_NO_RETURN, - LSERROR_INVALID_VOID_RETURN, - LSERROR_INVALID_RETURN, - LSERROR_STATE_CHANGE_IN_GLOBAL, - LSERROR_DUPLICATE_NAME, - LSERROR_UNDEFINED_NAME, - LSERROR_TYPE_MISMATCH, - LSERROR_EXPRESSION_ON_LVALUE, - LSERROR_ASSEMBLE_OUT_OF_MEMORY, - LSERROR_FUNCTION_TYPE_ERROR, - LSERROR_VECTOR_METHOD_ERROR, - LSERROR_NO_LISTS_IN_LISTS, - LSERROR_NO_UNITIALIZED_VARIABLES_IN_LISTS, - LSERROR_NEED_NEW_SCOPE, - LSERROR_CIL_ASSEMBLER_FAILED = 16, // Mono build error. - LSERROR_BYTECODE_TRANSFORM_FAILED = 17, // Mono build error. - LSERROR_BYTECODE_VERIFICATION_FAILED, // Mono build error. - LSERROR_EOF -} LSCRIPTErrors; - -class LLScriptGenerateErrorText -{ -public: - LLScriptGenerateErrorText() { init(); } - ~LLScriptGenerateErrorText() {} - - void init() { mTotalErrors = 0; mTotalWarnings = 0; } - - void writeWarning(LLFILE *fp, LLScriptFilePosition *pos, LSCRIPTWarnings warning); - void writeWarning(LLFILE *fp, S32 line, S32 col, LSCRIPTWarnings warning); - void writeError(LLFILE *fp, LLScriptFilePosition *pos, LSCRIPTErrors error); - void writeError(LLFILE *fp, S32 line, S32 col, LSCRIPTErrors error); - - BOOL getErrors() { return mTotalErrors; } - BOOL getWarnings() { return mTotalWarnings; } - - S32 mTotalErrors; - S32 mTotalWarnings; -}; - -std::string getLScriptErrorString(LSCRIPTErrors error); - -extern LLScriptGenerateErrorText gErrorToText; - -#endif |